From b191d0ca2db370343c2629223ef89cc4a55971f5 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Mon, 22 Jun 2026 06:19:30 +0000 Subject: [PATCH 1/2] =?UTF-8?q?##=20Python=20SDK=20Changes:=20*=20`cribl?= =?UTF-8?q?=5Fcontrol=5Fplane.packs.update()`:=20=20`request.minor`=20**Ch?= =?UTF-8?q?anged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`cribl=5Fcontro?= =?UTF-8?q?l=5Fplane.packs.destinations.update()`:=20=20=20*=20=20`request?= =?UTF-8?q?.output`=20**Changed**=20=20=20*=20=20`response.items[]`=20**Ch?= =?UTF-8?q?anged**=20=20=20*=20=20`error.status[404]`=20**Added**=20*=20`c?= =?UTF-8?q?ribl=5Fcontrol=5Fplane.packs.destinations.delete()`:=20=20=20*?= =?UTF-8?q?=20=20`response.items[]`=20**Changed**=20=20=20*=20=20`error`?= =?UTF-8?q?=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.health.get()`:=20?= =?UTF-8?q?=20=20*=20=20`response.overlay`=20**Added**=20=20=20*=20=20`err?= =?UTF-8?q?or.overlay`=20**Added**=20*=20`cribl=5Fcontrol=5Fplane.function?= =?UTF-8?q?s.list()`:=20=20`request.show=5Fhidden`=20**Added**=20*=20`crib?= =?UTF-8?q?l=5Fcontrol=5Fplane.packs.routes.update()`:=20=20`error.status[?= =?UTF-8?q?404]`=20**Added**=20*=20`cribl=5Fcontrol=5Fplane.packs.routes.a?= =?UTF-8?q?ppend()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcontrol=5Fp?= =?UTF-8?q?lane.packs.destinations.list()`:=20=20=20*=20=20`request.type`?= =?UTF-8?q?=20**Changed**=20=20=20*=20=20`response.items[]`=20**Changed**?= =?UTF-8?q?=20*=20`cribl=5Fcontrol=5Fplane.packs.destinations.create()`:?= =?UTF-8?q?=20=20=20*=20=20`request=5Fbody`=20**Changed**=20=20=20*=20=20`?= =?UTF-8?q?response.items[]`=20**Changed**=20=20=20*=20=20`error.status[40?= =?UTF-8?q?9]`=20**Added**=20*=20`cribl=5Fcontrol=5Fplane.database=5Fconne?= =?UTF-8?q?ctions.delete()`:=20=20`error.status[409]`=20**Added**=20*=20`c?= =?UTF-8?q?ribl=5Fcontrol=5Fplane.packs.destinations.get()`:=20=20`respons?= =?UTF-8?q?e.items[]`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.packs.r?= =?UTF-8?q?outes.get()`:=20=20`error.status[404]`=20**Added**=20*=20`cribl?= =?UTF-8?q?=5Fcontrol=5Fplane.routes.get()`:=20=20`error.status[404]`=20**?= =?UTF-8?q?Added**=20*=20`cribl=5Fcontrol=5Fplane.routes.update()`:=20=20`?= =?UTF-8?q?error.status[404]`=20**Added**=20*=20`cribl=5Fcontrol=5Fplane.r?= =?UTF-8?q?outes.append()`:=20=20`error`=20**Changed**=20*=20`cribl=5Fcont?= =?UTF-8?q?rol=5Fplane.destinations.list()`:=20=20=20*=20=20`request.type`?= =?UTF-8?q?=20**Changed**=20=20=20*=20=20`response.items[]`=20**Changed**?= =?UTF-8?q?=20*=20`cribl=5Fcontrol=5Fplane.destinations.create()`:=20=20?= =?UTF-8?q?=20*=20=20`request`=20**Changed**=20=20=20*=20=20`response.item?= =?UTF-8?q?s[]`=20**Changed**=20=20=20*=20=20`error.status[409]`=20**Added?= =?UTF-8?q?**=20*=20`cribl=5Fcontrol=5Fplane.destinations.get()`:=20=20`re?= =?UTF-8?q?sponse.items[]`=20**Changed**=20*=20`cribl=5Fcontrol=5Fplane.de?= =?UTF-8?q?stinations.update()`:=20=20=20*=20=20`request.output`=20**Chang?= =?UTF-8?q?ed**=20=20=20*=20=20`response.items[]`=20**Changed**=20=20=20*?= =?UTF-8?q?=20=20`error.status[404]`=20**Added**=20*=20`cribl=5Fcontrol=5F?= =?UTF-8?q?plane.destinations.delete()`:=20=20=20*=20=20`response.items[]`?= =?UTF-8?q?=20**Changed**=20=20=20*=20=20`error`=20**Changed**?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .speakeasy/gen.lock | 5686 ++--- .speakeasy/gen.yaml | 4 +- .speakeasy/out.openapi.yaml | 3766 +++- .speakeasy/workflow.lock | 16 +- README-PYPI.md | 4 +- README.md | 4 +- RELEASES.md | 12 +- docs/errors/healthserverstatuserror.md | 1 + docs/models/activehealthoverlaystatus.md | 10 + docs/models/connectionconfinputcollection.md | 8 +- docs/models/createinputauthtokensplunkhec.md | 2 +- .../createinputinputanthropiccompliance.md | 4 +- .../createinputinputappleunifiedlogs.md | 4 +- docs/models/createinputinputappscope.md | 4 +- docs/models/createinputinputazureblob.md | 4 +- docs/models/createinputinputcloudflarehec.md | 6 +- docs/models/createinputinputcollection.md | 2 +- docs/models/createinputinputconfluentcloud.md | 4 +- docs/models/createinputinputcribl.md | 4 +- docs/models/createinputinputcriblhttp.md | 6 +- docs/models/createinputinputcribllakehttp.md | 6 +- docs/models/createinputinputcriblmetrics.md | 4 +- docs/models/createinputinputcribltcp.md | 4 +- docs/models/createinputinputcrowdstrike.md | 4 +- docs/models/createinputinputdatadogagent.md | 6 +- docs/models/createinputinputdatagen.md | 4 +- docs/models/createinputinputedgeprometheus.md | 4 +- docs/models/createinputinputelastic.md | 6 +- docs/models/createinputinputeventhub.md | 4 +- docs/models/createinputinputeventhubamqp.md | 4 +- docs/models/createinputinputexec.md | 2 +- docs/models/createinputinputfile.md | 4 +- docs/models/createinputinputfirehose.md | 6 +- docs/models/createinputinputgooglepubsub.md | 4 +- .../models/createinputinputgrafanagrafana1.md | 6 +- .../models/createinputinputgrafanagrafana2.md | 6 +- docs/models/createinputinputgrafanatype1.md | 2 + docs/models/createinputinputgrafanatype2.md | 2 + docs/models/createinputinputhttp.md | 6 +- docs/models/createinputinputhttpraw.md | 6 +- docs/models/createinputinputjournalfiles.md | 4 +- docs/models/createinputinputkafka.md | 4 +- docs/models/createinputinputkinesis.md | 4 +- docs/models/createinputinputkubeevents.md | 4 +- docs/models/createinputinputkubelogs.md | 4 +- docs/models/createinputinputkubemetrics.md | 4 +- docs/models/createinputinputloki.md | 6 +- docs/models/createinputinputmetrics.md | 4 +- docs/models/createinputinputmicrosoftgraph.md | 4 +- .../createinputinputmodeldriventelemetry.md | 4 +- docs/models/createinputinputmsk.md | 4 +- docs/models/createinputinputnetflow.md | 4 +- docs/models/createinputinputoffice365mgmt.md | 4 +- .../createinputinputoffice365msgtrace.md | 4 +- .../createinputinputoffice365service.md | 4 +- docs/models/createinputinputokta.md | 4 +- docs/models/createinputinputopenai.md | 4 +- .../createinputinputopenaicompliancelogs.md | 4 +- docs/models/createinputinputopentelemetry.md | 6 +- docs/models/createinputinputprometheus.md | 4 +- docs/models/createinputinputprometheusrw.md | 6 +- docs/models/createinputinputrawudp.md | 4 +- docs/models/createinputinputs3.md | 4 +- docs/models/createinputinputs3inventory.md | 4 +- docs/models/createinputinputsecuritylake.md | 4 +- .../models/createinputinputservicenowtable.md | 4 +- docs/models/createinputinputsnmp.md | 4 +- docs/models/createinputinputsplunk.md | 4 +- docs/models/createinputinputsplunkhec.md | 6 +- docs/models/createinputinputsplunksearch.md | 4 +- docs/models/createinputinputsqs.md | 4 +- docs/models/createinputinputsysdighec.md | 6 +- docs/models/createinputinputsyslogsyslog1.md | 4 +- docs/models/createinputinputsyslogsyslog2.md | 4 +- docs/models/createinputinputsystemmetrics.md | 4 +- docs/models/createinputinputsystemstate.md | 4 +- docs/models/createinputinputtcp.md | 4 +- docs/models/createinputinputtcpjson.md | 4 +- docs/models/createinputinputwef.md | 4 +- docs/models/createinputinputwindowsmetrics.md | 4 +- docs/models/createinputinputwineventlogs.md | 4 +- docs/models/createinputinputwiz.md | 4 +- docs/models/createinputinputwizwebhook.md | 6 +- docs/models/createinputinputzscalerhec.md | 6 +- ...eateinputsystembypackauthtokensplunkhec.md | 2 +- ...putsystembypackinputanthropiccompliance.md | 4 +- ...einputsystembypackinputappleunifiedlogs.md | 4 +- .../createinputsystembypackinputappscope.md | 4 +- .../createinputsystembypackinputazureblob.md | 4 +- ...eateinputsystembypackinputcloudflarehec.md | 6 +- .../createinputsystembypackinputcollection.md | 2 +- ...ateinputsystembypackinputconfluentcloud.md | 4 +- .../createinputsystembypackinputcribl.md | 4 +- .../createinputsystembypackinputcriblhttp.md | 6 +- ...eateinputsystembypackinputcribllakehttp.md | 6 +- ...reateinputsystembypackinputcriblmetrics.md | 4 +- .../createinputsystembypackinputcribltcp.md | 4 +- ...createinputsystembypackinputcrowdstrike.md | 4 +- ...reateinputsystembypackinputdatadogagent.md | 6 +- .../createinputsystembypackinputdatagen.md | 4 +- ...ateinputsystembypackinputedgeprometheus.md | 4 +- .../createinputsystembypackinputelastic.md | 6 +- .../createinputsystembypackinputeventhub.md | 4 +- ...reateinputsystembypackinputeventhubamqp.md | 4 +- .../createinputsystembypackinputexec.md | 2 +- .../createinputsystembypackinputfile.md | 4 +- .../createinputsystembypackinputfirehose.md | 6 +- ...reateinputsystembypackinputgooglepubsub.md | 4 +- ...teinputsystembypackinputgrafanagrafana1.md | 6 +- ...teinputsystembypackinputgrafanagrafana2.md | 6 +- ...reateinputsystembypackinputgrafanatype1.md | 2 + ...reateinputsystembypackinputgrafanatype2.md | 2 + .../createinputsystembypackinputhttp.md | 6 +- .../createinputsystembypackinputhttpraw.md | 6 +- ...reateinputsystembypackinputjournalfiles.md | 4 +- .../createinputsystembypackinputkafka.md | 4 +- .../createinputsystembypackinputkinesis.md | 4 +- .../createinputsystembypackinputkubeevents.md | 4 +- .../createinputsystembypackinputkubelogs.md | 4 +- ...createinputsystembypackinputkubemetrics.md | 4 +- .../createinputsystembypackinputloki.md | 6 +- .../createinputsystembypackinputmetrics.md | 4 +- ...ateinputsystembypackinputmicrosoftgraph.md | 4 +- ...utsystembypackinputmodeldriventelemetry.md | 4 +- .../models/createinputsystembypackinputmsk.md | 4 +- .../createinputsystembypackinputnetflow.md | 4 +- ...eateinputsystembypackinputoffice365mgmt.md | 4 +- ...inputsystembypackinputoffice365msgtrace.md | 4 +- ...einputsystembypackinputoffice365service.md | 4 +- .../createinputsystembypackinputokta.md | 4 +- .../createinputsystembypackinputopenai.md | 4 +- ...utsystembypackinputopenaicompliancelogs.md | 4 +- ...eateinputsystembypackinputopentelemetry.md | 6 +- .../createinputsystembypackinputprometheus.md | 4 +- ...reateinputsystembypackinputprometheusrw.md | 6 +- .../createinputsystembypackinputrawudp.md | 4 +- docs/models/createinputsystembypackinputs3.md | 4 +- ...createinputsystembypackinputs3inventory.md | 4 +- ...reateinputsystembypackinputsecuritylake.md | 4 +- ...teinputsystembypackinputservicenowtable.md | 4 +- .../createinputsystembypackinputsnmp.md | 4 +- .../createinputsystembypackinputsplunk.md | 4 +- .../createinputsystembypackinputsplunkhec.md | 6 +- ...reateinputsystembypackinputsplunksearch.md | 4 +- .../models/createinputsystembypackinputsqs.md | 4 +- .../createinputsystembypackinputsysdighec.md | 6 +- ...eateinputsystembypackinputsyslogsyslog1.md | 4 +- ...eateinputsystembypackinputsyslogsyslog2.md | 4 +- ...eateinputsystembypackinputsystemmetrics.md | 4 +- ...createinputsystembypackinputsystemstate.md | 4 +- .../models/createinputsystembypackinputtcp.md | 4 +- .../createinputsystembypackinputtcpjson.md | 4 +- .../models/createinputsystembypackinputwef.md | 4 +- ...ateinputsystembypackinputwindowsmetrics.md | 4 +- ...reateinputsystembypackinputwineventlogs.md | 4 +- .../models/createinputsystembypackinputwiz.md | 4 +- .../createinputsystembypackinputwizwebhook.md | 6 +- .../createinputsystembypackinputzscalerhec.md | 6 +- ...reateinputsystembypacktypecloudflarehec.md | 2 + .../createinputsystembypacktypecriblhttp.md | 2 + ...reateinputsystembypacktypecribllakehttp.md | 2 + ...createinputsystembypacktypedatadogagent.md | 2 + .../createinputsystembypacktypeelastic.md | 2 + .../createinputsystembypacktypefirehose.md | 2 + .../models/createinputsystembypacktypehttp.md | 2 + .../createinputsystembypacktypehttpraw.md | 2 + .../models/createinputsystembypacktypeloki.md | 2 + ...reateinputsystembypacktypeopentelemetry.md | 2 + ...createinputsystembypacktypeprometheusrw.md | 2 + .../createinputsystembypacktypesplunkhec.md | 2 + .../createinputsystembypacktypesysdighec.md | 2 + .../createinputsystembypacktypewizwebhook.md | 2 + .../createinputsystembypacktypezscalerhec.md | 2 + docs/models/createinputtypecloudflarehec.md | 2 + docs/models/createinputtypecriblhttp.md | 2 + docs/models/createinputtypecribllakehttp.md | 2 + docs/models/createinputtypedatadogagent.md | 2 + docs/models/createinputtypeelastic.md | 2 + docs/models/createinputtypefirehose.md | 2 + docs/models/createinputtypehttp.md | 2 + docs/models/createinputtypehttpraw.md | 2 + docs/models/createinputtypeloki.md | 2 + docs/models/createinputtypeopentelemetry.md | 2 + docs/models/createinputtypeprometheusrw.md | 2 + docs/models/createinputtypesplunkhec.md | 2 + docs/models/createinputtypesysdighec.md | 2 + docs/models/createinputtypewizwebhook.md | 2 + docs/models/createinputtypezscalerhec.md | 2 + ...utputauthenticationmethodalibabaclouds3.md | 21 + .../createoutputoutputalibabaclouds3.md | 4 +- docs/models/createoutputoutputalphasocs3.md | 2 +- docs/models/createoutputoutputazureblob.md | 2 +- .../createoutputoutputazuredataexplorer.md | 2 +- .../models/createoutputoutputazureeventhub.md | 2 +- docs/models/createoutputoutputazurelogs.md | 2 +- docs/models/createoutputoutputchronicle.md | 2 +- docs/models/createoutputoutputclickhouse.md | 2 +- docs/models/createoutputoutputcloudflarer2.md | 2 +- docs/models/createoutputoutputcloudians3.md | 2 +- docs/models/createoutputoutputcloudwatch.md | 2 +- .../createoutputoutputconfluentcloud.md | 2 +- docs/models/createoutputoutputcriblhttp.md | 2 +- docs/models/createoutputoutputcribllake.md | 2 +- .../createoutputoutputcriblsearchengine.md | 2 +- docs/models/createoutputoutputcribltcp.md | 2 +- ...reateoutputoutputcrowdstrikenextgensiem.md | 2 +- ...reateoutputoutputcustomermetricsstorage.md | 2 +- docs/models/createoutputoutputdatabricks.md | 2 +- docs/models/createoutputoutputdatadog.md | 2 +- docs/models/createoutputoutputdataset.md | 2 +- docs/models/createoutputoutputdells3.md | 2 +- docs/models/createoutputoutputdiskspool.md | 2 +- docs/models/createoutputoutputdls3.md | 2 +- .../models/createoutputoutputdynatracehttp.md | 2 +- .../models/createoutputoutputdynatraceotlp.md | 2 +- docs/models/createoutputoutputelastic.md | 2 +- docs/models/createoutputoutputelasticcloud.md | 2 +- docs/models/createoutputoutputexabeam.md | 2 +- docs/models/createoutputoutputfilesystem.md | 2 +- .../createoutputoutputgooglechronicle.md | 2 +- .../createoutputoutputgooglecloudlogging.md | 2 +- ...ateoutputoutputgooglecloudobservability.md | 4 +- .../createoutputoutputgooglecloudstorage.md | 2 +- docs/models/createoutputoutputgooglepubsub.md | 2 +- ...teoutputoutputgrafanacloudgrafanacloud1.md | 2 +- ...teoutputoutputgrafanacloudgrafanacloud2.md | 2 +- docs/models/createoutputoutputgraphite.md | 2 +- docs/models/createoutputoutputhoneycomb.md | 2 +- docs/models/createoutputoutputhumiohec.md | 2 +- docs/models/createoutputoutputibmclouds3.md | 71 + docs/models/createoutputoutputinfluxdb.md | 2 +- docs/models/createoutputoutputkafka.md | 2 +- docs/models/createoutputoutputkinesis.md | 2 +- .../createoutputoutputlocalsearchstorage.md | 2 +- docs/models/createoutputoutputloki.md | 2 +- .../createoutputoutputmicrosoftfabric.md | 2 +- docs/models/createoutputoutputminio.md | 2 +- docs/models/createoutputoutputmsk.md | 2 +- docs/models/createoutputoutputnetflow.md | 2 +- docs/models/createoutputoutputnewrelic.md | 2 +- .../createoutputoutputnewrelicevents.md | 2 +- .../createoutputoutputnutanixobjects.md | 2 +- .../models/createoutputoutputopentelemetry.md | 2 +- docs/models/createoutputoutputprometheus.md | 2 +- docs/models/createoutputoutputring.md | 2 +- docs/models/createoutputoutputrouter.md | 2 +- docs/models/createoutputoutputs3.md | 2 +- docs/models/createoutputoutputscalitys3.md | 2 +- docs/models/createoutputoutputsecuritylake.md | 2 +- docs/models/createoutputoutputsentinel.md | 2 +- .../createoutputoutputsentineloneaisiem.md | 2 +- docs/models/createoutputoutputservicenow.md | 2 +- docs/models/createoutputoutputsignalfx.md | 2 +- docs/models/createoutputoutputsnmp.md | 2 +- docs/models/createoutputoutputsns.md | 2 +- docs/models/createoutputoutputsplunk.md | 2 +- docs/models/createoutputoutputsplunkhec.md | 2 +- docs/models/createoutputoutputsplunklb.md | 2 +- docs/models/createoutputoutputsqs.md | 2 +- docs/models/createoutputoutputstatsd.md | 2 +- docs/models/createoutputoutputstatsdext.md | 2 +- docs/models/createoutputoutputstorjs3.md | 2 +- docs/models/createoutputoutputsumologic.md | 2 +- docs/models/createoutputoutputsyslog.md | 2 +- docs/models/createoutputoutputtcpjson.md | 2 +- docs/models/createoutputoutputwavefront.md | 2 +- .../createoutputoutputwebhookwebhook1.md | 2 +- .../createoutputoutputwebhookwebhook2.md | 2 +- docs/models/createoutputoutputwizhec.md | 2 +- docs/models/createoutputoutputxsiam.md | 2 +- docs/models/createoutputrequest.md | 6 + ...ypackauthenticationmethodalibabaclouds3.md | 21 + ...eoutputsystembypackoutputalibabaclouds3.md | 4 +- ...reateoutputsystembypackoutputalphasocs3.md | 2 +- ...createoutputsystembypackoutputazureblob.md | 2 +- ...tputsystembypackoutputazuredataexplorer.md | 2 +- ...teoutputsystembypackoutputazureeventhub.md | 2 +- ...createoutputsystembypackoutputazurelogs.md | 2 +- ...createoutputsystembypackoutputchronicle.md | 2 +- ...reateoutputsystembypackoutputclickhouse.md | 2 +- ...ateoutputsystembypackoutputcloudflarer2.md | 2 +- ...reateoutputsystembypackoutputcloudians3.md | 2 +- ...reateoutputsystembypackoutputcloudwatch.md | 2 +- ...eoutputsystembypackoutputconfluentcloud.md | 2 +- ...createoutputsystembypackoutputcriblhttp.md | 2 +- ...createoutputsystembypackoutputcribllake.md | 2 +- ...tputsystembypackoutputcriblsearchengine.md | 2 +- .../createoutputsystembypackoutputcribltcp.md | 2 +- ...ystembypackoutputcrowdstrikenextgensiem.md | 2 +- ...ystembypackoutputcustomermetricsstorage.md | 2 +- ...reateoutputsystembypackoutputdatabricks.md | 2 +- .../createoutputsystembypackoutputdatadog.md | 2 +- .../createoutputsystembypackoutputdataset.md | 2 +- .../createoutputsystembypackoutputdells3.md | 2 +- ...createoutputsystembypackoutputdiskspool.md | 2 +- .../createoutputsystembypackoutputdls3.md | 2 +- ...teoutputsystembypackoutputdynatracehttp.md | 2 +- ...teoutputsystembypackoutputdynatraceotlp.md | 2 +- .../createoutputsystembypackoutputelastic.md | 2 +- ...ateoutputsystembypackoutputelasticcloud.md | 2 +- .../createoutputsystembypackoutputexabeam.md | 2 +- ...reateoutputsystembypackoutputfilesystem.md | 2 +- ...outputsystembypackoutputgooglechronicle.md | 2 +- ...putsystembypackoutputgooglecloudlogging.md | 2 +- ...tembypackoutputgooglecloudobservability.md | 4 +- ...putsystembypackoutputgooglecloudstorage.md | 2 +- ...ateoutputsystembypackoutputgooglepubsub.md | 2 +- ...embypackoutputgrafanacloudgrafanacloud1.md | 2 +- ...embypackoutputgrafanacloudgrafanacloud2.md | 2 +- .../createoutputsystembypackoutputgraphite.md | 2 +- ...createoutputsystembypackoutputhoneycomb.md | 2 +- .../createoutputsystembypackoutputhumiohec.md | 2 +- ...reateoutputsystembypackoutputibmclouds3.md | 71 + .../createoutputsystembypackoutputinfluxdb.md | 2 +- .../createoutputsystembypackoutputkafka.md | 2 +- .../createoutputsystembypackoutputkinesis.md | 2 +- ...putsystembypackoutputlocalsearchstorage.md | 2 +- .../createoutputsystembypackoutputloki.md | 2 +- ...outputsystembypackoutputmicrosoftfabric.md | 2 +- .../createoutputsystembypackoutputminio.md | 2 +- .../createoutputsystembypackoutputmsk.md | 2 +- .../createoutputsystembypackoutputnetflow.md | 2 +- .../createoutputsystembypackoutputnewrelic.md | 2 +- ...eoutputsystembypackoutputnewrelicevents.md | 2 +- ...eoutputsystembypackoutputnutanixobjects.md | 2 +- ...teoutputsystembypackoutputopentelemetry.md | 2 +- ...reateoutputsystembypackoutputprometheus.md | 2 +- .../createoutputsystembypackoutputring.md | 2 +- .../createoutputsystembypackoutputrouter.md | 2 +- .../createoutputsystembypackoutputs3.md | 2 +- ...createoutputsystembypackoutputscalitys3.md | 2 +- ...ateoutputsystembypackoutputsecuritylake.md | 2 +- .../createoutputsystembypackoutputsentinel.md | 2 +- ...tputsystembypackoutputsentineloneaisiem.md | 2 +- ...reateoutputsystembypackoutputservicenow.md | 2 +- .../createoutputsystembypackoutputsignalfx.md | 2 +- .../createoutputsystembypackoutputsnmp.md | 2 +- .../createoutputsystembypackoutputsns.md | 2 +- .../createoutputsystembypackoutputsplunk.md | 2 +- ...createoutputsystembypackoutputsplunkhec.md | 2 +- .../createoutputsystembypackoutputsplunklb.md | 2 +- .../createoutputsystembypackoutputsqs.md | 2 +- .../createoutputsystembypackoutputstatsd.md | 2 +- ...createoutputsystembypackoutputstatsdext.md | 2 +- .../createoutputsystembypackoutputstorjs3.md | 2 +- ...createoutputsystembypackoutputsumologic.md | 2 +- .../createoutputsystembypackoutputsyslog.md | 2 +- .../createoutputsystembypackoutputtcpjson.md | 2 +- ...createoutputsystembypackoutputwavefront.md | 2 +- ...outputsystembypackoutputwebhookwebhook1.md | 2 +- ...outputsystembypackoutputwebhookwebhook2.md | 2 +- .../createoutputsystembypackoutputwizhec.md | 2 +- .../createoutputsystembypackoutputxsiam.md | 2 +- .../createoutputsystembypackrequestbody.md | 6 + .../createoutputsystembypacktypeibmclouds3.md | 16 + docs/models/createoutputtypeibmclouds3.md | 16 + docs/models/deletepacksbyidrequest.md | 6 +- docs/models/destinationtype.md | 3 +- docs/models/emptyobject.md | 2 + docs/models/functionaggregatemetrics.md | 32 +- docs/models/functionaggregatemetricsid.md | 2 + docs/models/functionaggregation.md | 32 +- docs/models/functionaggregationid.md | 2 + docs/models/functionautotimestamp.md | 32 +- docs/models/functionautotimestampid.md | 2 + docs/models/functioncef.md | 32 +- docs/models/functioncefid.md | 2 + docs/models/functionchain.md | 32 +- docs/models/functionchainid.md | 2 + docs/models/functionclone.md | 32 +- docs/models/functioncloneid.md | 2 + docs/models/functioncode.md | 32 +- docs/models/functioncodeid.md | 2 + docs/models/functioncomment.md | 32 +- docs/models/functioncommentid.md | 2 + docs/models/functiondistinct.md | 32 +- docs/models/functiondistinctid.md | 2 + docs/models/functiondnslookup.md | 32 +- docs/models/functiondnslookupid.md | 2 + docs/models/functiondrop.md | 32 +- docs/models/functiondropdimensions.md | 32 +- docs/models/functiondropdimensionsid.md | 2 + docs/models/functiondropid.md | 2 + docs/models/functiondynamicsampling.md | 32 +- docs/models/functiondynamicsamplingid.md | 2 + docs/models/functioneval.md | 32 +- docs/models/functionevalid.md | 2 + docs/models/functioneventbreaker.md | 32 +- docs/models/functioneventbreakerid.md | 2 + docs/models/functioneventstats.md | 32 +- docs/models/functioneventstatsid.md | 2 + docs/models/functionexternaldata.md | 32 +- docs/models/functionexternaldataid.md | 2 + docs/models/functionflatten.md | 32 +- docs/models/functionflattenid.md | 2 + docs/models/functionfoldkeys.md | 32 +- docs/models/functionfoldkeysid.md | 2 + docs/models/functiongenstats.md | 32 +- docs/models/functiongenstatsid.md | 2 + docs/models/functiongeoip.md | 32 +- docs/models/functiongeoipid.md | 2 + docs/models/functiongrok.md | 32 +- docs/models/functiongrokid.md | 2 + docs/models/functionhandlebars.md | 32 +- docs/models/functionhandlebarsid.md | 2 + docs/models/functionjoin.md | 32 +- docs/models/functionjoinid.md | 2 + docs/models/functionjsonunroll.md | 32 +- docs/models/functionjsonunrollid.md | 2 + docs/models/functionlakeexport.md | 32 +- docs/models/functionlakeexportid.md | 2 + docs/models/functionlimit.md | 32 +- docs/models/functionlimitid.md | 2 + .../functionlocalsearchdatatypeparser.md | 32 +- .../functionlocalsearchdatatypeparserid.md | 2 + .../functionlocalsearchrulesetrunner.md | 32 +- .../functionlocalsearchrulesetrunnerid.md | 2 + .../models/functionlocalsearchschemamapper.md | 32 +- .../functionlocalsearchschemamapperid.md | 2 + .../functionlocalsearchtimerangenormalizer.md | 32 +- ...unctionlocalsearchtimerangenormalizerid.md | 2 + docs/models/functionlocalsearchtransformer.md | 32 +- .../functionlocalsearchtransformerid.md | 2 + docs/models/functionlookup.md | 32 +- docs/models/functionlookupid.md | 2 + docs/models/functionmask.md | 32 +- docs/models/functionmaskid.md | 2 + docs/models/functionmvexpand.md | 32 +- docs/models/functionmvexpandid.md | 2 + docs/models/functionmvpull.md | 32 +- docs/models/functionmvpullid.md | 2 + docs/models/functionnotificationpolicies.md | 32 +- docs/models/functionnotificationpoliciesid.md | 2 + docs/models/functionnotifications.md | 32 +- docs/models/functionnotificationsid.md | 2 + docs/models/functionnotify.md | 32 +- docs/models/functionnotifyid.md | 2 + docs/models/functionnumerify.md | 32 +- docs/models/functionnumerifyid.md | 2 + docs/models/functionotlplogs.md | 32 +- docs/models/functionotlplogsid.md | 2 + docs/models/functionotlpmetrics.md | 32 +- docs/models/functionotlpmetricsid.md | 2 + docs/models/functionotlptraces.md | 32 +- docs/models/functionotlptracesid.md | 2 + docs/models/functionpack.md | 32 +- docs/models/functionpackid.md | 2 + docs/models/functionpivot.md | 32 +- docs/models/functionpivotid.md | 2 + docs/models/functionpublishmetrics.md | 32 +- docs/models/functionpublishmetricsid.md | 2 + docs/models/functionredis.md | 32 +- docs/models/functionredisid.md | 2 + docs/models/functionregexextract.md | 32 +- docs/models/functionregexextractid.md | 2 + docs/models/functionregexfilter.md | 32 +- docs/models/functionregexfilterid.md | 2 + docs/models/functionrename.md | 32 +- docs/models/functionrenameid.md | 2 + docs/models/functionrollupmetrics.md | 32 +- docs/models/functionrollupmetricsid.md | 2 + docs/models/functionsampling.md | 32 +- docs/models/functionsamplingid.md | 2 + docs/models/functionsearchengineexport.md | 32 +- docs/models/functionsearchengineexportid.md | 2 + docs/models/functionsend.md | 32 +- docs/models/functionsendid.md | 2 + docs/models/functionsensitivedatascanner.md | 32 +- docs/models/functionsensitivedatascannerid.md | 2 + docs/models/functionserde.md | 32 +- docs/models/functionserdeid.md | 2 + docs/models/functionserialize.md | 32 +- docs/models/functionserializeid.md | 2 + docs/models/functionsidlookup.md | 32 +- docs/models/functionsidlookupid.md | 2 + docs/models/functionsignalfilter.md | 32 +- docs/models/functionsignalfilterid.md | 2 + docs/models/functionsnmptrapserialize.md | 32 +- docs/models/functionsnmptrapserializeid.md | 2 + docs/models/functionsort.md | 32 +- docs/models/functionsortid.md | 2 + docs/models/functionstore.md | 32 +- docs/models/functionstoreid.md | 2 + docs/models/functionsuppress.md | 32 +- docs/models/functionsuppressid.md | 2 + docs/models/functiontee.md | 32 +- docs/models/functionteeid.md | 2 + docs/models/functiontrimtimestamp.md | 32 +- docs/models/functiontrimtimestampid.md | 2 + docs/models/functionunion.md | 32 +- docs/models/functionunionid.md | 2 + docs/models/functionunroll.md | 32 +- docs/models/functionunrollid.md | 2 + docs/models/functionwindow.md | 32 +- docs/models/functionwindowid.md | 2 + docs/models/functionxmlunroll.md | 32 +- docs/models/functionxmlunrollid.md | 2 + docs/models/getfunctionsrequest.md | 8 + docs/models/getpacksbyidrequest.md | 6 +- docs/models/getpacksrequest.md | 6 +- docs/models/getsavedjobrequest.md | 2 +- docs/models/healthoverlaystatus.md | 17 + docs/models/healthserverstatus.md | 1 + docs/models/inputanthropiccomplianceinput.md | 4 +- docs/models/inputappleunifiedlogsinput.md | 4 +- docs/models/inputappscopeinput.md | 4 +- docs/models/inputazureblobinput.md | 4 +- docs/models/inputcloudflarehecinput.md | 6 +- docs/models/inputcloudflarehectype.md | 2 + docs/models/inputcollectioninput.md | 2 +- docs/models/inputconfluentcloudinput.md | 4 +- docs/models/inputcriblhttpinput.md | 6 +- docs/models/inputcriblhttptype.md | 2 + docs/models/inputcriblinput.md | 4 +- docs/models/inputcribllakehttpinput.md | 6 +- docs/models/inputcribllakehttptype.md | 2 + docs/models/inputcriblmetricsinput.md | 4 +- docs/models/inputcribltcpinput.md | 4 +- docs/models/inputcrowdstrikeinput.md | 4 +- docs/models/inputdatadogagentinput.md | 6 +- docs/models/inputdatadogagenttype.md | 2 + docs/models/inputdatageninput.md | 4 +- docs/models/inputedgeprometheusinput.md | 4 +- docs/models/inputelasticinput.md | 6 +- docs/models/inputelastictype.md | 2 + docs/models/inputeventhubamqpinput.md | 4 +- docs/models/inputeventhubinput.md | 4 +- docs/models/inputexecinput.md | 2 +- docs/models/inputfileinput.md | 4 +- docs/models/inputfirehoseinput.md | 6 +- docs/models/inputfirehosetype.md | 2 + docs/models/inputgooglepubsubinput.md | 4 +- docs/models/inputgrafanagrafanainput1.md | 6 +- docs/models/inputgrafanagrafanainput2.md | 6 +- docs/models/inputgrafanatype1.md | 2 + docs/models/inputgrafanatype2.md | 2 + docs/models/inputhttpinput.md | 6 +- docs/models/inputhttprawinput.md | 6 +- docs/models/inputhttprawtype.md | 2 + docs/models/inputhttptype.md | 2 + docs/models/inputjournalfilesinput.md | 4 +- docs/models/inputkafkainput.md | 4 +- docs/models/inputkinesisinput.md | 4 +- docs/models/inputkubeeventsinput.md | 4 +- docs/models/inputkubelogsinput.md | 4 +- docs/models/inputkubemetricsinput.md | 4 +- docs/models/inputlokiinput.md | 6 +- docs/models/inputlokitype.md | 2 + docs/models/inputmetricsinput.md | 4 +- docs/models/inputmicrosoftgraphinput.md | 4 +- docs/models/inputmodeldriventelemetryinput.md | 4 +- docs/models/inputmskinput.md | 4 +- docs/models/inputnetflowinput.md | 4 +- docs/models/inputoffice365mgmtinput.md | 4 +- docs/models/inputoffice365msgtraceinput.md | 4 +- docs/models/inputoffice365serviceinput.md | 4 +- docs/models/inputoktainput.md | 4 +- docs/models/inputopenaicompliancelogsinput.md | 4 +- docs/models/inputopenaiinput.md | 4 +- docs/models/inputopentelemetryinput.md | 6 +- docs/models/inputopentelemetrytype.md | 2 + docs/models/inputprometheusinput.md | 4 +- docs/models/inputprometheusrwinput.md | 6 +- docs/models/inputprometheusrwtype.md | 2 + docs/models/inputrawudpinput.md | 4 +- .../models/inputresponseauthtokensplunkhec.md | 2 +- .../inputresponseinputanthropiccompliance.md | 4 +- .../inputresponseinputappleunifiedlogs.md | 4 +- docs/models/inputresponseinputappscope.md | 4 +- docs/models/inputresponseinputazureblob.md | 4 +- .../models/inputresponseinputcloudflarehec.md | 6 +- docs/models/inputresponseinputcollection.md | 2 +- .../inputresponseinputconfluentcloud.md | 4 +- docs/models/inputresponseinputcribl.md | 4 +- docs/models/inputresponseinputcriblhttp.md | 6 +- .../models/inputresponseinputcribllakehttp.md | 6 +- docs/models/inputresponseinputcriblmetrics.md | 4 +- docs/models/inputresponseinputcribltcp.md | 4 +- docs/models/inputresponseinputcrowdstrike.md | 4 +- docs/models/inputresponseinputdatadogagent.md | 6 +- docs/models/inputresponseinputdatagen.md | 4 +- .../inputresponseinputedgeprometheus.md | 4 +- docs/models/inputresponseinputelastic.md | 6 +- docs/models/inputresponseinputeventhub.md | 4 +- docs/models/inputresponseinputeventhubamqp.md | 4 +- docs/models/inputresponseinputexec.md | 2 +- docs/models/inputresponseinputfile.md | 4 +- docs/models/inputresponseinputfirehose.md | 6 +- docs/models/inputresponseinputgooglepubsub.md | 4 +- .../inputresponseinputgrafanagrafana1.md | 6 +- .../inputresponseinputgrafanagrafana2.md | 6 +- docs/models/inputresponseinputgrafanatype1.md | 2 + docs/models/inputresponseinputgrafanatype2.md | 2 + docs/models/inputresponseinputhttp.md | 6 +- docs/models/inputresponseinputhttpraw.md | 6 +- docs/models/inputresponseinputjournalfiles.md | 4 +- docs/models/inputresponseinputkafka.md | 4 +- docs/models/inputresponseinputkinesis.md | 4 +- docs/models/inputresponseinputkubeevents.md | 4 +- docs/models/inputresponseinputkubelogs.md | 4 +- docs/models/inputresponseinputkubemetrics.md | 4 +- docs/models/inputresponseinputloki.md | 6 +- docs/models/inputresponseinputmetrics.md | 4 +- .../inputresponseinputmicrosoftgraph.md | 4 +- .../inputresponseinputmodeldriventelemetry.md | 4 +- docs/models/inputresponseinputmsk.md | 4 +- docs/models/inputresponseinputnetflow.md | 4 +- .../models/inputresponseinputoffice365mgmt.md | 4 +- .../inputresponseinputoffice365msgtrace.md | 4 +- .../inputresponseinputoffice365service.md | 4 +- docs/models/inputresponseinputokta.md | 4 +- docs/models/inputresponseinputopenai.md | 4 +- .../inputresponseinputopenaicompliancelogs.md | 4 +- .../models/inputresponseinputopentelemetry.md | 6 +- docs/models/inputresponseinputprometheus.md | 4 +- docs/models/inputresponseinputprometheusrw.md | 6 +- docs/models/inputresponseinputrawudp.md | 4 +- docs/models/inputresponseinputs3.md | 4 +- docs/models/inputresponseinputs3inventory.md | 4 +- docs/models/inputresponseinputsecuritylake.md | 4 +- .../inputresponseinputservicenowtable.md | 4 +- docs/models/inputresponseinputsnmp.md | 4 +- docs/models/inputresponseinputsplunk.md | 4 +- docs/models/inputresponseinputsplunkhec.md | 6 +- docs/models/inputresponseinputsplunksearch.md | 4 +- docs/models/inputresponseinputsqs.md | 4 +- docs/models/inputresponseinputsysdighec.md | 6 +- .../models/inputresponseinputsyslogsyslog1.md | 4 +- .../models/inputresponseinputsyslogsyslog2.md | 4 +- .../models/inputresponseinputsystemmetrics.md | 4 +- docs/models/inputresponseinputsystemstate.md | 4 +- docs/models/inputresponseinputtcp.md | 4 +- docs/models/inputresponseinputtcpjson.md | 4 +- docs/models/inputresponseinputwef.md | 4 +- .../inputresponseinputwindowsmetrics.md | 4 +- docs/models/inputresponseinputwineventlogs.md | 4 +- docs/models/inputresponseinputwiz.md | 4 +- docs/models/inputresponseinputwizwebhook.md | 6 +- docs/models/inputresponseinputzscalerhec.md | 6 +- docs/models/inputresponsetypecloudflarehec.md | 2 + docs/models/inputresponsetypecriblhttp.md | 2 + docs/models/inputresponsetypecribllakehttp.md | 2 + docs/models/inputresponsetypedatadogagent.md | 2 + docs/models/inputresponsetypeelastic.md | 2 + docs/models/inputresponsetypefirehose.md | 2 + docs/models/inputresponsetypehttp.md | 2 + docs/models/inputresponsetypehttpraw.md | 2 + docs/models/inputresponsetypeloki.md | 2 + docs/models/inputresponsetypeopentelemetry.md | 2 + docs/models/inputresponsetypeprometheusrw.md | 2 + docs/models/inputresponsetypesplunkhec.md | 2 + docs/models/inputresponsetypesysdighec.md | 2 + docs/models/inputresponsetypewizwebhook.md | 2 + docs/models/inputresponsetypezscalerhec.md | 2 + docs/models/inputs3input.md | 4 +- docs/models/inputs3inventoryinput.md | 4 +- docs/models/inputsecuritylakeinput.md | 4 +- docs/models/inputservicenowtableinput.md | 4 +- docs/models/inputsnmpinput.md | 4 +- docs/models/inputsplunkhec.md | 6 +- docs/models/inputsplunkhecauthtoken.md | 2 +- docs/models/inputsplunkhecinput.md | 6 +- docs/models/inputsplunkhectype.md | 2 + docs/models/inputsplunkinput.md | 4 +- docs/models/inputsplunksearchinput.md | 4 +- docs/models/inputsqsinput.md | 4 +- docs/models/inputsysdighecinput.md | 6 +- docs/models/inputsysdighectype.md | 2 + docs/models/inputsyslogsysloginput1.md | 4 +- docs/models/inputsyslogsysloginput2.md | 4 +- docs/models/inputsystemmetricsinput.md | 4 +- docs/models/inputsystemstateinput.md | 4 +- docs/models/inputtcpinput.md | 4 +- docs/models/inputtcpjsoninput.md | 4 +- docs/models/inputwefinput.md | 4 +- docs/models/inputwindowsmetricsinput.md | 4 +- docs/models/inputwineventlogsinput.md | 4 +- docs/models/inputwizinput.md | 4 +- docs/models/inputwizwebhookinput.md | 6 +- docs/models/inputwizwebhooktype.md | 2 + docs/models/inputzscalerhecinput.md | 6 +- docs/models/inputzscalerhectype.md | 2 + docs/models/noactivehealthoverlaystatus.md | 8 + docs/models/output.md | 6 + docs/models/outputalibabaclouds3.md | 4 +- ...utputalibabaclouds3authenticationmethod.md | 21 + docs/models/outputalphasocs3.md | 2 +- docs/models/outputazureblob.md | 2 +- docs/models/outputazuredataexplorer.md | 2 +- docs/models/outputazureeventhub.md | 2 +- docs/models/outputazurelogs.md | 2 +- docs/models/outputchronicle.md | 2 +- docs/models/outputclickhouse.md | 2 +- docs/models/outputcloudflarer2.md | 2 +- docs/models/outputcloudians3.md | 2 +- docs/models/outputcloudwatch.md | 2 +- docs/models/outputconfluentcloud.md | 2 +- docs/models/outputcriblhttp.md | 2 +- docs/models/outputcribllake.md | 2 +- docs/models/outputcriblsearchengine.md | 2 +- docs/models/outputcribltcp.md | 2 +- docs/models/outputcrowdstrikenextgensiem.md | 2 +- docs/models/outputcustomermetricsstorage.md | 2 +- docs/models/outputdatabricks.md | 2 +- docs/models/outputdatadog.md | 2 +- docs/models/outputdataset.md | 2 +- docs/models/outputdells3.md | 2 +- docs/models/outputdiskspool.md | 2 +- docs/models/outputdls3.md | 2 +- docs/models/outputdynatracehttp.md | 2 +- docs/models/outputdynatraceotlp.md | 2 +- docs/models/outputelastic.md | 2 +- docs/models/outputelasticcloud.md | 2 +- docs/models/outputexabeam.md | 2 +- docs/models/outputfilesystem.md | 2 +- docs/models/outputgooglechronicle.md | 2 +- docs/models/outputgooglecloudlogging.md | 2 +- docs/models/outputgooglecloudobservability.md | 4 +- docs/models/outputgooglecloudstorage.md | 2 +- docs/models/outputgooglepubsub.md | 2 +- .../models/outputgrafanacloudgrafanacloud1.md | 2 +- .../models/outputgrafanacloudgrafanacloud2.md | 2 +- docs/models/outputgraphite.md | 2 +- docs/models/outputhoneycomb.md | 2 +- docs/models/outputhumiohec.md | 2 +- docs/models/outputibmclouds3.md | 71 + docs/models/outputibmclouds3type.md | 16 + docs/models/outputinfluxdb.md | 2 +- docs/models/outputkafka.md | 2 +- docs/models/outputkinesis.md | 2 +- docs/models/outputlocalsearchstorage.md | 2 +- docs/models/outputloki.md | 2 +- docs/models/outputmicrosoftfabric.md | 2 +- docs/models/outputminio.md | 2 +- docs/models/outputmsk.md | 2 +- docs/models/outputnetflow.md | 2 +- docs/models/outputnewrelic.md | 2 +- docs/models/outputnewrelicevents.md | 2 +- docs/models/outputnutanixobjects.md | 2 +- docs/models/outputopentelemetry.md | 2 +- docs/models/outputprometheus.md | 2 +- docs/models/outputresponse.md | 6 + ...ponseauthenticationmethodalibabaclouds3.md | 21 + .../outputresponseoutputalibabaclouds3.md | 4 +- docs/models/outputresponseoutputalphasocs3.md | 2 +- docs/models/outputresponseoutputazureblob.md | 2 +- .../outputresponseoutputazuredataexplorer.md | 2 +- .../outputresponseoutputazureeventhub.md | 2 +- docs/models/outputresponseoutputazurelogs.md | 2 +- docs/models/outputresponseoutputchronicle.md | 2 +- docs/models/outputresponseoutputclickhouse.md | 2 +- .../outputresponseoutputcloudflarer2.md | 2 +- docs/models/outputresponseoutputcloudians3.md | 2 +- docs/models/outputresponseoutputcloudwatch.md | 2 +- .../outputresponseoutputconfluentcloud.md | 2 +- docs/models/outputresponseoutputcriblhttp.md | 2 +- docs/models/outputresponseoutputcribllake.md | 2 +- .../outputresponseoutputcriblsearchengine.md | 2 +- docs/models/outputresponseoutputcribltcp.md | 2 +- ...putresponseoutputcrowdstrikenextgensiem.md | 2 +- ...putresponseoutputcustomermetricsstorage.md | 2 +- docs/models/outputresponseoutputdatabricks.md | 2 +- docs/models/outputresponseoutputdatadog.md | 2 +- docs/models/outputresponseoutputdataset.md | 2 +- docs/models/outputresponseoutputdells3.md | 2 +- docs/models/outputresponseoutputdiskspool.md | 2 +- docs/models/outputresponseoutputdls3.md | 2 +- .../outputresponseoutputdynatracehttp.md | 2 +- .../outputresponseoutputdynatraceotlp.md | 2 +- docs/models/outputresponseoutputelastic.md | 2 +- .../outputresponseoutputelasticcloud.md | 2 +- docs/models/outputresponseoutputexabeam.md | 2 +- docs/models/outputresponseoutputfilesystem.md | 2 +- .../outputresponseoutputgooglechronicle.md | 2 +- .../outputresponseoutputgooglecloudlogging.md | 2 +- ...tresponseoutputgooglecloudobservability.md | 4 +- .../outputresponseoutputgooglecloudstorage.md | 2 +- .../outputresponseoutputgooglepubsub.md | 2 +- ...responseoutputgrafanacloudgrafanacloud1.md | 2 +- ...responseoutputgrafanacloudgrafanacloud2.md | 2 +- docs/models/outputresponseoutputgraphite.md | 2 +- docs/models/outputresponseoutputhoneycomb.md | 2 +- docs/models/outputresponseoutputhumiohec.md | 2 +- docs/models/outputresponseoutputibmclouds3.md | 73 + docs/models/outputresponseoutputinfluxdb.md | 2 +- docs/models/outputresponseoutputkafka.md | 2 +- docs/models/outputresponseoutputkinesis.md | 2 +- .../outputresponseoutputlocalsearchstorage.md | 2 +- docs/models/outputresponseoutputloki.md | 2 +- .../outputresponseoutputmicrosoftfabric.md | 2 +- docs/models/outputresponseoutputminio.md | 2 +- docs/models/outputresponseoutputmsk.md | 2 +- docs/models/outputresponseoutputnetflow.md | 2 +- docs/models/outputresponseoutputnewrelic.md | 2 +- .../outputresponseoutputnewrelicevents.md | 2 +- .../outputresponseoutputnutanixobjects.md | 2 +- .../outputresponseoutputopentelemetry.md | 2 +- docs/models/outputresponseoutputprometheus.md | 2 +- docs/models/outputresponseoutputring.md | 2 +- docs/models/outputresponseoutputrouter.md | 2 +- docs/models/outputresponseoutputs3.md | 2 +- docs/models/outputresponseoutputscalitys3.md | 2 +- .../outputresponseoutputsecuritylake.md | 2 +- docs/models/outputresponseoutputsentinel.md | 2 +- .../outputresponseoutputsentineloneaisiem.md | 2 +- docs/models/outputresponseoutputservicenow.md | 2 +- docs/models/outputresponseoutputsignalfx.md | 2 +- docs/models/outputresponseoutputsnmp.md | 2 +- docs/models/outputresponseoutputsns.md | 2 +- docs/models/outputresponseoutputsplunk.md | 2 +- docs/models/outputresponseoutputsplunkhec.md | 2 +- docs/models/outputresponseoutputsplunklb.md | 2 +- docs/models/outputresponseoutputsqs.md | 2 +- docs/models/outputresponseoutputstatsd.md | 2 +- docs/models/outputresponseoutputstatsdext.md | 2 +- docs/models/outputresponseoutputstorjs3.md | 2 +- docs/models/outputresponseoutputsumologic.md | 2 +- docs/models/outputresponseoutputsyslog.md | 2 +- docs/models/outputresponseoutputtcpjson.md | 2 +- docs/models/outputresponseoutputwavefront.md | 2 +- .../outputresponseoutputwebhookwebhook1.md | 2 +- .../outputresponseoutputwebhookwebhook2.md | 2 +- docs/models/outputresponseoutputwizhec.md | 2 +- docs/models/outputresponseoutputxsiam.md | 2 +- docs/models/outputresponsetypeibmclouds3.md | 16 + docs/models/outputring.md | 2 +- docs/models/outputrouter.md | 2 +- docs/models/outputs3.md | 2 +- docs/models/outputscalitys3.md | 2 +- docs/models/outputsecuritylake.md | 2 +- docs/models/outputsentinel.md | 2 +- docs/models/outputsentineloneaisiem.md | 2 +- docs/models/outputservicenow.md | 2 +- docs/models/outputsignalfx.md | 2 +- docs/models/outputsnmp.md | 2 +- docs/models/outputsns.md | 2 +- docs/models/outputsplunk.md | 2 +- docs/models/outputsplunkhec.md | 2 +- docs/models/outputsplunklb.md | 2 +- docs/models/outputsqs.md | 2 +- docs/models/outputstatsd.md | 2 +- docs/models/outputstatsdext.md | 2 +- docs/models/outputstorjs3.md | 2 +- docs/models/outputsumologic.md | 2 +- docs/models/outputsyslog.md | 2 +- docs/models/outputtcpjson.md | 2 +- docs/models/outputwavefront.md | 2 +- docs/models/outputwebhookwebhook1.md | 2 +- docs/models/outputwebhookwebhook2.md | 2 +- docs/models/outputwizhec.md | 2 +- docs/models/outputxsiam.md | 2 +- docs/models/packinfo.md | 36 +- docs/models/packinstallinfo.md | 38 +- docs/models/packrequestbody1.md | 26 +- docs/models/packrequestbody2.md | 26 +- docs/models/packuninstallinfo.md | 8 +- docs/models/packupgraderequest.md | 12 +- .../pipelinefunctionaggregatemetrics.md | 2 +- .../pipelinefunctionaggregatemetricsid.md | 2 +- docs/models/pipelinefunctionaggregation.md | 2 +- docs/models/pipelinefunctionaggregationid.md | 2 +- docs/models/pipelinefunctionautotimestamp.md | 2 +- .../models/pipelinefunctionautotimestampid.md | 2 +- docs/models/pipelinefunctioncef.md | 2 +- docs/models/pipelinefunctioncefid.md | 2 +- docs/models/pipelinefunctioncefinput.md | 2 +- docs/models/pipelinefunctionchain.md | 2 +- docs/models/pipelinefunctionchainid.md | 2 +- docs/models/pipelinefunctionclone.md | 2 +- docs/models/pipelinefunctioncloneid.md | 2 +- docs/models/pipelinefunctioncode.md | 2 +- docs/models/pipelinefunctioncodeid.md | 2 +- docs/models/pipelinefunctioncomment.md | 2 +- docs/models/pipelinefunctioncommentid.md | 2 +- docs/models/pipelinefunctiondistinct.md | 2 +- docs/models/pipelinefunctiondistinctid.md | 2 +- docs/models/pipelinefunctiondnslookup.md | 2 +- docs/models/pipelinefunctiondnslookupid.md | 2 +- docs/models/pipelinefunctiondrop.md | 2 +- docs/models/pipelinefunctiondropdimensions.md | 2 +- .../pipelinefunctiondropdimensionsid.md | 2 +- docs/models/pipelinefunctiondropid.md | 2 +- .../models/pipelinefunctiondynamicsampling.md | 2 +- .../pipelinefunctiondynamicsamplingid.md | 2 +- docs/models/pipelinefunctioneval.md | 2 +- docs/models/pipelinefunctionevalid.md | 2 +- docs/models/pipelinefunctioneventbreaker.md | 2 +- docs/models/pipelinefunctioneventbreakerid.md | 2 +- docs/models/pipelinefunctioneventstats.md | 2 +- docs/models/pipelinefunctioneventstatsid.md | 2 +- docs/models/pipelinefunctionexternaldata.md | 2 +- docs/models/pipelinefunctionexternaldataid.md | 2 +- docs/models/pipelinefunctionflatten.md | 2 +- docs/models/pipelinefunctionflattenid.md | 2 +- docs/models/pipelinefunctionfoldkeys.md | 2 +- docs/models/pipelinefunctionfoldkeysid.md | 2 +- docs/models/pipelinefunctiongenstats.md | 2 +- docs/models/pipelinefunctiongenstatsid.md | 2 +- docs/models/pipelinefunctiongeoip.md | 2 +- docs/models/pipelinefunctiongeoipid.md | 2 +- docs/models/pipelinefunctiongrok.md | 2 +- docs/models/pipelinefunctiongrokid.md | 2 +- docs/models/pipelinefunctionhandlebars.md | 2 +- docs/models/pipelinefunctionhandlebarsid.md | 2 +- docs/models/pipelinefunctionjoin.md | 2 +- docs/models/pipelinefunctionjoinid.md | 2 +- docs/models/pipelinefunctionjsonunroll.md | 2 +- docs/models/pipelinefunctionjsonunrollid.md | 2 +- docs/models/pipelinefunctionlakeexport.md | 2 +- docs/models/pipelinefunctionlakeexportid.md | 2 +- docs/models/pipelinefunctionlimit.md | 2 +- docs/models/pipelinefunctionlimitid.md | 2 +- ...pelinefunctionlocalsearchdatatypeparser.md | 2 +- ...linefunctionlocalsearchdatatypeparserid.md | 2 +- ...ipelinefunctionlocalsearchrulesetrunner.md | 2 +- ...elinefunctionlocalsearchrulesetrunnerid.md | 2 +- ...pipelinefunctionlocalsearchschemamapper.md | 2 +- ...pelinefunctionlocalsearchschemamapperid.md | 2 +- ...efunctionlocalsearchtimerangenormalizer.md | 2 +- ...unctionlocalsearchtimerangenormalizerid.md | 2 +- .../pipelinefunctionlocalsearchtransformer.md | 2 +- ...ipelinefunctionlocalsearchtransformerid.md | 2 +- docs/models/pipelinefunctionlookup.md | 2 +- docs/models/pipelinefunctionlookupid.md | 2 +- docs/models/pipelinefunctionmask.md | 2 +- docs/models/pipelinefunctionmaskid.md | 2 +- docs/models/pipelinefunctionmvexpand.md | 2 +- docs/models/pipelinefunctionmvexpandid.md | 2 +- docs/models/pipelinefunctionmvpull.md | 2 +- docs/models/pipelinefunctionmvpullid.md | 2 +- .../pipelinefunctionnotificationpolicies.md | 2 +- .../pipelinefunctionnotificationpoliciesid.md | 2 +- docs/models/pipelinefunctionnotifications.md | 2 +- .../models/pipelinefunctionnotificationsid.md | 2 +- docs/models/pipelinefunctionnotify.md | 2 +- docs/models/pipelinefunctionnotifyid.md | 2 +- docs/models/pipelinefunctionnumerify.md | 2 +- docs/models/pipelinefunctionnumerifyid.md | 2 +- docs/models/pipelinefunctionotlplogs.md | 2 +- docs/models/pipelinefunctionotlplogsid.md | 2 +- docs/models/pipelinefunctionotlpmetrics.md | 2 +- docs/models/pipelinefunctionotlpmetricsid.md | 2 +- docs/models/pipelinefunctionotlptraces.md | 2 +- docs/models/pipelinefunctionotlptracesid.md | 2 +- docs/models/pipelinefunctionpack.md | 2 +- docs/models/pipelinefunctionpackid.md | 2 +- docs/models/pipelinefunctionpivot.md | 2 +- docs/models/pipelinefunctionpivotid.md | 2 +- docs/models/pipelinefunctionpublishmetrics.md | 2 +- .../pipelinefunctionpublishmetricsid.md | 2 +- docs/models/pipelinefunctionredis.md | 2 +- docs/models/pipelinefunctionredisid.md | 2 +- docs/models/pipelinefunctionregexextract.md | 2 +- docs/models/pipelinefunctionregexextractid.md | 2 +- docs/models/pipelinefunctionregexfilter.md | 2 +- docs/models/pipelinefunctionregexfilterid.md | 2 +- docs/models/pipelinefunctionrename.md | 2 +- docs/models/pipelinefunctionrenameid.md | 2 +- docs/models/pipelinefunctionrollupmetrics.md | 2 +- .../models/pipelinefunctionrollupmetricsid.md | 2 +- docs/models/pipelinefunctionsampling.md | 2 +- docs/models/pipelinefunctionsamplingid.md | 2 +- .../pipelinefunctionsearchengineexport.md | 2 +- .../pipelinefunctionsearchengineexportid.md | 2 +- docs/models/pipelinefunctionsend.md | 2 +- docs/models/pipelinefunctionsendid.md | 2 +- .../pipelinefunctionsensitivedatascanner.md | 2 +- .../pipelinefunctionsensitivedatascannerid.md | 2 +- docs/models/pipelinefunctionserde.md | 2 +- docs/models/pipelinefunctionserdeid.md | 2 +- docs/models/pipelinefunctionserialize.md | 2 +- docs/models/pipelinefunctionserializeid.md | 2 +- docs/models/pipelinefunctionsidlookup.md | 2 +- docs/models/pipelinefunctionsidlookupid.md | 2 +- docs/models/pipelinefunctionsignalfilter.md | 2 +- docs/models/pipelinefunctionsignalfilterid.md | 2 +- .../pipelinefunctionsnmptrapserialize.md | 2 +- .../pipelinefunctionsnmptrapserializeid.md | 2 +- docs/models/pipelinefunctionsort.md | 2 +- docs/models/pipelinefunctionsortid.md | 2 +- docs/models/pipelinefunctionstore.md | 2 +- docs/models/pipelinefunctionstoreid.md | 2 +- docs/models/pipelinefunctionsuppress.md | 2 +- docs/models/pipelinefunctionsuppressid.md | 2 +- docs/models/pipelinefunctiontee.md | 2 +- docs/models/pipelinefunctionteeid.md | 2 +- docs/models/pipelinefunctiontrimtimestamp.md | 2 +- .../models/pipelinefunctiontrimtimestampid.md | 2 +- docs/models/pipelinefunctionunion.md | 2 +- docs/models/pipelinefunctionunionid.md | 2 +- docs/models/pipelinefunctionunroll.md | 2 +- docs/models/pipelinefunctionunrollid.md | 2 +- docs/models/pipelinefunctionwindow.md | 2 +- docs/models/pipelinefunctionwindowid.md | 2 +- docs/models/pipelinefunctionxmlunroll.md | 2 +- docs/models/pipelinefunctionxmlunrollid.md | 2 +- docs/models/pqtype.md | 2 +- docs/models/pqtypepqcontrols.md | 2 + docs/models/tags1.md | 13 + docs/models/tags2.md | 13 + docs/models/tagstypepackinstallinfo.md | 14 +- docs/models/tlssettingsserversidetype.md | 2 +- docs/models/updatepacksbyidrequest.md | 8 +- docs/models/updateroutesbyidrequest.md | 8 +- docs/models/updateroutesbypackandidrequest.md | 10 +- docs/models/uploadpackresponse.md | 6 +- docs/sdks/collectorssdk/README.md | 340 +- docs/sdks/destinations/README.md | 54 + docs/sdks/functions/README.md | 7 +- docs/sdks/packs/README.md | 48 +- docs/sdks/packsdestinations/README.md | 54 + docs/sdks/packsroutes/README.md | 22 +- docs/sdks/routessdk/README.md | 20 +- pyproject.toml | 2 +- src/cribl_control_plane/_version.py | 8 +- src/cribl_control_plane/collectors_sdk.py | 4 +- .../databaseconnections.py | 4 +- src/cribl_control_plane/destinations.py | 12 +- .../errors/healthserverstatus_error.py | 6 +- src/cribl_control_plane/functions.py | 18 +- src/cribl_control_plane/models/__init__.py | 2926 +-- .../models/activehealthoverlaystatus.py | 38 + .../models/connectionconfinputcollection.py | 4 + .../models/createinput_logged_in_users.py | 184 + .../models/createinput_request.py | 166 + ...createinputsystembypack_logged_in_users.py | 184 + .../models/createinputsystembypack_request.py | 166 + ...ut_outputwebhook_authentication_type_1.py} | 17672 ++++++++-------- ...y => createoutput_pqcontrols_statsdext.py} | 13064 ++++++------ .../models/createoutput_request.py | 734 +- ...ck_outputwebhook_authentication_type_1.py} | 15834 +++++++------- ...utputsystembypack_pqcontrols_statsdext.py} | 13209 ++++++------ .../createoutputsystembypack_request.py | 737 +- .../models/deletepacksbyidop.py | 4 +- .../models/destinationtype.py | 1 + src/cribl_control_plane/models/emptyobject.py | 4 +- .../models/functionaggregatemetrics.py | 30 + .../models/functionaggregation.py | 30 + .../models/functionautotimestamp.py | 30 + src/cribl_control_plane/models/functioncef.py | 30 + .../models/functionchain.py | 30 + .../models/functionclone.py | 30 + .../models/functioncode.py | 30 + .../models/functioncomment.py | 30 + .../models/functiondistinct.py | 30 + .../models/functiondnslookup.py | 30 + .../models/functiondrop.py | 30 + .../models/functiondropdimensions.py | 30 + .../models/functiondynamicsampling.py | 30 + .../models/functioneval.py | 30 + .../models/functioneventbreaker.py | 30 + .../models/functioneventstats.py | 30 + .../models/functionexternaldata.py | 30 + .../models/functionflatten.py | 30 + .../models/functionfoldkeys.py | 30 + .../models/functiongenstats.py | 30 + .../models/functiongeoip.py | 30 + .../models/functiongrok.py | 30 + .../models/functionhandlebars.py | 30 + .../models/functionjoin.py | 30 + .../models/functionjsonunroll.py | 30 + .../models/functionlakeexport.py | 30 + .../models/functionlimit.py | 30 + .../functionlocalsearchdatatypeparser.py | 30 + .../functionlocalsearchrulesetrunner.py | 30 + .../models/functionlocalsearchschemamapper.py | 30 + .../functionlocalsearchtimerangenormalizer.py | 30 + .../models/functionlocalsearchtransformer.py | 30 + .../models/functionlookup.py | 30 + .../models/functionmask.py | 30 + .../models/functionmvexpand.py | 30 + .../models/functionmvpull.py | 30 + .../models/functionnotificationpolicies.py | 30 + .../models/functionnotifications.py | 30 + .../models/functionnotify.py | 30 + .../models/functionnumerify.py | 30 + .../models/functionotlplogs.py | 30 + .../models/functionotlpmetrics.py | 30 + .../models/functionotlptraces.py | 30 + .../models/functionpack.py | 30 + .../models/functionpivot.py | 30 + .../models/functionpublishmetrics.py | 30 + .../models/functionredis.py | 30 + .../models/functionregexextract.py | 30 + .../models/functionregexfilter.py | 30 + .../models/functionrename.py | 30 + .../models/functionrollupmetrics.py | 30 + .../models/functionsampling.py | 30 + .../models/functionsearchengineexport.py | 30 + .../models/functionsend.py | 30 + .../models/functionsensitivedatascanner.py | 30 + .../models/functionserde.py | 30 + .../models/functionserialize.py | 30 + .../models/functionsidlookup.py | 30 + .../models/functionsignalfilter.py | 30 + .../models/functionsnmptrapserialize.py | 30 + .../models/functionsort.py | 30 + .../models/functionstore.py | 30 + .../models/functionsuppress.py | 30 + src/cribl_control_plane/models/functiontee.py | 30 + .../models/functiontrimtimestamp.py | 30 + .../models/functionunion.py | 30 + .../models/functionunroll.py | 30 + .../models/functionwindow.py | 30 + .../models/functionxmlunroll.py | 30 + .../models/getfunctionsop.py | 39 + .../models/getpacksbyidop.py | 4 +- src/cribl_control_plane/models/getpacksop.py | 4 +- .../models/getsavedjobop.py | 4 +- .../models/healthoverlaystatus.py | 58 + .../models/healthserverstatus.py | 4 + .../models/inputanthropiccompliance_input.py | 4 + .../models/inputappleunifiedlogs_input.py | 4 + .../models/inputappscope_input.py | 4 + .../models/inputazureblob_input.py | 4 + .../models/inputcloudflarehec_input.py | 8 + .../models/inputcollection_input.py | 2 + .../models/inputconfluentcloud_input.py | 4 + .../models/inputcribl_input.py | 4 + .../models/inputcriblhttp_input.py | 8 + .../models/inputcribllakehttp_input.py | 8 + .../models/inputcriblmetrics_input.py | 4 + .../models/inputcribltcp_input.py | 4 + .../models/inputcrowdstrike_input.py | 4 + .../models/inputdatadogagent_input.py | 8 + .../models/inputdatagen_input.py | 4 + .../models/inputedgeprometheus_input.py | 4 + .../models/inputelastic_input.py | 8 + .../models/inputeventhub_input.py | 4 + .../models/inputeventhubamqp_input.py | 4 + .../models/inputexec_input.py | 2 + .../models/inputfile_input.py | 4 + .../models/inputfirehose_input.py | 8 + .../models/inputgooglepubsub_input.py | 4 + .../models/inputgrafana_input_union.py | 16 + .../models/inputhttp_input.py | 8 + .../models/inputhttpraw_input.py | 8 + .../models/inputjournalfiles_input.py | 4 + .../models/inputkafka_input.py | 4 + .../models/inputkinesis_input.py | 4 + .../models/inputkubeevents_input.py | 4 + .../models/inputkubelogs_input.py | 4 + .../models/inputkubemetrics_input.py | 4 + .../models/inputloki_input.py | 8 + .../models/inputmetrics_input.py | 4 + .../models/inputmicrosoftgraph_input.py | 4 + .../models/inputmodeldriventelemetry_input.py | 4 + .../models/inputmsk_input.py | 4 + .../models/inputnetflow_input.py | 4 + .../models/inputoffice365mgmt_input.py | 4 + .../models/inputoffice365msgtrace_input.py | 4 + .../models/inputoffice365service_input.py | 4 + .../models/inputokta_input.py | 4 + .../models/inputopenai_input.py | 4 + .../models/inputopenaicompliancelogs_input.py | 4 + .../models/inputopentelemetry_input.py | 8 + .../models/inputprometheus_input.py | 4 + .../models/inputprometheusrw_input.py | 8 + .../models/inputrawudp_input.py | 4 + .../models/inputresponse.py | 166 + .../models/inputresponse_logged_in_users.py | 184 + .../models/inputs3_input.py | 4 + .../models/inputs3inventory_input.py | 4 + .../models/inputsecuritylake_input.py | 4 + .../models/inputservicenowtable_input.py | 4 + .../models/inputsnmp_input.py | 4 + .../models/inputsplunk_input.py | 4 + .../models/inputsplunkhec_input.py | 16 + .../models/inputsplunksearch_input.py | 4 + .../models/inputsqs_input.py | 4 + .../models/inputsysdighec_input.py | 8 + .../models/inputsyslog_input_union.py | 8 + .../models/inputsystemmetrics_input.py | 4 + .../models/inputsystemstate_input.py | 4 + .../models/inputtcp_input.py | 4 + .../models/inputtcpjson_input.py | 4 + .../models/inputwef_input.py | 4 + .../models/inputwindowsmetrics_input.py | 4 + .../models/inputwineventlogs_input.py | 4 + .../models/inputwiz_input.py | 4 + .../models/inputwizwebhook_input.py | 8 + .../models/inputzscalerhec_input.py | 8 + .../models/noactivehealthoverlaystatus.py | 28 + src/cribl_control_plane/models/output.py | 3 + .../models/outputalibabaclouds3.py | 20 +- .../models/outputalphasocs3.py | 2 + .../models/outputazureblob.py | 2 + .../models/outputazuredataexplorer.py | 2 + .../models/outputazureeventhub.py | 2 + .../models/outputazurelogs.py | 2 + .../models/outputchronicle.py | 2 + .../models/outputclickhouse.py | 2 + .../models/outputcloudflarer2.py | 2 + .../models/outputcloudians3.py | 2 + .../models/outputcloudwatch.py | 2 + .../models/outputconfluentcloud.py | 2 + .../models/outputcriblhttp.py | 2 + .../models/outputcribllake.py | 2 + .../models/outputcriblsearchengine.py | 2 + .../models/outputcribltcp.py | 2 + .../models/outputcrowdstrikenextgensiem.py | 2 + .../models/outputcustomermetricsstorage.py | 2 + .../models/outputdatabricks.py | 2 + .../models/outputdatadog.py | 2 + .../models/outputdataset.py | 2 + .../models/outputdells3.py | 2 + .../models/outputdiskspool.py | 2 + src/cribl_control_plane/models/outputdls3.py | 2 + .../models/outputdynatracehttp.py | 2 + .../models/outputdynatraceotlp.py | 2 + .../models/outputelastic.py | 2 + .../models/outputelasticcloud.py | 2 + .../models/outputexabeam.py | 2 + .../models/outputfilesystem.py | 2 + .../models/outputgooglechronicle.py | 2 + .../models/outputgooglecloudlogging.py | 2 + .../models/outputgooglecloudobservability.py | 6 +- .../models/outputgooglecloudstorage.py | 2 + .../models/outputgooglepubsub.py | 2 + .../models/outputgrafanacloud_union.py | 4 + .../models/outputgraphite.py | 2 + .../models/outputhoneycomb.py | 2 + .../models/outputhumiohec.py | 2 + .../models/outputibmclouds3.py | 611 + .../models/outputinfluxdb.py | 2 + src/cribl_control_plane/models/outputkafka.py | 2 + .../models/outputkinesis.py | 2 + .../models/outputlocalsearchstorage.py | 2 + src/cribl_control_plane/models/outputloki.py | 2 + .../models/outputmicrosoftfabric.py | 2 + src/cribl_control_plane/models/outputminio.py | 2 + src/cribl_control_plane/models/outputmsk.py | 2 + .../models/outputnetflow.py | 2 + .../models/outputnewrelic.py | 2 + .../models/outputnewrelicevents.py | 2 + .../models/outputnutanixobjects.py | 2 + .../models/outputopentelemetry.py | 2 + .../models/outputprometheus.py | 2 + .../models/outputresponse.py | 748 +- ...se_outputwebhook_authentication_type_1.py} | 15836 +++++++------- ...=> outputresponse_pqcontrols_statsdext.py} | 13396 ++++++------ src/cribl_control_plane/models/outputring.py | 2 + .../models/outputrouter.py | 2 + src/cribl_control_plane/models/outputs3.py | 2 + .../models/outputscalitys3.py | 2 + .../models/outputsecuritylake.py | 2 + .../models/outputsentinel.py | 2 + .../models/outputsentineloneaisiem.py | 2 + .../models/outputservicenow.py | 2 + .../models/outputsignalfx.py | 2 + src/cribl_control_plane/models/outputsnmp.py | 2 + src/cribl_control_plane/models/outputsns.py | 2 + .../models/outputsplunk.py | 2 + .../models/outputsplunkhec.py | 2 + .../models/outputsplunklb.py | 2 + src/cribl_control_plane/models/outputsqs.py | 2 + .../models/outputstatsd.py | 2 + .../models/outputstatsdext.py | 2 + .../models/outputstorjs3.py | 2 + .../models/outputsumologic.py | 2 + .../models/outputsyslog.py | 2 + .../models/outputtcpjson.py | 2 + .../models/outputwavefront.py | 2 + .../models/outputwebhook_union.py | 4 + .../models/outputwizhec.py | 2 + src/cribl_control_plane/models/outputxsiam.py | 2 + src/cribl_control_plane/models/packinfo.py | 30 + .../models/packinstallinfo.py | 30 + .../models/packrequestbody_union.py | 160 +- .../models/packuninstallinfo.py | 4 + .../models/packupgraderequest.py | 12 +- .../pipelinefunctionaggregatemetrics.py | 6 +- .../models/pipelinefunctionaggregation.py | 6 +- .../models/pipelinefunctionautotimestamp.py | 6 +- .../models/pipelinefunctioncef.py | 10 +- .../models/pipelinefunctionchain.py | 6 +- .../models/pipelinefunctionclone.py | 6 +- .../models/pipelinefunctioncode.py | 6 +- .../models/pipelinefunctioncomment.py | 6 +- .../models/pipelinefunctiondistinct.py | 6 +- .../models/pipelinefunctiondnslookup.py | 6 +- .../models/pipelinefunctiondrop.py | 6 +- .../models/pipelinefunctiondropdimensions.py | 6 +- .../models/pipelinefunctiondynamicsampling.py | 6 +- .../models/pipelinefunctioneval.py | 6 +- .../models/pipelinefunctioneventbreaker.py | 6 +- .../models/pipelinefunctioneventstats.py | 6 +- .../models/pipelinefunctionexternaldata.py | 6 +- .../models/pipelinefunctionflatten.py | 6 +- .../models/pipelinefunctionfoldkeys.py | 6 +- .../models/pipelinefunctiongenstats.py | 6 +- .../models/pipelinefunctiongeoip.py | 6 +- .../models/pipelinefunctiongrok.py | 6 +- .../models/pipelinefunctionhandlebars.py | 6 +- .../models/pipelinefunctionjoin.py | 6 +- .../models/pipelinefunctionjsonunroll.py | 6 +- .../models/pipelinefunctionlakeexport.py | 6 +- .../models/pipelinefunctionlimit.py | 6 +- ...pelinefunctionlocalsearchdatatypeparser.py | 6 +- ...ipelinefunctionlocalsearchrulesetrunner.py | 6 +- ...pipelinefunctionlocalsearchschemamapper.py | 6 +- ...efunctionlocalsearchtimerangenormalizer.py | 6 +- .../pipelinefunctionlocalsearchtransformer.py | 6 +- .../models/pipelinefunctionlookup.py | 6 +- .../models/pipelinefunctionmask.py | 6 +- .../models/pipelinefunctionmvexpand.py | 6 +- .../models/pipelinefunctionmvpull.py | 6 +- .../pipelinefunctionnotificationpolicies.py | 6 +- .../models/pipelinefunctionnotifications.py | 6 +- .../models/pipelinefunctionnotify.py | 6 +- .../models/pipelinefunctionnumerify.py | 6 +- .../models/pipelinefunctionotlplogs.py | 6 +- .../models/pipelinefunctionotlpmetrics.py | 6 +- .../models/pipelinefunctionotlptraces.py | 6 +- .../models/pipelinefunctionpack.py | 6 +- .../models/pipelinefunctionpivot.py | 6 +- .../models/pipelinefunctionpublishmetrics.py | 6 +- .../models/pipelinefunctionredis.py | 6 +- .../models/pipelinefunctionregexextract.py | 6 +- .../models/pipelinefunctionregexfilter.py | 6 +- .../models/pipelinefunctionrename.py | 6 +- .../models/pipelinefunctionrollupmetrics.py | 6 +- .../models/pipelinefunctionsampling.py | 6 +- .../pipelinefunctionsearchengineexport.py | 6 +- .../models/pipelinefunctionsend.py | 6 +- .../pipelinefunctionsensitivedatascanner.py | 6 +- .../models/pipelinefunctionserde.py | 6 +- .../models/pipelinefunctionserialize.py | 6 +- .../models/pipelinefunctionsidlookup.py | 6 +- .../models/pipelinefunctionsignalfilter.py | 6 +- .../pipelinefunctionsnmptrapserialize.py | 6 +- .../models/pipelinefunctionsort.py | 6 +- .../models/pipelinefunctionstore.py | 6 +- .../models/pipelinefunctionsuppress.py | 6 +- .../models/pipelinefunctiontee.py | 6 +- .../models/pipelinefunctiontrimtimestamp.py | 6 +- .../models/pipelinefunctionunion.py | 6 +- .../models/pipelinefunctionunroll.py | 6 +- .../models/pipelinefunctionwindow.py | 6 +- .../models/pipelinefunctionxmlunroll.py | 6 +- src/cribl_control_plane/models/pqtype.py | 6 +- .../models/tagstypepackinstallinfo.py | 12 + .../models/tlssettingsserversidetype.py | 2 + .../models/updatepacksbyidop.py | 4 +- .../models/updateroutesbyidop.py | 4 +- .../models/updateroutesbypackandidop.py | 4 +- .../models/uploadpackresponse.py | 2 + src/cribl_control_plane/packs.py | 40 +- src/cribl_control_plane/packs_destinations.py | 12 +- src/cribl_control_plane/packs_routes.py | 24 +- src/cribl_control_plane/routes_sdk.py | 24 +- src/cribl_control_plane/utils/retries.py | 95 +- 1352 files changed, 63362 insertions(+), 51678 deletions(-) create mode 100644 docs/models/activehealthoverlaystatus.md create mode 100644 docs/models/createoutputauthenticationmethodalibabaclouds3.md create mode 100644 docs/models/createoutputoutputibmclouds3.md create mode 100644 docs/models/createoutputsystembypackauthenticationmethodalibabaclouds3.md create mode 100644 docs/models/createoutputsystembypackoutputibmclouds3.md create mode 100644 docs/models/createoutputsystembypacktypeibmclouds3.md create mode 100644 docs/models/createoutputtypeibmclouds3.md create mode 100644 docs/models/getfunctionsrequest.md create mode 100644 docs/models/healthoverlaystatus.md create mode 100644 docs/models/noactivehealthoverlaystatus.md create mode 100644 docs/models/outputalibabaclouds3authenticationmethod.md create mode 100644 docs/models/outputibmclouds3.md create mode 100644 docs/models/outputibmclouds3type.md create mode 100644 docs/models/outputresponseauthenticationmethodalibabaclouds3.md create mode 100644 docs/models/outputresponseoutputibmclouds3.md create mode 100644 docs/models/outputresponsetypeibmclouds3.md create mode 100644 docs/models/tags1.md create mode 100644 docs/models/tags2.md create mode 100644 src/cribl_control_plane/models/activehealthoverlaystatus.py rename src/cribl_control_plane/models/{createoutput_outputwebhook_webhook_1.py => createoutput_outputwebhook_authentication_type_1.py} (97%) rename src/cribl_control_plane/models/{createoutput_pqcontrols_statsd.py => createoutput_pqcontrols_statsdext.py} (97%) rename src/cribl_control_plane/models/{createoutputsystembypack_outputwebhook_webhook_1.py => createoutputsystembypack_outputwebhook_authentication_type_1.py} (97%) rename src/cribl_control_plane/models/{createoutputsystembypack_pqcontrols_statsd.py => createoutputsystembypack_pqcontrols_statsdext.py} (97%) create mode 100644 src/cribl_control_plane/models/getfunctionsop.py create mode 100644 src/cribl_control_plane/models/healthoverlaystatus.py create mode 100644 src/cribl_control_plane/models/noactivehealthoverlaystatus.py create mode 100644 src/cribl_control_plane/models/outputibmclouds3.py rename src/cribl_control_plane/models/{outputresponse_outputwebhook_webhook_1.py => outputresponse_outputwebhook_authentication_type_1.py} (97%) rename src/cribl_control_plane/models/{outputresponse_pqcontrols_statsd.py => outputresponse_pqcontrols_statsdext.py} (97%) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 98c46b65a..737d20451 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: cfa345be-20bc-4980-a260-c3fa74040ac2 management: - docChecksum: f390488ec23c2f9ad1d367c85c6e6245 - docVersion: 4.19.0-alpha.1781564968784-83d7e3bb - speakeasyVersion: 1.778.0 - generationVersion: 2.904.2 - releaseVersion: 0.9.0b5 - configChecksum: 67d7e7f53e9f28ab0c1c5c78fc28d8a8 + docChecksum: 6d0fa1e0622885407701e86246cd5135 + docVersion: 4.19.0-alpha.1781910200538-80d95f00 + speakeasyVersion: 1.784.0 + generationVersion: 2.911.0 + releaseVersion: 0.9.0b6 + configChecksum: eba0eaa16bc71dbda2f799f9259360bb repoURL: https://github.com/criblio/cribl_control_plane_sdk_python.git installationURL: https://github.com/criblio/cribl_control_plane_sdk_python.git published: true persistentEdits: - generation_id: f0b29d68-c155-4fed-91f3-4226cfa228d6 - pristine_commit_hash: 6f67861001dcf0a765877936930f16fbf8d253a2 - pristine_tree_hash: 7b70f876d5a0815ddfdcc237ba55e71ff92c40fb + generation_id: ef3e083e-0efa-46e8-bff0-fb9fa5039bce + pristine_commit_hash: df27c8e2f05261ed03c644849e19c935aee804da + pristine_tree_hash: 0a2fae646cc1fccf3d55f08150522d5dd2493b40 features: python: additionalDependencies: 1.1.0 @@ -41,8 +41,8 @@ features: openEnums: 1.0.4 pagination: 3.0.10 responseFormat: 1.1.0 - retries: 3.0.5 - sdkHooks: 1.2.1 + retries: 3.0.7 + sdkHooks: 1.2.2 unions: 3.1.6 uploadStreams: 1.0.3 trackedFiles: @@ -76,8 +76,8 @@ trackedFiles: pristine_git_object: d6d15d97637db16fc6d257bf663f1e015c5e130d docs/errors/healthserverstatuserror.md: id: 51079fa643e6 - last_write_checksum: sha1:41df9979f50d1208c2766215786811d3e4b18e37 - pristine_git_object: 3f82df23351da7a112046bf0bcd9824d54694c7f + last_write_checksum: sha1:dc55de1393d0bb27d33fc718eb088339c7658f07 + pristine_git_object: 69f80e9794c9ac89bb0a761f80358d93467490ae docs/errors/restapijsonerror.md: id: a3a527bea363 last_write_checksum: sha1:7697b13c450bbc80ccda29471da9d9ce58ad7c67 @@ -90,6 +90,10 @@ trackedFiles: id: 4230547b8af0 last_write_checksum: sha1:f9663885466c983bcce24a5d70e51d2be713f147 pristine_git_object: 89a9f8d96a55471984901e30fedf3e1a5a75fa24 + docs/models/activehealthoverlaystatus.md: + id: bdbde09c1f96 + last_write_checksum: sha1:bcea708e5327c444ec6531e17f7cca0c03697895 + pristine_git_object: 3d327a60a54a976aa4ab159ba25c158022f6b773 docs/models/addconffunctionconfschemaaggregation.md: id: 261c472b3181 last_write_checksum: sha1:baa877b941869561b0d94de0791e006fab7c1f79 @@ -576,8 +580,8 @@ trackedFiles: pristine_git_object: 0406bc61006b64212cd716fb8020faf97275cbdb docs/models/connectionconfinputcollection.md: id: 68c8aa0338e4 - last_write_checksum: sha1:7ed785a541e1369927179d32f32f95fa0e331a89 - pristine_git_object: 6595dd5ecb4092f9f519283707f12423b5e4de09 + last_write_checksum: sha1:766b6e8500917c88d05f2ef502e35bf02a1a1b45 + pristine_git_object: 91aa0618cbb159943d8de33e02c7609ed2c3e88a docs/models/connectionprotocol.md: id: c1be97457790 last_write_checksum: sha1:b07612fbc5da4ea41d54c91a65dda38629564e0e @@ -824,8 +828,8 @@ trackedFiles: pristine_git_object: 8e38bc6de68b92503d2bcfc34337d780a4d332d8 docs/models/createinputauthtokensplunkhec.md: id: 5de09434decc - last_write_checksum: sha1:39fa1c717a5aeebcc4b19e63ec0e63c01f4595d5 - pristine_git_object: 660c68593b4fbe0cdf87db70ddb373aeefa1249a + last_write_checksum: sha1:7d67ac30a15dba9e2041bf71f9a7d53bdef7b8e8 + pristine_git_object: 1e5834a78bab21306763b3cb6609c29d30aee793 docs/models/createinputauthtokenzscalerhec.md: id: 4784d88bc216 last_write_checksum: sha1:dd499dbca916086a974945e21bbc7d72b4d07296 @@ -992,92 +996,92 @@ trackedFiles: pristine_git_object: cddc958c2b78d132e8c511419c13cee7cbab6141 docs/models/createinputinputanthropiccompliance.md: id: 1195fca8486d - last_write_checksum: sha1:9cdecf6c0d87785944c9e95fa2fe9c44233ee7a8 - pristine_git_object: 87b020160a22c9c8aca522a0b2181d8102bd935c + last_write_checksum: sha1:f6ca8daaba48c7132d91497db0a6ca6d31221607 + pristine_git_object: c490f56beeaa1d8f732de1f0bfb01a3564859254 docs/models/createinputinputappleunifiedlogs.md: id: b38e9fa29997 - last_write_checksum: sha1:431d3c88b56035c434a421275d9e32b522200b2a - pristine_git_object: 273cc699b73c41ed746b1a3e8190955248d4ec03 + last_write_checksum: sha1:c5c8aab3940e5018c29a150f927c313bd0f3e2cf + pristine_git_object: 1bfdc48d55594ff0d8476e41f9cc1acc857d0c52 docs/models/createinputinputappscope.md: id: afb18990ae93 - last_write_checksum: sha1:d8274ae84bcd2208dd8f549fc43b1adb94053bf3 - pristine_git_object: c7208827973cf5a641d91c8f1b1ad9e937872f3b + last_write_checksum: sha1:a5d7dc8b41fb776f0d8504036d217b338fded474 + pristine_git_object: e1c91882eaac7396aa82af035bf9c5d174f4efbf docs/models/createinputinputazureblob.md: id: ef82229ad226 - last_write_checksum: sha1:0d43e59c04fbf8486e680e6a99f91528e5298cf3 - pristine_git_object: c31da67c56c9533d693361b6ee5c297ca2d739c1 + last_write_checksum: sha1:bce820b0e8ec2b9382f441d8aa5c5cdd8cc97410 + pristine_git_object: 8ea4e0e098fec87e44d8890e52e7b45a96424b32 docs/models/createinputinputcloudflarehec.md: id: 01e243a7b106 - last_write_checksum: sha1:4cd4596cb342d3399989257008947b230d38805f - pristine_git_object: 0001a3eac89d36835ca6091d077e349e1309f3b2 + last_write_checksum: sha1:ca55a4bde1de2a527aaf05299587e386ca04fd93 + pristine_git_object: fca287b9b5fc2e6bf0688aa34c8e5bacba7b516d docs/models/createinputinputcollection.md: id: eecc2f47be9c - last_write_checksum: sha1:2500281803e68a07121a2b5a78e1c234e1e17cc5 - pristine_git_object: 6c66685582a1d38d8f68bdf4fbdde937e9739183 + last_write_checksum: sha1:dc9543a091998e7adc8c93e1c6e230e02d7d6239 + pristine_git_object: 053e8a3a62c7c0e60058472a808fb9560adf6f49 docs/models/createinputinputconfluentcloud.md: id: 39da2b8099e8 - last_write_checksum: sha1:05ec68c3ce09534525b231a7a4d3b220c0a1fe89 - pristine_git_object: 2e9f31dfa985f1ff1ecfcd0c36559f4d2bd97d26 + last_write_checksum: sha1:c3eac53d09500f12f7dcd8cd198ab546f385fa23 + pristine_git_object: 9077af10df6e65e945ed3d61efb166106b2da187 docs/models/createinputinputcribl.md: id: d2255710816d - last_write_checksum: sha1:b0f5ee7df110f7b8b284804289defbc75627a16c - pristine_git_object: d7462782df468f8aa513f23057200098dc4599d5 + last_write_checksum: sha1:8e4158647e33b1d5662f481fcf4a4e5a784600d2 + pristine_git_object: bfa92d6597ee3be2f9d8e9da78995f39f12e02ff docs/models/createinputinputcriblhttp.md: id: 151544ab4626 - last_write_checksum: sha1:77ca4e4cc46b9140a74af677acdef8dc674779e0 - pristine_git_object: 291fcef4fee7486afdef487f35c9af4c7f31f53a + last_write_checksum: sha1:34829fe204a5707bec9bb98b4ae5868792c1e32a + pristine_git_object: 65a50b931a4123140d5e1d21d7da9917cee0bd01 docs/models/createinputinputcribllakehttp.md: id: cfcc443089a6 - last_write_checksum: sha1:ace725d62d5c7b98b0c13e994cea6000e7c24ba4 - pristine_git_object: 26fa6200b442c72126e1805837d3279bba438397 + last_write_checksum: sha1:287bdcd84cef87d33eec6184f9746b270826e8ca + pristine_git_object: 98a43b2f401bd1b81bd688ed24db3484d58fcb36 docs/models/createinputinputcriblmetrics.md: id: fce752f459bb - last_write_checksum: sha1:2d6c673e780475832ca0f8a7e90f3d96a98633cc - pristine_git_object: 25ec40a3ac55a31190a70e87c433c6e1230806e9 + last_write_checksum: sha1:d711233f13ea2fbacff1013d8ec51e8b81cdab7b + pristine_git_object: e2af1cea47f73e2bd101b057ce009e93efbf6b0b docs/models/createinputinputcribltcp.md: id: f4fb29b03884 - last_write_checksum: sha1:23d4a77819e153cbef44e180e61087404bf0f3a5 - pristine_git_object: f093bbae901f9ae835862ee8cac29c6552feb94f + last_write_checksum: sha1:524db98b4964cea938bd32038ad8cfdee0f5ed3b + pristine_git_object: 4507db174926a05af4f10cf90404f820d20e13d6 docs/models/createinputinputcrowdstrike.md: id: 29c003b23774 - last_write_checksum: sha1:251035fb429fbc4ae4c101c0bfe1e80beed88f2c - pristine_git_object: d8f771a17ae8444acf945832f9c479aa17b9c878 + last_write_checksum: sha1:83a3c7751baed194ce73b36554135fc05a6be0d0 + pristine_git_object: cf2fa4852f7d5e2f451e0d44f93af7562fd593ff docs/models/createinputinputdatadogagent.md: id: 60edcb257959 - last_write_checksum: sha1:41dfca95e573a491849bb602aeb7fb7c4ae63fa8 - pristine_git_object: 94bc6077695321141cb619351e10afdb9f898606 + last_write_checksum: sha1:2b16d84e929eb3a8b68d07d09c8b7a96715a9a91 + pristine_git_object: e60d37ddb9a193ebc21fbdf28e1bc369098b7a9a docs/models/createinputinputdatagen.md: id: 21ec7cf73e0c - last_write_checksum: sha1:e0742389fa721f51d593dba8feb23a34e229ef69 - pristine_git_object: 676b89f6eb0c28deaf6d13ddd5af8a728ace68d8 + last_write_checksum: sha1:697bd4780d6e35b93be4240948bb3cd1ee7b4096 + pristine_git_object: c09efd1d042e58991d3e333a30528affb7d73dfe docs/models/createinputinputedgeprometheus.md: id: 20ef3d311b43 - last_write_checksum: sha1:b18423b3f4cbfe78deda57ffc32544f4d554c953 - pristine_git_object: 8001d82da433cba66a3766865f416e150cbc530b + last_write_checksum: sha1:0f2f64c65e054b0e7a9d65f2ad81f8fbae49e093 + pristine_git_object: 46cf2d3edff5910bbde04c7118dfa79c0e491212 docs/models/createinputinputelastic.md: id: 3d180ba57ce2 - last_write_checksum: sha1:d0059be9a1c6481f308362e3475e54939c4d53b4 - pristine_git_object: 9f3ca6afadf59bb773130d55fc4214e18d419f00 + last_write_checksum: sha1:41dba760b945a93422829de3840079467cdd3bd3 + pristine_git_object: ff2e1e6806e719ff7fad1fbd4fed7ecbabf51ef5 docs/models/createinputinputeventhub.md: id: 519e2cf82f1b - last_write_checksum: sha1:3b9ad6516e4dc9394381ced50f79f79c67843567 - pristine_git_object: 0e1f3300d7ac3af91b14d3c4a2a8c91795aa9229 + last_write_checksum: sha1:3dff113589b2b61c2b8d46df37b5a8bb1f102c31 + pristine_git_object: 6ef39e3a13ceaa65cdbeb517892a6696662d4bfb docs/models/createinputinputeventhubamqp.md: id: 1d85feb8c208 - last_write_checksum: sha1:9bdae2039b1e24b3d51191475c553d5a16619a52 - pristine_git_object: a4c27147029225e4d68d05975a602f5177e47af5 + last_write_checksum: sha1:b59a61c8809c8709b8113628e961b3c9313e361f + pristine_git_object: 8e0cd27f8e341f0fc05c5c93e2d6f3e43e5d34b3 docs/models/createinputinputexec.md: id: ac1fcdf1f5bd - last_write_checksum: sha1:0868d04b7792446d3adabe770654f66b2b4ed378 - pristine_git_object: 0e9168003278b98f70c82fc9802f10a951265b85 + last_write_checksum: sha1:26a576c99090c448968a24e3a98e2b4a3a14a82e + pristine_git_object: c6f6ed5877e24f7f2bfec4293fe72173fb6d1e74 docs/models/createinputinputexectype.md: id: 085784ab0a61 last_write_checksum: sha1:b28bcba684df8e9c33c72a382dda309f269e0a08 pristine_git_object: ae257bfbc0bf9c259b99b604b8ddd419937fa30e docs/models/createinputinputfile.md: id: 271e00f549e5 - last_write_checksum: sha1:e45a696c47db62054fd8214dbdd73902676a5c73 - pristine_git_object: 94d3c8f380c94e8a5f62b23b4c538680d11a08f0 + last_write_checksum: sha1:e47a22d428e5fc3ec6636adadeab7dd9d4fe9441 + pristine_git_object: 5031e2764bab4704376478430d8244b1f82a08a5 docs/models/createinputinputfilemode.md: id: 4fa25cdbe7b0 last_write_checksum: sha1:4adbf997a7a1d600f205a8c1023c7e0127edd2a7 @@ -1088,44 +1092,44 @@ trackedFiles: pristine_git_object: 04202dab0d30793f01f6577a07f745c26a7dbad7 docs/models/createinputinputfirehose.md: id: ef6207eb88ec - last_write_checksum: sha1:b5d5c7a4460bec518180385b45b57133450a5fde - pristine_git_object: b8b01ef11e7ac0df5c26de2006d83397304f3be7 + last_write_checksum: sha1:2b242e02d3063b39627c7d520a1cd166c6d7b070 + pristine_git_object: adaaeb664786950cca712a54e5501e978b2ce80f docs/models/createinputinputgooglepubsub.md: id: 275d9108a951 - last_write_checksum: sha1:61d171086b6ee6a1dd9466f9b7f4f003cf8824e1 - pristine_git_object: 43adc6a5c857dc1801c03a2f2ba4d09bad529e49 + last_write_checksum: sha1:4d7cf0974d5273cb025af7711053c888c74923a3 + pristine_git_object: 21bff27964983162596a8e6dbb8d696d4ac7fac8 docs/models/createinputinputgrafanagrafana1.md: id: de27560b0e71 - last_write_checksum: sha1:517ec97262d18854338b1aa236788ce51a265d17 - pristine_git_object: e982a6fc2f709b75b71e2b15990242ce94c96bb7 + last_write_checksum: sha1:d2534a0087cc1bcde40b560e8fdd551ab541dfc7 + pristine_git_object: 6a971d73b74f3ec653acdeb69de2bf788eecdd4a docs/models/createinputinputgrafanagrafana2.md: id: 80ede76d5240 - last_write_checksum: sha1:1dc8ec88252f067de5607b2ffa5067d7509b5fc8 - pristine_git_object: ee9a110cbd213946f77bafee97823d1b9e59c586 + last_write_checksum: sha1:5206c34a311b7fc6ccf4edfa9ece843a41738bb4 + pristine_git_object: 3aa286badb3957c782bd7cca4762db0f3c6d0379 docs/models/createinputinputgrafanatype1.md: id: 519cf9d17365 - last_write_checksum: sha1:94b0fd01d4da0cf8f1588a5ed7a63e754f2e9d14 - pristine_git_object: 76587f6d6f15422907b32eb33cca2906fd7d4b7d + last_write_checksum: sha1:fd6536b60df67a9da73d1840287ad717873b17be + pristine_git_object: 28997cc35d461e4d21f644079fd915d480df8d42 docs/models/createinputinputgrafanatype2.md: id: 6f6d4cff6a49 - last_write_checksum: sha1:20a80118e438a8e9faa2dc47d3cecd1b97568a38 - pristine_git_object: 2de5384f0b8549fa5da76a6b26285634880202f8 + last_write_checksum: sha1:9bea53bdcd2fde4db8c7395f77627df9ae671a77 + pristine_git_object: 6f8fd4ebff537a0c5e40b1a4b44273cfbd76d02a docs/models/createinputinputgrafanaunion.md: id: 6230c3291677 last_write_checksum: sha1:2ff192f0705730ae138a024c9879b8612402fa70 pristine_git_object: cbbb9c829dfc9d5f1957df4d56919a279b3b2479 docs/models/createinputinputhttp.md: id: 3779621ed420 - last_write_checksum: sha1:6384180d18c7108a0f0b4de206a69b93fe897d63 - pristine_git_object: 8878f11eb37e6446b2af7c5f27b5f89e284704b8 + last_write_checksum: sha1:960fac151660d7ab88e2d6c38cceb0fbef8e65d5 + pristine_git_object: 11a9db440a9b7d9d76d5dbd9919b6958b155e470 docs/models/createinputinputhttpraw.md: id: f16d55346af0 - last_write_checksum: sha1:9dcac26ae6dc6f655b491c87296dd319ff0fbcd7 - pristine_git_object: 43259f9f6d02693698c132818b18b4ece9325351 + last_write_checksum: sha1:b4e5cff2433d03e9a063f40a8366a9a146be60cf + pristine_git_object: 3d7bbd4ace7826521e66f8a6d303c0ac50286a52 docs/models/createinputinputjournalfiles.md: id: 6f5fd60da521 - last_write_checksum: sha1:e5eb0b99f761678ba5578ab98b981d6ff248d620 - pristine_git_object: 1eb6457a3880f4b4b02b6ae626a2054e10f79227 + last_write_checksum: sha1:fd62a045c484c7be64ab787eb518028937853dcc + pristine_git_object: 1e2b47b9b19dfe13476d761baeeb74a475e48549 docs/models/createinputinputjournalfilesrule.md: id: e4029c583895 last_write_checksum: sha1:a5a64ef36579d49718c73b50a97f64f8f20bd170 @@ -1136,136 +1140,136 @@ trackedFiles: pristine_git_object: 39bba5aeac59e6fb0ad037e114250643cbd56b1b docs/models/createinputinputkafka.md: id: bb7280cb324b - last_write_checksum: sha1:0e6da8ed57a86ba79a6a5ef013467656f8527f03 - pristine_git_object: f7d09f724789e8aef46b5846f0f6735afa796ebd + last_write_checksum: sha1:2319eb9f0d534f242202808fb5a8f01a710f7aab + pristine_git_object: d635e5bdb803290f88eeadbc88522a7cc9ef18c3 docs/models/createinputinputkinesis.md: id: cb4f18b0fd0b - last_write_checksum: sha1:f49aecb8538d2fad3e9cdacb64d51e719be13027 - pristine_git_object: 0cb3db5e2dd4c68846bbacb22922f16eb0911f52 + last_write_checksum: sha1:7adcc99342382416801289ac2238d141c207246f + pristine_git_object: ad5f9d07abf0dc7ebcfd63d61e01c83ad8527961 docs/models/createinputinputkubeevents.md: id: 47eb0b866fc0 - last_write_checksum: sha1:5b8535eb7b879c5862dce29112e435570787c265 - pristine_git_object: e2445f7938570f7ff0b38c2d733e2ff1b19716b3 + last_write_checksum: sha1:5900420818eba5ea89c537aa77b781165c7b1770 + pristine_git_object: 72c160ba99af4227cf0b737d00c6124955057fec docs/models/createinputinputkubelogs.md: id: c5b79127f396 - last_write_checksum: sha1:26b78c6f1c20defcef3b373bd1f75dc8a9d5d4d1 - pristine_git_object: b3726aef860f45653e434a150a8dc3125d3efc8d + last_write_checksum: sha1:205515f295fff8a06044f892c150b7a2459ae4ce + pristine_git_object: 273f0c21caab3c8c49f5c88c99900688a13e75bc docs/models/createinputinputkubemetrics.md: id: e42754185352 - last_write_checksum: sha1:268b8b65f3f4b895c205f7af3eaf8523576d6bbe - pristine_git_object: 52d6e6a193e20fbafe190341ac6718b6651654c3 + last_write_checksum: sha1:38ed596088bd8d39684f98c3cbdda371eea9caf1 + pristine_git_object: f242bbdae43cd2e9b3fe0f37377ae417aa59d991 docs/models/createinputinputloki.md: id: d756b6dd0ccb - last_write_checksum: sha1:60ad9652fa040977024f2f9d46e1dcbdae2b1518 - pristine_git_object: 9c3249e7d55ce06bb01a6d4f34ef961fc6b2c627 + last_write_checksum: sha1:b95cdf221ded9e013a37970e03c05608d5cfae05 + pristine_git_object: aeb82852270118beb1e2e72d3fa026352640c124 docs/models/createinputinputmetrics.md: id: ecbeb2cf290f - last_write_checksum: sha1:699a314c9543968d7aae78e8d48a616e0f32ed0f - pristine_git_object: fd0228ff565566e7dabcdea9aaeb8481e908e346 + last_write_checksum: sha1:4cbf8a671efdbfe104c166b40cbb28d115390645 + pristine_git_object: 6ea20804fb2cbf0ea4030d699787db720f3b161e docs/models/createinputinputmicrosoftgraph.md: id: 4bd82657dc90 - last_write_checksum: sha1:d69c362d3503853a590213220d6b9d4e9b9e72fb - pristine_git_object: 76d5af11d2916b1f94a28881b8607203414a7965 + last_write_checksum: sha1:beb3b22f587cf30e0b6601b33466e4de60dac620 + pristine_git_object: eda5aa886e7bc42a6d9c8bdbaae4bf21fc5e564e docs/models/createinputinputmodeldriventelemetry.md: id: 51f28f0fab6b - last_write_checksum: sha1:1e5c726f6c500b2e812ae94646e3e3d37d952863 - pristine_git_object: 982b7fb467fad154caa638af90c1e0c23e3bccba + last_write_checksum: sha1:bf69e040732799c422b6ca8f63eaf6e730661870 + pristine_git_object: e75264ea1561e3d5c7df4ca9216a73fff60651d3 docs/models/createinputinputmsk.md: id: 15adcb66d053 - last_write_checksum: sha1:74a8eec17311bb4ab83641931bee58b7f08c652e - pristine_git_object: 9c7ae020e26af79f5928a85aadbf53725952786a + last_write_checksum: sha1:da554f1cc1cfdcf9b31acfc733e5f53bd5425015 + pristine_git_object: 8cc6a77cea00cd7b62c4215fa3f313c229f21299 docs/models/createinputinputnetflow.md: id: 1ca2f9008285 - last_write_checksum: sha1:39d68158d2b46fe0d450ebe6da628a39c3249a2c - pristine_git_object: 799078cccd39b7fa7a91901e1b76a08bbf3edc1b + last_write_checksum: sha1:852e7520517b35092843e17527c46bf58845ed1d + pristine_git_object: 9817cc5300f973ba59857edb299dee74f65bd293 docs/models/createinputinputoffice365mgmt.md: id: 46a34f6835e0 - last_write_checksum: sha1:ef208632ffbbc8f45388616dc0d71e8230f0c457 - pristine_git_object: 2224696452fef4ac382eb6b278845a4931d2fa6c + last_write_checksum: sha1:97fa4de1321e8509f78101ef552a0ea5d195a63e + pristine_git_object: fed906ba92599aa6b55133bbb2e06334c9aaef4b docs/models/createinputinputoffice365msgtrace.md: id: 4c5758f6042c - last_write_checksum: sha1:751f02a679123f123334906258d672bd551b4156 - pristine_git_object: adb3976120758d1ac8ab4194bf6e28a29c0e9e31 + last_write_checksum: sha1:14db066eaa8a6be627799c90ddc838ae29641b65 + pristine_git_object: 5a5ee5518862aea6e93a8dca0472ea888970326a docs/models/createinputinputoffice365service.md: id: 2ee9f32c385d - last_write_checksum: sha1:ed8a04f2edfca823ebfa069c3baf4b0c3b6e82b7 - pristine_git_object: 460e837972e97e6dc99b0625070a6df77c9f1a94 + last_write_checksum: sha1:3634dcfe8ad48f545a52d09a3bfa6a8806924828 + pristine_git_object: 22495778787997ff079ce1429bebcf15d52b04f8 docs/models/createinputinputokta.md: id: 88241090c957 - last_write_checksum: sha1:2a9202aa3b2016e0267ce10cbeb96bead7c44dc0 - pristine_git_object: 2b8425e92b2b8db0c95bfe6d10e4cff2dbf349c9 + last_write_checksum: sha1:ca2a8a34eb4ba27942577dc7a693c51563965082 + pristine_git_object: ffb153caad13d96192a1d11d1a3db5c949675052 docs/models/createinputinputopenai.md: id: 7ff04ab6beeb - last_write_checksum: sha1:5055824517049353ba53a41a792a336c486156f0 - pristine_git_object: a1d62e5f6bea71cdbecefaa2bdcf0d94a494e4d2 + last_write_checksum: sha1:69dcd702d62e539051cea77f33be8662c8036fe4 + pristine_git_object: 1a81a1fb6c3d15a5fb79f9e76709c826309431fe docs/models/createinputinputopenaicompliancelogs.md: id: 2f30d630ed3b - last_write_checksum: sha1:ab218de09902160c01aa29617d237a0408e8f252 - pristine_git_object: bacc2a6d8c311481d152ae3b9f2b620cb791036e + last_write_checksum: sha1:8d5793f951a6ca7eeb9aa692bbe37e7c8b263ae3 + pristine_git_object: bde3823df50ff58e005c9d89e779272fed35b18d docs/models/createinputinputopentelemetry.md: id: 7a0edfa30cc3 - last_write_checksum: sha1:bfbc79a56ce8701734b64ad5d1dfa555f03affbc - pristine_git_object: 8b9f63a7ad041031a307f3b0089be0041cc9b79f + last_write_checksum: sha1:6c9114e89268965286dff5f71aac85f2a1cbb5da + pristine_git_object: 58a1aecd374b43bae9a9fed6f9ddc5c075c4a2b6 docs/models/createinputinputprometheus.md: id: 646e34e21d66 - last_write_checksum: sha1:ce1503766fc6fbefd53078e66c0d7a522b167ada - pristine_git_object: 63b6c9be7af80b72c5b4a94e1e553673f218632e + last_write_checksum: sha1:35f8214b96df4bec56ee36b67dfe87dd21ae2bee + pristine_git_object: fc64cd459f6760538bfce467e0570495da50815b docs/models/createinputinputprometheusrw.md: id: e52eef6a03d6 - last_write_checksum: sha1:530789b241202fef069947fc182610dd9967746e - pristine_git_object: a7e4e6bfb5cb98683e19e3cc08ab3a611ca34bfe + last_write_checksum: sha1:3f4fb59a7f6a5ef02434b24bbfa34f9a898eabfc + pristine_git_object: 6dc774bbb474d12c3857a0b993327d81c22b8788 docs/models/createinputinputrawudp.md: id: 59725c2a1d3c - last_write_checksum: sha1:10614f0099f4b3a53f96f39d4902c924445957fe - pristine_git_object: 96a4c646745b140b31cc029f7cdeeedd8fd80067 + last_write_checksum: sha1:7da5c275494822a7c3ed175857995b665e5ecc8f + pristine_git_object: 65cececb705db859e6e44888f15d68116b72b461 docs/models/createinputinputs3.md: id: 29538a4d9531 - last_write_checksum: sha1:4fad266713f2e68114bf34ffb634efff7465d4e5 - pristine_git_object: 73735f6e2e96e0bd5b7dbe1da7006fe3b0edf9cc + last_write_checksum: sha1:4f71aa0e59eab4181d116259aa72029db9bc73f5 + pristine_git_object: 2a1a35479fe150d5a6d46b8b3ca8905e7a78904c docs/models/createinputinputs3inventory.md: id: 035e16b2ba0d - last_write_checksum: sha1:e4619615dba9e710d3fe3925d137781d6b7e3adc - pristine_git_object: 20fcf0856788925d5ed666ba6202bcbc22215faf + last_write_checksum: sha1:4f5f0211c3d48a5296d65b3d443add2026233512 + pristine_git_object: 6de8a7b6660d85b7c31600f3c1f6d453ac64a4fe docs/models/createinputinputsecuritylake.md: id: adfd47f46e98 - last_write_checksum: sha1:303d4c6c8109528ce3c7840808d67455b57f4c56 - pristine_git_object: 7aae0ae1ff57d3c8b6bdaa6e1c381b3da2d659f7 + last_write_checksum: sha1:162f07fd621544ed74312230e417535df97bc12a + pristine_git_object: ad9122b22a0a76a9728b563d489d62e7ebab1025 docs/models/createinputinputservicenowtable.md: id: eccd9e60eef3 - last_write_checksum: sha1:15a4ee4b602ad8239456407bca31371e006494cb - pristine_git_object: 0790f35f27607a3a259e7df93d8d31521445d7f2 + last_write_checksum: sha1:637fef0f858a803e109436e2e5202c2e06f7365f + pristine_git_object: 409e02b7e00f3452424bc5c62fbc052027404bdb docs/models/createinputinputsnmp.md: id: b0cf9ded46a1 - last_write_checksum: sha1:2d1f7eac2a9d1d6b4fb5abb2d67a68242e93fb76 - pristine_git_object: 00217c31cc8aab667cfc422ade3d696e0d70d7b6 + last_write_checksum: sha1:7939ef3d8feaf5a23c1a97b7bb0d724cc3ab2263 + pristine_git_object: 0dea88d9619ee9fca8dbfa090c4179610d412557 docs/models/createinputinputsplunk.md: id: 9e82761d7180 - last_write_checksum: sha1:eebd3e48339a27570f93996312d21f6d071faa86 - pristine_git_object: 319ecf9a7c7fbe8e6b418e9ea9ef291c0cdd4443 + last_write_checksum: sha1:8b2fa0c37a4bf3d9a77604fb6046778f96649388 + pristine_git_object: 0ee4e36fe5b956f39a484ac3c9a362b47d893f70 docs/models/createinputinputsplunkhec.md: id: 68a8c70d44e4 - last_write_checksum: sha1:7ce3299fa5accc725f511cd9400fd24ce86e5c30 - pristine_git_object: b50ade6221353fc5f4c2d41c4bdfa6f0a8562542 + last_write_checksum: sha1:785dc964f91ab4493af832cb1427bfa54b2bb607 + pristine_git_object: 8f3dec7cf0d4f5c4785ba9becfd8707173792c18 docs/models/createinputinputsplunksearch.md: id: 175694c304ae - last_write_checksum: sha1:3b72e261b2f295fadbd8b859c02660a77596900b - pristine_git_object: 57e7baf4d01db0daa59060ff49a18e9f34338fb0 + last_write_checksum: sha1:c1ffd292ec11e9718b0b359d9cb669a4d60a2343 + pristine_git_object: b4e59844e5e6e60187fd09b355fb0a6e2fb4fb6b docs/models/createinputinputsqs.md: id: 4588e475bcac - last_write_checksum: sha1:8601b951a276c4f1e1a84dba18a757b8e9983406 - pristine_git_object: d54787b88f6169c9be1e246057ff7f91e18b2cd5 + last_write_checksum: sha1:7ecbea6de2fe66baae5bf1e84af3b22b2963f842 + pristine_git_object: 3afb09fc7119fcea0e2f65fda43a5a2ea978f3dc docs/models/createinputinputsysdighec.md: id: b93bb78b500b - last_write_checksum: sha1:4238725861530b0934dbf46a81a1c50c42971156 - pristine_git_object: 874ef835ba6daa60080ed10002d3299ec43d0c3a + last_write_checksum: sha1:cbab476538ae69a49f47dbc292acb9c3cbd700a9 + pristine_git_object: 6addf983ca5c18fcb3a4a78447eb851f84a37ef6 docs/models/createinputinputsyslogsyslog1.md: id: 2598e5bd5369 - last_write_checksum: sha1:1f66ab0148e8d0f510a030e42b123654d877220b - pristine_git_object: 865fa0f084ef430e9094bc3f0e13bd9619ac9a1d + last_write_checksum: sha1:06fc924698c094796342d90c3e93c67462a2e95d + pristine_git_object: 58b0da58f5970e893273cc02f0151441e0770f95 docs/models/createinputinputsyslogsyslog2.md: id: 036fa6894ba5 - last_write_checksum: sha1:e34dc5e3d210f3a625794c220b833e92e2591483 - pristine_git_object: 2d3eaabf2b88e675b1d81733cfba78e11a4b7268 + last_write_checksum: sha1:12f57b66241fc61a320208560df957d832e357ca + pristine_git_object: 27ec4fbc3e9fdc19f27fd097a0398873cc3b8014 docs/models/createinputinputsyslogtype1.md: id: 9280b8341dd3 last_write_checksum: sha1:9f2a877f55b28239c71318fdaf2f6e781a93f2d7 @@ -1280,44 +1284,44 @@ trackedFiles: pristine_git_object: e19ab7db92bf4cafe6b9694bba9ee1237ea4012c docs/models/createinputinputsystemmetrics.md: id: 49c834651d59 - last_write_checksum: sha1:5ecc9fb31be7b4267f7e117ef59a345b4359582f - pristine_git_object: 0d0664c16fbeb2d7f4fcf89a185cb0bc4a69fb09 + last_write_checksum: sha1:18508a72e358f2fe0d4ca596d782bdf6b3b3b500 + pristine_git_object: e90831341f6f7505e439721746f18a6f98e79c13 docs/models/createinputinputsystemstate.md: id: 466ca637ba49 - last_write_checksum: sha1:018f95f46b9892502732f6951bd9b26448cd35ec - pristine_git_object: daf0252679ab6c0f3b54577d094a176817524443 + last_write_checksum: sha1:83f47d3aa380d83ad59f889aca7f368bb68cf385 + pristine_git_object: a53f7c5d58657517fc864decb7694e54909303d6 docs/models/createinputinputtcp.md: id: ee9df6e10a37 - last_write_checksum: sha1:a85b15d206d51ce1fa2cceea101dd2448ba90b87 - pristine_git_object: e4d70356ed0d6af406b495c1a0a9f8c92f689509 + last_write_checksum: sha1:037e0e1adc4823e0eabf774253449a2284145dba + pristine_git_object: 5d109d458ea0faefea9ce22e133bbaf08ec997a3 docs/models/createinputinputtcpjson.md: id: b1b2c5d217a9 - last_write_checksum: sha1:dc0af1a4315b47108cd87720da5451acd75801ab - pristine_git_object: 7e333acecab991535ce79df24450e08fe9966106 + last_write_checksum: sha1:6df210152b6eac98615accd0a0fdde92f93eb1e7 + pristine_git_object: 7ebf0c7451496ea8473fb73ecf86f406a193a812 docs/models/createinputinputwef.md: id: 892051f2da13 - last_write_checksum: sha1:e424476344f7a4bf8d94c50ea2281d4d45469e9e - pristine_git_object: 9c93800c464eedc2f48ebf6df7aab98fc05b427e + last_write_checksum: sha1:48bec18be6895f6e4803078edf698f0804843e61 + pristine_git_object: e10c23da52c9ddb5a1a5912221e8bae754088f1d docs/models/createinputinputwindowsmetrics.md: id: 164e8672857b - last_write_checksum: sha1:ffa0f70ded2ec5cd64fc632ab68f8a608b362a49 - pristine_git_object: b2e1f6c3a7a89bd93745b8b44d46807dbf68d3d6 + last_write_checksum: sha1:e3baed2f647669ba5308786fb24577720602df53 + pristine_git_object: f9fd996b3eb50880d3e825eeb2df2ec955f4e547 docs/models/createinputinputwineventlogs.md: id: a2e8e887fa70 - last_write_checksum: sha1:b62f73c25dad0fca4eadf45fcbd0fb0dbe20f4b1 - pristine_git_object: f87301f5d956cef87b53226948db0cf6a3a3c6a5 + last_write_checksum: sha1:ab5972fce5233cd902141649560480fc7ca23516 + pristine_git_object: 405698c820ba64d8f06bc612a0e37b4194869e5b docs/models/createinputinputwiz.md: id: 3910ed1c35b4 - last_write_checksum: sha1:70cb7bb57f3c357d031ecdca92638aceb296f9b0 - pristine_git_object: dc50de1b652741d92adf5ca46230ac644ce311c8 + last_write_checksum: sha1:277f6d0310882ac3b5acf3097d41538623ff8c61 + pristine_git_object: 39ed4721743e7263dc0944b7dbad6bf6ed8886d4 docs/models/createinputinputwizwebhook.md: id: 021e73e8970d - last_write_checksum: sha1:8dec38737f2b761858ebe31248196944c4e13c26 - pristine_git_object: 14825ea2f22a7281d64c1ec70b5970d7878eb1da + last_write_checksum: sha1:20c31d3297a7a6082e1687d57d795c33b456a8b2 + pristine_git_object: 5f719e83dc4e6b0f5078f24ad82da8470c10c104 docs/models/createinputinputzscalerhec.md: id: bf76ebe658e3 - last_write_checksum: sha1:97f3fc3d1f580e1411f0ccfcb40781e0e8625d98 - pristine_git_object: 3244d726521f5cc8ab1fbf30b9e05c2ffe949ec4 + last_write_checksum: sha1:f75b8f2133abbd013905924ec6e5eee80aadc409 + pristine_git_object: 98889a0321bd2514f2e8cfe1199712dfcffa1515 docs/models/createinputinterfaces.md: id: fb6b44047ff1 last_write_checksum: sha1:90389e31d1782f80f07a54b7c329113209727fa9 @@ -1616,8 +1620,8 @@ trackedFiles: pristine_git_object: 35face9ae0496d4de14604becd6240f3d8f09342 docs/models/createinputsystembypackauthtokensplunkhec.md: id: dc7f7c942726 - last_write_checksum: sha1:1614c38a22077dd71e041ed4e52b64c61511b887 - pristine_git_object: 27e04f2c5f334a4408a500c40e15ae1f534de96e + last_write_checksum: sha1:c30b3ebc603fade950134900bc3498a33936a30a + pristine_git_object: 06112772a979401524cfc0bae229e31ebd271ca0 docs/models/createinputsystembypackauthtokenzscalerhec.md: id: 99ebb2ae1608 last_write_checksum: sha1:47f100bc1ec2e45d77eb2c9ec98c1ce6d8abaa8a @@ -1780,92 +1784,92 @@ trackedFiles: pristine_git_object: caa8111d557227c08f0423280d230b218d0b3627 docs/models/createinputsystembypackinputanthropiccompliance.md: id: 74097bdd0247 - last_write_checksum: sha1:d2be5362965d39c932feb8001d8241185b30b962 - pristine_git_object: bcf8fdc4360d2604b6b3b10d8df3bd825c5f7acf + last_write_checksum: sha1:75e770104950b52ef9185971b9391d769377ddba + pristine_git_object: 39397869c37f2351c63f03950941cbf671f9a14d docs/models/createinputsystembypackinputappleunifiedlogs.md: id: 815af1a95329 - last_write_checksum: sha1:f998ca62ff0d3b0d59d39712c55cab66e56d2acd - pristine_git_object: b478bce3ef1ed56a99de39e893789fd9590bdf84 + last_write_checksum: sha1:6cac9cfeca927e81600e70aa01fc94a2177b7ea8 + pristine_git_object: 97200b4fd8e571ee32a1972983191d5997958a7e docs/models/createinputsystembypackinputappscope.md: id: 7f2753eed7c8 - last_write_checksum: sha1:4deacf0882acf3efca55c28afabcaf6b5bef07ed - pristine_git_object: cfd8881bf398d6599e081a12c05a8af7d896e0e4 + last_write_checksum: sha1:f562e86a119f5db5f65201e57e8ff608e5d2356b + pristine_git_object: e87d4635ec25b0bc46c44ccee5f92016ab5e26fc docs/models/createinputsystembypackinputazureblob.md: id: 4d75b7ae19ac - last_write_checksum: sha1:63172b4d69906657a254fdfd7240d77ac7379d6f - pristine_git_object: 066406454158753db02821fb0479ee7b79e929ce + last_write_checksum: sha1:b5a2c82984558f85895ab96a8bfeaa666a78cec0 + pristine_git_object: 269921286b9466665c9d60c28ea15b461fcf8628 docs/models/createinputsystembypackinputcloudflarehec.md: id: 0ff7d0ce041c - last_write_checksum: sha1:042a8e6495fc0245c9ec2cc07abb40c9afe9aeed - pristine_git_object: f741df550e2abaeaf8b1d0e2d1ff90bee3846344 + last_write_checksum: sha1:9fcde467c2bc2705550c47ab7af8b48cb796ebe8 + pristine_git_object: 2dcc38d352dfbe12ec836ca3bbb9cb8b54f9aaf4 docs/models/createinputsystembypackinputcollection.md: id: f6ea5f2bbf86 - last_write_checksum: sha1:6327848e6aac35d7101ce9cafbfd8e7b269e74e9 - pristine_git_object: b0a198e89ae8e5321b9fe7be98fe7810bb06014f + last_write_checksum: sha1:864812ea1a0cea897b8f2b2494662a7cbae23882 + pristine_git_object: add806c6d3dc91b734ad5b143c6fa116c04933e8 docs/models/createinputsystembypackinputconfluentcloud.md: id: c930e9d0440e - last_write_checksum: sha1:ad93216effd0c8b1035d18711f4bf44a1cc15cdc - pristine_git_object: bea850ff59ea17739c661d5ac74c85ee9be041e6 + last_write_checksum: sha1:2ba73b3cd60a4b295a45c51a9422caddc29d3b40 + pristine_git_object: b68e53401e63f9c77ec7b3369e6b7cb568cfcace docs/models/createinputsystembypackinputcribl.md: id: 6a5e219a7b9b - last_write_checksum: sha1:3e1a6e8003cd4ad5196416a45fae5b42af3212e4 - pristine_git_object: 535fc635198e3ab84ed32694c7ce43e998aa3671 + last_write_checksum: sha1:8f3f79cdb369be4327532333c1f6bfa683210ed7 + pristine_git_object: fe36ff49d0425d3328a5d09710a30131d00c9624 docs/models/createinputsystembypackinputcriblhttp.md: id: ff4acdc9859a - last_write_checksum: sha1:8beb16539ffba760fcdfcf9532e3c1f64805c4da - pristine_git_object: 8ef7ceb3913d85ef1596e652337d6d96aef3391d + last_write_checksum: sha1:c88dcbf1934cf48f6b87a3d7e7ca3a28f8cb45d8 + pristine_git_object: 21b7c2c262ebabbe8d192986715bcae6276efaca docs/models/createinputsystembypackinputcribllakehttp.md: id: dcfb32f376e1 - last_write_checksum: sha1:cafb7a8cca630e1c9dd324b2126a59283c0c1e65 - pristine_git_object: ee9c522a090f2fd14bbfe9a9105dbfb0a7012ac3 + last_write_checksum: sha1:1f159894d235e5892d01a84eac62c2f0faa46164 + pristine_git_object: 50d43f728bbbeed801ec34ec110f08dcb9b04cb6 docs/models/createinputsystembypackinputcriblmetrics.md: id: 4fc745225746 - last_write_checksum: sha1:25b7a982e015c02c8d41c21773fa0c8814d58496 - pristine_git_object: 835c72fbd7313c8cc96c81ebf591f5e77c6dbba7 + last_write_checksum: sha1:9c39ab4d543e1480600978bfb71fd2431b32f3af + pristine_git_object: 7323eb33b8d58933372609e0b57ed12ee4177ded docs/models/createinputsystembypackinputcribltcp.md: id: 16093cb6c388 - last_write_checksum: sha1:90f0904f3063245a9a9455c64d4cbb9879154cd2 - pristine_git_object: b114512105e6b60e69dfeef36e6527041b417c65 + last_write_checksum: sha1:ef3e540e92fe5bce4b2244a65cbd81474f273e74 + pristine_git_object: dc9503943c506e20cbd800a3cd366473edecb88f docs/models/createinputsystembypackinputcrowdstrike.md: id: 68e141071a80 - last_write_checksum: sha1:ec57042015f15606fd3da0de4fa20ec94f97e9d0 - pristine_git_object: 3f613ef2e50b0eca740fa4c4f90f4b46188a11c6 + last_write_checksum: sha1:8dc2f78805ae7de2095cdfa6cf79a15071ea1e8f + pristine_git_object: 6750e3ffec44d9f2ceb400b0e9a3928d0826a7d8 docs/models/createinputsystembypackinputdatadogagent.md: id: fbe1d2bedb6d - last_write_checksum: sha1:86fbfb51dcabb11e867dce9a6a2c6a4273bb16e7 - pristine_git_object: afac18c83f17f5ab86e1cc9faae34348d230a3ac + last_write_checksum: sha1:1546d17575967a58b494cc65500f0731e75f7554 + pristine_git_object: e05cfada5e3fc58f58e18ebc99ca95acd027c46c docs/models/createinputsystembypackinputdatagen.md: id: 81ec36f32950 - last_write_checksum: sha1:380adf04cb57ca9bc288aa12ea0ddb0c29ca8c62 - pristine_git_object: 9423c874c3c4d926bc37691133d40bdf8354f09f + last_write_checksum: sha1:6125e913df276d5e9300045395a1322f89b6f84d + pristine_git_object: cb612d36366012f16794f48107945a55e6ac85e0 docs/models/createinputsystembypackinputedgeprometheus.md: id: 6e26d1358be1 - last_write_checksum: sha1:1f17464bab1c8adacce092b8404cf12f0ac1c480 - pristine_git_object: dc63efa5ba8f1f0f71cbea58cfa1a8b7668bb47d + last_write_checksum: sha1:bb0118e7db525f8f048f9d8c878bc5f3bd53981c + pristine_git_object: 727b3a7c8172e870c815bbd668a5054bd1095ea0 docs/models/createinputsystembypackinputelastic.md: id: 227bb3344dbb - last_write_checksum: sha1:9010fa869f0a1b843b4f5ea2bb70dabfeb2ac5cf - pristine_git_object: 94b177107fc8dce0a8e1e557f4fdfffdadcf020b + last_write_checksum: sha1:378dd9f2169db6618a3870aabdb4279a0a7b4d46 + pristine_git_object: 87b0bd7290f6035e91a64beb59f48ff597a12ed4 docs/models/createinputsystembypackinputeventhub.md: id: 887d52c0e941 - last_write_checksum: sha1:ff1743a3f7bc438aa654153888c09c1740a65baa - pristine_git_object: 096f7c1620084a6c231f23540bc7226908d0b188 + last_write_checksum: sha1:9bc05610c3f4dcd77a16804215bce609b17e9c5a + pristine_git_object: 494286b3e84cafac8d182aac7fb542f1da1ae273 docs/models/createinputsystembypackinputeventhubamqp.md: id: e66e221b7074 - last_write_checksum: sha1:1c478696dd247e412e9d9b656a7252dc5b349d98 - pristine_git_object: 5c1018178125523daeed5f9110dbc1356348a53d + last_write_checksum: sha1:874e07ac5d76e9ec674b17d119d57d8c86c3f763 + pristine_git_object: 5298c2a94c5e75ddae5b32c9d4aa48898b4c9500 docs/models/createinputsystembypackinputexec.md: id: 6c3ad780d2ae - last_write_checksum: sha1:7e287273cab3701878be1ccf201340c5166908ac - pristine_git_object: 798f1971edc2ff38f96df0ad28bb7c803536b71c + last_write_checksum: sha1:342b6f3fef80380500795100599acf13d266da29 + pristine_git_object: db23f1561b42233a6db9c0b29c010cb8ece3f482 docs/models/createinputsystembypackinputexectype.md: id: c2e1863d7e3b last_write_checksum: sha1:f0daac03d553119223ad4de8728a80b9cdd6ca88 pristine_git_object: afc131337157827cab2b6b69f14d8eb1268493f6 docs/models/createinputsystembypackinputfile.md: id: d17110253083 - last_write_checksum: sha1:ea7d8086b0ecdf4fda69039c05a78fa578c349d8 - pristine_git_object: 7ce87ad6edf367d59830a4b0d0d557d659e11c6c + last_write_checksum: sha1:4077af8b91622ff147e239d34d6072e680364af9 + pristine_git_object: 1fe0a760d17967a3ecc2d0024920adfcdd40c7c2 docs/models/createinputsystembypackinputfilemode.md: id: d431a823dea7 last_write_checksum: sha1:b3b44965c55c37f2963b49777f9081a2799b8a1e @@ -1876,44 +1880,44 @@ trackedFiles: pristine_git_object: ea5021b69bbc598b8dbce42c9c408395bc540eac docs/models/createinputsystembypackinputfirehose.md: id: 9f3246f6072e - last_write_checksum: sha1:6e6b84c26ad34702bb7094f808e5f314acfbd4bf - pristine_git_object: caeb377e7d9576c6754449ef4db6ddc4e964325c + last_write_checksum: sha1:d3dd37b5c6e83c377bdc1a84dca771e30f14c2ee + pristine_git_object: df42eaf9f4bc403af690072f0259ae49cb218062 docs/models/createinputsystembypackinputgooglepubsub.md: id: ca5d408cca21 - last_write_checksum: sha1:92d19870508c770250ff064f2baeac6b218225fa - pristine_git_object: bacd07774d58f1ad550d427708580d43be3bce4b + last_write_checksum: sha1:462f68220dfe6d060f4322b2e1e865f20adfb1dd + pristine_git_object: 6d76b5b1b759c8542d34487cbc594a10b5511a9f docs/models/createinputsystembypackinputgrafanagrafana1.md: id: 813c5e510f20 - last_write_checksum: sha1:42668174ed0d632a9fe0eaa4d2a4fc55181dccf1 - pristine_git_object: b41ef2765d910d8974a300ca92d131052e78b76c + last_write_checksum: sha1:883d0c0033f046f22e610c8e80886e12dd895206 + pristine_git_object: 1cdde92a35c43297b0e9b22a2976e2c5f82d2329 docs/models/createinputsystembypackinputgrafanagrafana2.md: id: 83e43cbb73b4 - last_write_checksum: sha1:01c25dce3cf276f48c7f20a9fcb98d8fa9544789 - pristine_git_object: 9e50bea34eb78ac97d152bcc54213ba50295c630 + last_write_checksum: sha1:f1f14ddcf7c9a9e851798761db189ebbc971081c + pristine_git_object: b909eca40e1dc212652bc064c853982ef1be5874 docs/models/createinputsystembypackinputgrafanatype1.md: id: c09667ab5917 - last_write_checksum: sha1:4d4686586236eff350ed014f97f8926948adf524 - pristine_git_object: d474356c1af7462a7db0ff6e3250c4ae09323e87 + last_write_checksum: sha1:e3c846dd634e6ca96e2c9e8fc0c60fa8457a57f1 + pristine_git_object: a4511d46d110ae9e1f610c861fc2d00458765b97 docs/models/createinputsystembypackinputgrafanatype2.md: id: b08c7d29660b - last_write_checksum: sha1:c3536b9e28d0d36f01b52bbc46b0bc7c8a3b819c - pristine_git_object: b1cc4ab7ecd3e73999b62d983d0576ea79fd0e15 + last_write_checksum: sha1:5a4de5abb0e80f0e2ada29a938ebf8897b371139 + pristine_git_object: 85f842f1b89273454ee8ee44058ec10751a4d571 docs/models/createinputsystembypackinputgrafanaunion.md: id: d9bc79c9fc08 last_write_checksum: sha1:1a214ac4e85ba1060cdde6213e8929f9ee37189b pristine_git_object: 9f49aa6b2516887507720d85fe864f01ace591a9 docs/models/createinputsystembypackinputhttp.md: id: 2d40e34a084e - last_write_checksum: sha1:f56f1ad99880759089c1f15a6b097013a7b14783 - pristine_git_object: 7b0ac7e8ca25cb1e8868665bc47945728a9e49f1 + last_write_checksum: sha1:ff92a4a9a23a6ef3df6b862ede3c5ea1d9351e6f + pristine_git_object: 3f173fcfaab2f57b34fb20fd350f087db2286de5 docs/models/createinputsystembypackinputhttpraw.md: id: 6eef62749e27 - last_write_checksum: sha1:bedeb784fabc10b4f54c3584cba7a790f9485e04 - pristine_git_object: e6a1ae5d61c403550f823833376a8c88a7f5d75b + last_write_checksum: sha1:103ca12afddc2786a41290d06711a887b5fb8e44 + pristine_git_object: 99c65d7ec863cac85731cebefd182fc3371cc71d docs/models/createinputsystembypackinputjournalfiles.md: id: f4fbfd2a7b09 - last_write_checksum: sha1:b32c7fe73537d17d2177be7f065af1ee021b8672 - pristine_git_object: 0cc25f5cefff04e4c55def2c45ec826d1c6f8fc4 + last_write_checksum: sha1:beec61111fd81be339c330bbfb91e6da32c15bdb + pristine_git_object: ceaefc7aa16472345efbd8bcbe4fb97bfd2a4dfe docs/models/createinputsystembypackinputjournalfilesrule.md: id: b7adac10942b last_write_checksum: sha1:afa472c2cfcd3643b2065009262f5dfa389002b7 @@ -1924,136 +1928,136 @@ trackedFiles: pristine_git_object: 0d7b32f1e96d791b4ddb1eed5008b498ef686389 docs/models/createinputsystembypackinputkafka.md: id: 372bffde20c1 - last_write_checksum: sha1:85f5b437b6e23116c0be2202798e25300a1d0284 - pristine_git_object: 1373f8415ed6e8ce001a8a15c7b0adddf2432ec0 + last_write_checksum: sha1:bcb7e9a4d30ef8e7ae4b0981cb386233ac0c46f8 + pristine_git_object: 2141cf066156b2a6878579ff51e5e170e51cc1c3 docs/models/createinputsystembypackinputkinesis.md: id: 3daa324bd3e5 - last_write_checksum: sha1:e22ce1c11089f524a25bd5958defaa65ef74d609 - pristine_git_object: 18b5ac30317b6b2c10a663ee69ca54fa39c831be + last_write_checksum: sha1:da117dc26589e1d14ae6852b67c52e5552b5c2f0 + pristine_git_object: 5ae9e2ac0a68df33a7bd326ac8b2a5e6382d1508 docs/models/createinputsystembypackinputkubeevents.md: id: c33f890cfc47 - last_write_checksum: sha1:ced853a6a58e550f9e5191e75bc18142cd51f8aa - pristine_git_object: 92dfd433ed1b774cd755be37ecb1865f30cc6e6b + last_write_checksum: sha1:9449c511ff15dbb786458206e6f584639b8f4c05 + pristine_git_object: ecd9ef38655edacec6c9eff3ff534c5979f7881b docs/models/createinputsystembypackinputkubelogs.md: id: da9b8da4bea6 - last_write_checksum: sha1:ef6d2a8ddff4be309bf80770131a9bb193eb3e02 - pristine_git_object: ee71df8c549b4ae2f8a921341072fc509e928847 + last_write_checksum: sha1:61090636d8ff0320aecd1c9e6f23229ec737e09c + pristine_git_object: c9e9ccf0f3ae9f9cc55247cca3297e0beacb6005 docs/models/createinputsystembypackinputkubemetrics.md: id: 2ad3c0b42808 - last_write_checksum: sha1:c247264137cb88ffe57fb682632ad93559a178e8 - pristine_git_object: 8c9d731cf016fce78bf28bc4db9064687d91899f + last_write_checksum: sha1:9ccc7c750c916f78101d2f5acf013ff5d340bcc6 + pristine_git_object: f78a55a2a0a399800ac798c4a1eb5506214b69e6 docs/models/createinputsystembypackinputloki.md: id: 5969ccc30536 - last_write_checksum: sha1:72813bc31d178d02850d723c48322e0f738e3731 - pristine_git_object: 816bc8babb61734984a5eab3dd562787189c19db + last_write_checksum: sha1:a850c8225ebacbd172d967c6ccaefd771bf1d14a + pristine_git_object: e8a7c1d4d9f14c44f9837c193beb33cba3f1cdd5 docs/models/createinputsystembypackinputmetrics.md: id: 259e461cc2b7 - last_write_checksum: sha1:e12965afa56682628d2bd024cab30ab3a16a2b8d - pristine_git_object: 6b426b75323114a7734fc1e99a7bed2fd7d8c40e + last_write_checksum: sha1:b7591473d0592d42940ee4dd2f22bbad86820949 + pristine_git_object: c1843706c6ca718ca75a2ab065549a22a881e6da docs/models/createinputsystembypackinputmicrosoftgraph.md: id: cee0c4fa9690 - last_write_checksum: sha1:3096790fb51e99010062ce42091d05731b285f23 - pristine_git_object: f50dcf1a8b63fc95d4d4d7a84ce13a8428cdb11d + last_write_checksum: sha1:c338739c83e494afa8f9ff536810b3a1f7139ccd + pristine_git_object: 94ca6316444cf38ea217e235c90cce6e38df002b docs/models/createinputsystembypackinputmodeldriventelemetry.md: id: b5d493a18772 - last_write_checksum: sha1:33f2e7e38397c87dff95b0c787fb9b2e1434fa9d - pristine_git_object: 61819cbcd0780e9535fdd882520c77a358677b45 + last_write_checksum: sha1:164435f7453bf0783eac8f559438f666abb99645 + pristine_git_object: cc1a0a98b2293a350168d4cde361c320b51002a1 docs/models/createinputsystembypackinputmsk.md: id: 545b078614cf - last_write_checksum: sha1:1ef63973ba825778703a9ba17120e8654be48486 - pristine_git_object: e0f9985022d47ec8a23b797dc3ce631753392eb5 + last_write_checksum: sha1:ab93d88807f7c6a68ae270e4d2643d0f5a73eb10 + pristine_git_object: 98dc9207a762b957a87187c0f22265f40bac34fb docs/models/createinputsystembypackinputnetflow.md: id: 4d77d67d0cc4 - last_write_checksum: sha1:b55acf4b08b4fea7fb120792588929898041c733 - pristine_git_object: 720774151133d897b32b20fe9884195930b61a4f + last_write_checksum: sha1:1b78c359b3df8ca89c876118bfa264cd37af75c2 + pristine_git_object: 4d8ad3ae85330e5fef8e8d32fb40ac2e6634e7ee docs/models/createinputsystembypackinputoffice365mgmt.md: id: 8deb8ec7d5dd - last_write_checksum: sha1:03bf73d54ba7225f3130201f76f947740f37110c - pristine_git_object: 616655b68a5e0b996adb71da2cff25c01d0abe4b + last_write_checksum: sha1:b1fb4cc4a72cebb504fe9fcfda7d7019daf40b5c + pristine_git_object: 015b28ade04d8dab5fa9bb0b5e5d002074489d8a docs/models/createinputsystembypackinputoffice365msgtrace.md: id: f46284ba8b80 - last_write_checksum: sha1:34917613489f616c7984bbed48ef424957831e2b - pristine_git_object: 79b574b7649b9f38430e63d3949e4be2c6908d0f + last_write_checksum: sha1:f0b80ee1df03444d11e7659a36475e8a6e1539eb + pristine_git_object: 0f35188cc717a0d0ffeda39b5a7550a3a0a0a753 docs/models/createinputsystembypackinputoffice365service.md: id: 1763c2cf7782 - last_write_checksum: sha1:76242181a1cd60d5ea13b28585259bbc6eb5655e - pristine_git_object: a9ecbc13e80b724b9be53a8fe88720d9c8a337db + last_write_checksum: sha1:7701219a486134c540073209802f84c8d837d1bd + pristine_git_object: f25d4822f44152dc7000a738604c21f7d2049034 docs/models/createinputsystembypackinputokta.md: id: 52091e863246 - last_write_checksum: sha1:de0e39b9b31cb9d6a66338f864a640e6c1d06884 - pristine_git_object: 7bf20800e88817eb01e5620ce7db271e9123ad31 + last_write_checksum: sha1:0d01f5f024d6b65f440eb1a85311fda7249f0f16 + pristine_git_object: b067a2173ef5b6ac91fa701244d71e90eeff4d79 docs/models/createinputsystembypackinputopenai.md: id: c6d0b299ac44 - last_write_checksum: sha1:b6e91b2c52e7472b5905f5032a0676676b06beff - pristine_git_object: 49479a39f51464df03f72bc3029a87bc66517313 + last_write_checksum: sha1:06a9865e3b600c3a34411a71feeec103417f1524 + pristine_git_object: b17b93caa88afba22cc4d1cc50362bed8b04f629 docs/models/createinputsystembypackinputopenaicompliancelogs.md: id: b0f398c624fc - last_write_checksum: sha1:329a00afc7bc781ff5d96d3beb02f877e2bc7f12 - pristine_git_object: d5adea62b4628675db9b7eed310f809ea2c90c3f + last_write_checksum: sha1:c26475cb1f1bede974373b726f582170ceafd18e + pristine_git_object: 3ab688615834c1616701676b21ed38335c546d19 docs/models/createinputsystembypackinputopentelemetry.md: id: 0ec7be5ba927 - last_write_checksum: sha1:ce7fbb59dac8b8ce731cd83ebd26dc9557a1c57a - pristine_git_object: 460532a070c533751074955d64e7fe5a419a3fc5 + last_write_checksum: sha1:8de7ca2eacdb0f4d03a88a8a785c50fe79bb89e9 + pristine_git_object: b9173a577ab79ad8e7adfae2fbdbf8b89a250c9f docs/models/createinputsystembypackinputprometheus.md: id: 7be6aa5c7aaa - last_write_checksum: sha1:8c778695455765484052df61c9faeffb8c5ff0ee - pristine_git_object: ccea691b7fe1bc130e991f1d09e91014211b18b4 + last_write_checksum: sha1:73e53870461502f4b33e36bb3a543cd45f173dfe + pristine_git_object: 76ffab45b0290ac7a1641ba2646f43f83c47835a docs/models/createinputsystembypackinputprometheusrw.md: id: 6919dd351613 - last_write_checksum: sha1:58328529f8613f24cb38bbec465a5ceb0d607e32 - pristine_git_object: 31144295d86c1f495e119a97c03a09098d38e3b6 + last_write_checksum: sha1:c1c6e53e1d92f6a9f5447064e6db674c6b80f8b6 + pristine_git_object: f61bf3c82a146b6101716657f0941d30fe177c04 docs/models/createinputsystembypackinputrawudp.md: id: e683a0fd30a2 - last_write_checksum: sha1:961983b59032b24d397ef7e918d08d74b7d10521 - pristine_git_object: 24d15dad4a44afb160238975f4f186493f480954 + last_write_checksum: sha1:ec0d4cb582d809fd27bf4d7d09c59841069f230e + pristine_git_object: f1f61fa099b4625403f490791646bbd9a8a397dc docs/models/createinputsystembypackinputs3.md: id: 25d0f4cda552 - last_write_checksum: sha1:2c3bbf664d82ddc28b68bbab9d9a85e111aff0b0 - pristine_git_object: 337c9be189c8082d65f8356249f022a548e349db + last_write_checksum: sha1:8db216b6f90b4b4d5008201424031336872b2e1b + pristine_git_object: dafaa71efc9706bd1f0770be427c87e4cf9ae70d docs/models/createinputsystembypackinputs3inventory.md: id: 839665e25184 - last_write_checksum: sha1:c55d5d4191148ef193f39c6dd71de4372b17ace5 - pristine_git_object: 084fcac81620c59450cd137d4067dc1c3021b5c3 + last_write_checksum: sha1:bc6336d3c32d6775fb2b7af662159f7727811e79 + pristine_git_object: 743e3dd5f5e0b028f2ae0788c399739b15273bdc docs/models/createinputsystembypackinputsecuritylake.md: id: ac9dff92a056 - last_write_checksum: sha1:dde4caeb8705f9d63434f46cd020987357e838ba - pristine_git_object: d8c4cb95576064bc3c35c9d966e1ee44a17d198a + last_write_checksum: sha1:eb0357b5f1ba912eb7fd32b6e03e5e18393a3d2a + pristine_git_object: 6529f100629cc970d12874e77c994a57520b3558 docs/models/createinputsystembypackinputservicenowtable.md: id: cbfc1c66d533 - last_write_checksum: sha1:ea12a76f64ff2afd09662826e602a59c9161352a - pristine_git_object: 19577d1e4378e9ac210d2c4f9d5565e25e0cbd10 + last_write_checksum: sha1:fa3223b8c48e7b93200c58d49fcd33e8d8d97643 + pristine_git_object: 95c0589833426b1b5705e4aba606fa17a310394e docs/models/createinputsystembypackinputsnmp.md: id: fc0d33ee8aff - last_write_checksum: sha1:18cc0c3ce56c50709b08fb6fdcc7cc7bbe24ddc1 - pristine_git_object: 8aa2cd7e39a62215353efb490a33d1e2d672f4d7 + last_write_checksum: sha1:6e93ef083f28abb2b854b9c8cf27dc594430dda5 + pristine_git_object: 2f5fe92faf04edb3c1108829c685bb248e770e64 docs/models/createinputsystembypackinputsplunk.md: id: 61d7af30953b - last_write_checksum: sha1:6d9a50ef561b9320f4df62b5463582ff4e99cfa3 - pristine_git_object: 243f6033f0c33837497bf0a47b391eadde303851 + last_write_checksum: sha1:785ad69e49028e8d5be4ac65a214e353a7873f0c + pristine_git_object: f8645e1bc83f7faec792e6ad95cca1b8778efdd2 docs/models/createinputsystembypackinputsplunkhec.md: id: 1efee85529e1 - last_write_checksum: sha1:4d1806c1567545fae30408b823fd0d345b618091 - pristine_git_object: 7e9e867c2cede138fbf0b23d61b3d578b60fd330 + last_write_checksum: sha1:4ac7415b5095e42ed1ee3dc4faf815fbc7ec75de + pristine_git_object: d088412ae07d43e2edbce2cc85e3d2d2c6e1c305 docs/models/createinputsystembypackinputsplunksearch.md: id: 541f7c144ac4 - last_write_checksum: sha1:c3b2b2c531a1df6c47873f5b7275cda8db49bb6b - pristine_git_object: da4a6e6818b5fbccf1378ba7c8b917b98bf07524 + last_write_checksum: sha1:79553f11c6c4e0a87364f4698d1afcb650ea65d5 + pristine_git_object: b4d92136f5d8335573a5722921d7e25b0515cb1f docs/models/createinputsystembypackinputsqs.md: id: 3adbda590e19 - last_write_checksum: sha1:644d8d325bdc63096c85de6b7d1d01495fd5cb13 - pristine_git_object: a08d2775a6dbe6b1f08fadd21e201050347ab296 + last_write_checksum: sha1:d912d1342d04e07634ddbc4c532f795f88408c7e + pristine_git_object: 0b1c8ffe89208b7a7264ee0b74263e1e5f0d7786 docs/models/createinputsystembypackinputsysdighec.md: id: 1b113d7b2485 - last_write_checksum: sha1:58716bd2e560730adfa0b3596fc3b4c25ac01246 - pristine_git_object: c6881be1e72448b128a02d2929f32e1969b83a84 + last_write_checksum: sha1:dfbccd4486793ff4ddf2d154428551fc6ebc8cfa + pristine_git_object: 344268890768232582b5f23680ab453483230a02 docs/models/createinputsystembypackinputsyslogsyslog1.md: id: 844a96f8412b - last_write_checksum: sha1:920ff9cf98d5a739297124d6782aaf8597a8f254 - pristine_git_object: 845574e682f57d8097d9d7950257a20abcc3816b + last_write_checksum: sha1:95bd763e2e4bc6650c10edf5aa57a50a8a8e1fa4 + pristine_git_object: 38381019707998d97b4ada6f36540543aa8d165b docs/models/createinputsystembypackinputsyslogsyslog2.md: id: 50d59b2fceb9 - last_write_checksum: sha1:3e9d9590a284aa10fb7b805c9cc666e53cda30d1 - pristine_git_object: 737b4117aa7af71898511cf6437fd4957635f682 + last_write_checksum: sha1:5b5a31517b78affded312bcd68922179179b93db + pristine_git_object: cd4e2c6d99a6f3450a7e461b6a250c1ee3387604 docs/models/createinputsystembypackinputsyslogtype1.md: id: 680fde4e7d5d last_write_checksum: sha1:9f1673ffd22edc97d3a726e65f92863c844662ec @@ -2068,44 +2072,44 @@ trackedFiles: pristine_git_object: 21216e0e638d90e0a740181475a8453e970b31c4 docs/models/createinputsystembypackinputsystemmetrics.md: id: 5874ac74e489 - last_write_checksum: sha1:df519f66da326f7fcd02fc55e5b5f7311a4ec2e6 - pristine_git_object: 91fbf1e73f4c24be6ec81fe50ff8b33f37d72237 + last_write_checksum: sha1:110900d0aa1dbf39259678595478a7d9fa80b0d1 + pristine_git_object: 32133827d4a55452b9b321561f25c0f5f4be284c docs/models/createinputsystembypackinputsystemstate.md: id: 1cc345274f65 - last_write_checksum: sha1:f017f284957aa5d4bc7318f8fd8e0880c9f3720b - pristine_git_object: 9b39219993de4d5d4aea30a94d2087494567b72f + last_write_checksum: sha1:b75853e617e92c0be76042716acfc45e0741b0b4 + pristine_git_object: 9abff512e76b09d442611c670f20d9ea4e80fd77 docs/models/createinputsystembypackinputtcp.md: id: 01b7a6966f26 - last_write_checksum: sha1:c5f59b24a407423937742b4dc88cc4099da4793a - pristine_git_object: 0d569150eb6d257f08183cc45dbbb2a8b0963930 + last_write_checksum: sha1:c28ddab88836f7cedd8728430a25c9e4b94f2e99 + pristine_git_object: 04b3268e100d932de4d89b6d7f5f3c0b4e38a5a7 docs/models/createinputsystembypackinputtcpjson.md: id: d027d9b38537 - last_write_checksum: sha1:221b75fa15a49f651987ee20012fc5a97b4aacde - pristine_git_object: ea84242f212aca9ec7e798bca0b7c69cef54515a + last_write_checksum: sha1:d2ef47b9e7845fb0b9c27245dbfc168aca077f07 + pristine_git_object: 578bdea564f0e1bc2cd53842e7bea247d146220a docs/models/createinputsystembypackinputwef.md: id: ca39966df855 - last_write_checksum: sha1:56a06c9c4137ff09262fab3ff822297756665605 - pristine_git_object: 87e6c65fee14a1f54e109a9963834f2996ed9c46 + last_write_checksum: sha1:11a9d7a6fc484ab71c5f1f3909bfbcb271a69f34 + pristine_git_object: e373f7d5b93158efe879dfce96ee9da522ea54dd docs/models/createinputsystembypackinputwindowsmetrics.md: id: dc2c9f07a234 - last_write_checksum: sha1:efedec89cd99d74cd5b7b173214c1841183b7557 - pristine_git_object: 460e9ad3099dd01616dd96667e4f4b322f974cb9 + last_write_checksum: sha1:2c857a82a1ca022900f524cf5406b9e5dca5919e + pristine_git_object: bd8e9d7a8c2021e3debf36e9358993fa763e609a docs/models/createinputsystembypackinputwineventlogs.md: id: 27586396d5f5 - last_write_checksum: sha1:e9bbdca5cfcb60a06488c90d5c6f628a3d9177b6 - pristine_git_object: b5eb547f217cd0ccc0cf56acad1dd755515d1982 + last_write_checksum: sha1:9b1470043796280532d179ef19cfe18d3fc5cc02 + pristine_git_object: 50ba0fa7821f6e9def27ea2a61698b68e2a91df6 docs/models/createinputsystembypackinputwiz.md: id: 8996448c13a6 - last_write_checksum: sha1:2af2abb6ebd88f5d8552a495565b6c7633445058 - pristine_git_object: 59fee43a1d9ad99174aae22084655d62e320e169 + last_write_checksum: sha1:e32014a25edd699f376245a6ef2eaf5c07c6e340 + pristine_git_object: be746afb235d83bfcf8fa277c0c062999928319a docs/models/createinputsystembypackinputwizwebhook.md: id: 96f136902560 - last_write_checksum: sha1:b589a2cc1b1e98b4098e0dcbc49b5fbe1964141f - pristine_git_object: 75b5167b3f85597487dab5b51dcce2558b757da1 + last_write_checksum: sha1:0985d69eba011ab6115a68edc4b436eeaa89598a + pristine_git_object: e0242801ecba012040a240c1b6a3ab9faa59a482 docs/models/createinputsystembypackinputzscalerhec.md: id: 77b1fb689364 - last_write_checksum: sha1:2e5d19dfab368d2ebd28b06cd667699418cf4e02 - pristine_git_object: f9c2236654f4d80c9151fa7dba1fc1271af5c656 + last_write_checksum: sha1:73dd4043d45f536c094f42adf414a0b900eb1457 + pristine_git_object: 56f680813b925de88d005bf8fb4f9d2493a78a28 docs/models/createinputsystembypackinterfaces.md: id: 08fd0bd17167 last_write_checksum: sha1:0493f0bf40a63e306dacacb57f353ce32e5e2835 @@ -2372,8 +2376,8 @@ trackedFiles: pristine_git_object: c7cc3bc26dfd36079e7a8c9e5983e1e89519781f docs/models/createinputsystembypacktypecloudflarehec.md: id: 1706f453f3ec - last_write_checksum: sha1:d890b5ca53522cd8135bb61052008f961f8112fc - pristine_git_object: 6fa5c678fd486b2304e5fe2e1b7803e600c69e4e + last_write_checksum: sha1:79a4510ff93e659010cc050f7a978828aff68f6e + pristine_git_object: 706a83391a5187d813adb92125d8dcbaf1a4e307 docs/models/createinputsystembypacktypecollection.md: id: 5327894f2edc last_write_checksum: sha1:fc11dfa71648ab2104b721392be4fa4fd1e49f00 @@ -2388,12 +2392,12 @@ trackedFiles: pristine_git_object: bc9ef45c1327f97ccae6195ed2b47e5715f4e4c6 docs/models/createinputsystembypacktypecriblhttp.md: id: b6e7c00c4287 - last_write_checksum: sha1:9ce4bdb995e89f4f8367b02fe6a0db5ed0066082 - pristine_git_object: 6bb85a6b8aa42df570a3779a6d446974399cba2f + last_write_checksum: sha1:6941cf33d3bd0aef6e0dfda0479d485ae4e0d29f + pristine_git_object: 5ed8a0cc1d30a817038e955cfe53ab79385752ad docs/models/createinputsystembypacktypecribllakehttp.md: id: 7408d2318d57 - last_write_checksum: sha1:1f806c9f63adab40f20b05ec713ef6233563b549 - pristine_git_object: 6e18d56dc60655a912bd35045bd76df9480373f3 + last_write_checksum: sha1:70e5fad1e16d3594c4ca7354b9a6f0b89c38d788 + pristine_git_object: fe1d3621dfd4447704b8ff271b22f6badd4bba48 docs/models/createinputsystembypacktypecriblmetrics.md: id: 9ee6a66fab68 last_write_checksum: sha1:a05139fc39f47250ee975d994978da0240d0dfb4 @@ -2408,8 +2412,8 @@ trackedFiles: pristine_git_object: e7be3e2ead7e9707bec224c8759893910a2eef0a docs/models/createinputsystembypacktypedatadogagent.md: id: e9b8b0d0d244 - last_write_checksum: sha1:c9720e0bd6e3cc2d4b385e10d3f646b136c0600d - pristine_git_object: 269a63fd36c1b3a9cf968f5fabcd4c803b3c6447 + last_write_checksum: sha1:bb449268d1f37e6f182ba895db2b856a0337413c + pristine_git_object: 4fedd7f113bbda2e251b92b5f29bcd61e658eb28 docs/models/createinputsystembypacktypedatagen.md: id: fb6bdc3585b0 last_write_checksum: sha1:f1a85c8650a37c7f761b5ff25e1fe385ae76445c @@ -2420,8 +2424,8 @@ trackedFiles: pristine_git_object: b1e0d6c9571ed043dafdcb28469b3fcffedf359f docs/models/createinputsystembypacktypeelastic.md: id: aefc2a2fbff7 - last_write_checksum: sha1:8bd2927cf04ac7c73a6a021d044805d4f8a07550 - pristine_git_object: 120874a7c4fca83c3371207f00a2ad15bf5b4c5d + last_write_checksum: sha1:3481f85f15fc31382c3b346566f47336bd33146c + pristine_git_object: e331b69133a1e91fad08e99991b5a7324ff00548 docs/models/createinputsystembypacktypeeventhub.md: id: cd5109b4ac5e last_write_checksum: sha1:855df55c6f2f5a637e8b0c6451f5f7cb91548c0b @@ -2432,20 +2436,20 @@ trackedFiles: pristine_git_object: ca72411e808521cdc88c6fff456c027ea2a0ff9f docs/models/createinputsystembypacktypefirehose.md: id: c5463e4f20d7 - last_write_checksum: sha1:ebfa7892673b974f98ad425ed444a495264b1e10 - pristine_git_object: 892ed1c03f77376572bf410be26a82bb977d5594 + last_write_checksum: sha1:4679662c987fae6279e5b16ea0d1a070a4eb82a3 + pristine_git_object: e936ec7763298ec546e1867e3db698ecb6253198 docs/models/createinputsystembypacktypegooglepubsub.md: id: 35c6684c02f6 last_write_checksum: sha1:93c516c74b342b070c181697e6136a4312797766 pristine_git_object: e755b2d708d0a81381d7d8d1583c580a39fe4c81 docs/models/createinputsystembypacktypehttp.md: id: 9937f3685a04 - last_write_checksum: sha1:db7068b471ad7e665aba92cb5431a28f6b51f4c9 - pristine_git_object: f1a55562c6c5cbcd31c12c71633d384ec9dcc42c + last_write_checksum: sha1:9200f744367764f0942d30d4d4b841d5698f7294 + pristine_git_object: 158b92a9914144bbbc704dbf7f7b65bea5d837a5 docs/models/createinputsystembypacktypehttpraw.md: id: 26938be919da - last_write_checksum: sha1:dcf538ceb93aaf119b9756d6ce5ec0837c4e473a - pristine_git_object: 9c3d27f983bdcbf0d7b68115005d5b1e6834e8fd + last_write_checksum: sha1:3e1979aaa406788bc6c199c340b3a8708825e750 + pristine_git_object: fd910dc7d1e4f7535f3a1f1da7c05ae040b3c886 docs/models/createinputsystembypacktypekafka.md: id: 0a09bf38ab69 last_write_checksum: sha1:d95e9f7081031282be4c0072aefe4dee1c5c43d0 @@ -2468,8 +2472,8 @@ trackedFiles: pristine_git_object: a518d9c303a218f2f2ddd9de566d117f9283d26f docs/models/createinputsystembypacktypeloki.md: id: d0c93133b49a - last_write_checksum: sha1:f40f14b33376196da576dba758543b56db395eca - pristine_git_object: bbb1d8678575344c09773a2a8a2069c31fafa246 + last_write_checksum: sha1:5709f285a5ed73742845c33c3a3faba5f7cdd046 + pristine_git_object: e5f36e828c6371dffa4aefbf6d8d2366579c1204 docs/models/createinputsystembypacktypemetrics.md: id: 35ea873d109d last_write_checksum: sha1:aa6a71e0242df421f4f0e4171f58cbe619a8afd6 @@ -2516,16 +2520,16 @@ trackedFiles: pristine_git_object: ae0e71ee37624afc9fd78bcd6fc3edc80ef0123d docs/models/createinputsystembypacktypeopentelemetry.md: id: 4b5d9d263f1b - last_write_checksum: sha1:1a802b16c6ee3d257b15d9abda445fb91cad35c9 - pristine_git_object: f1e9e3c6db0ea5e78051374691a1cf6e126e8571 + last_write_checksum: sha1:9ef88165e181f2d981491cb77f2fd13b99602af3 + pristine_git_object: 60eb059534de594c5403fadaf31735cecc5c28dc docs/models/createinputsystembypacktypeprometheus.md: id: 1a8a65646f1f last_write_checksum: sha1:8ada2bd5cb3fdc5cfff841e2e0beb27045bb8c7e pristine_git_object: ba9820cdccae8176a23f56c8f28a67033913a220 docs/models/createinputsystembypacktypeprometheusrw.md: id: "200151133005" - last_write_checksum: sha1:be896b516fb3a2b7d58c3d9ca09564b5e2c29ea6 - pristine_git_object: 1f9f726c3e4d7d0d8c1bd9ed0047c0d53f009c07 + last_write_checksum: sha1:6de3b6cb9ddc1732c219a58b14a8bad71c7a4404 + pristine_git_object: decb31502d075758f061658abd0c3904ebab350e docs/models/createinputsystembypacktyperawudp.md: id: b23ea6f4d137 last_write_checksum: sha1:538c232c21a77dd13bbbd13a7524a69443d002cd @@ -2556,8 +2560,8 @@ trackedFiles: pristine_git_object: 4a6f8faa8ce0b20ede07a2d10babad45d3ae6ab7 docs/models/createinputsystembypacktypesplunkhec.md: id: e561bd0bb44e - last_write_checksum: sha1:a5f6018181c2ce49633215a1a85c4fa4b6a04526 - pristine_git_object: 1a8037171e249f4464505efd56497c99d662c9d9 + last_write_checksum: sha1:09d9e2d8f50f14c849ff59744553975eecc767a4 + pristine_git_object: 45361a4f0eac935209fab590407b0fa2d074b88a docs/models/createinputsystembypacktypesplunksearch.md: id: a4f64e7fb952 last_write_checksum: sha1:3934e70d8aa18a08b9a6f388dc4ef5278b352658 @@ -2568,8 +2572,8 @@ trackedFiles: pristine_git_object: bd64eaf0cbaa2469861d75e4d8564c768e9ea392 docs/models/createinputsystembypacktypesysdighec.md: id: 71abfe35a90f - last_write_checksum: sha1:861e6d1661203dbe77d67432fdbdd118b2986308 - pristine_git_object: b7dac527fa539c2ab98057d0431941acdc9f5e23 + last_write_checksum: sha1:4eba5c4a2aa87d91d374c334fd9a7d681e43e0c2 + pristine_git_object: 35bdfd99f7689703589202738d6bb0a7312c4596 docs/models/createinputsystembypacktypesystemmetrics.md: id: 60d0595cf052 last_write_checksum: sha1:c157be847fedd5a0b1dfec1703857ba13e1e0bce @@ -2604,12 +2608,12 @@ trackedFiles: pristine_git_object: 6f8be2c7736d4625dd9e00ab75ea5baecd3bd952 docs/models/createinputsystembypacktypewizwebhook.md: id: b4b4f6c11ffe - last_write_checksum: sha1:e3d82598c6f190a5ae86ec46e4623762b08b676e - pristine_git_object: 4b299321c08cb1115926756b3081ac0987e806d5 + last_write_checksum: sha1:e67dc90eecace08aceca02eb970f6c0cc3c62104 + pristine_git_object: a841c0c4ebf032326a5c57875c879081fba37b6f docs/models/createinputsystembypacktypezscalerhec.md: id: 74e249afb154 - last_write_checksum: sha1:0c674c0936c5beb48b22239c3dd89c1da1ce2938 - pristine_git_object: fb49c5ffcfa38c1f02ab1cd1f94c418384afa57d + last_write_checksum: sha1:b4ff1a3fb1c68f6a772246ab2990059b1705133a + pristine_git_object: edea7f7e1222db33b660a90e3e922ba25c5b14c7 docs/models/createinputsystembypackunixsocketpermissions.md: id: eddba643405a last_write_checksum: sha1:b977960720eab99b4df02b3e9476b76c41524a20 @@ -2668,8 +2672,8 @@ trackedFiles: pristine_git_object: 899b78092680f9f2705440382d59aa33cf285af8 docs/models/createinputtypecloudflarehec.md: id: 7171682199d9 - last_write_checksum: sha1:adf82489d7cc6429d037cf45ba057d28f16a3503 - pristine_git_object: 32254e23eb061ca3b511a5f8e6ce022b99e84acc + last_write_checksum: sha1:326c439cf47d84c7d51ee634c93994d553f73e69 + pristine_git_object: ccc91f7a6277f805c1f49e3674ba8395b0748f7b docs/models/createinputtypecollection.md: id: 931f6ad8b77b last_write_checksum: sha1:9cc3b63fa28fc222a712ba42dec2a442067b6935 @@ -2684,12 +2688,12 @@ trackedFiles: pristine_git_object: 479d5a65289c8e09c7c7d5df1c2028dc2f4929ea docs/models/createinputtypecriblhttp.md: id: 530b68562346 - last_write_checksum: sha1:99234ffc3a5b66fc8fdc26b17bf6d0411a257421 - pristine_git_object: a58844b2c826f19113bc97c92102ac6367ccae89 + last_write_checksum: sha1:6acb50a71d0fbe87c8b38b7163e81d03cd16d4d9 + pristine_git_object: 6b0a1d475366415d5a3515209fe9a5bdad0c1bf7 docs/models/createinputtypecribllakehttp.md: id: c1a549cb0872 - last_write_checksum: sha1:2842d014d810b3ebcc6da20c30ad226fae94c812 - pristine_git_object: 4d0c952db45cd3ecf3f8759c1ac31de200aeb921 + last_write_checksum: sha1:98eba16f685c5f30d33eb24ffad62058dcfe2e57 + pristine_git_object: e067ed93003f3b0aa44a0b5d24c49bf79e2c124e docs/models/createinputtypecriblmetrics.md: id: a5782f38200e last_write_checksum: sha1:92f9e1bd0b4d8e0752d525199ff670a750bc52bd @@ -2704,8 +2708,8 @@ trackedFiles: pristine_git_object: 355e37a99cdf04a76eb09284dbcbb40e28ab4e34 docs/models/createinputtypedatadogagent.md: id: 3f390b67feac - last_write_checksum: sha1:b07987b6a044ffeb8fb166b437bc3db62c274dff - pristine_git_object: 2694834a4001cf72d9f6e9f9a822e21a01a97db8 + last_write_checksum: sha1:877aace7d66bd74388c256988f082dbf16cb3497 + pristine_git_object: 73d88d911a32abd6b438d45c5320bd3a07389115 docs/models/createinputtypedatagen.md: id: b57dbce1737d last_write_checksum: sha1:701037ce6a0a180856adb8dcaaaee6b2429daa79 @@ -2716,8 +2720,8 @@ trackedFiles: pristine_git_object: 15fbc4bd31d6c9db968ac15a440329ca71db275d docs/models/createinputtypeelastic.md: id: 9f1d4bb0bc7c - last_write_checksum: sha1:8637894e903617c17a1e3de5fafa12ae48777bbf - pristine_git_object: 245a71ac1d7df40f14815a69648a733257205b19 + last_write_checksum: sha1:8c3f82bcb82539efd5e33e35b19047f8e15330e3 + pristine_git_object: 4bbe610283a779dfcba124af4ac987e7a50b2b5e docs/models/createinputtypeeventhub.md: id: dc034c2b7447 last_write_checksum: sha1:3237967f75990692760bd6119a707a16130760b8 @@ -2728,20 +2732,20 @@ trackedFiles: pristine_git_object: bd1a13868ddec7d1139c1b7533a4fc1f12647cb0 docs/models/createinputtypefirehose.md: id: 662fe49ba3f9 - last_write_checksum: sha1:3f4d53f7479e348703dba7f14bde9bb831c12ffa - pristine_git_object: f5d6911b2688391bb73b8de638e8912b31afd1bb + last_write_checksum: sha1:1e1919948695ff5b0a442f6b6ed24b6b0ae4b24d + pristine_git_object: 41315c7496a376c2eac53e90c26b1977be554d8d docs/models/createinputtypegooglepubsub.md: id: 054d367dc98f last_write_checksum: sha1:2d31d4b74c0ef64b44eaaf98d61e169d0948b6f2 pristine_git_object: 57fc5ca629c32c5088626146acaf8098d29fa367 docs/models/createinputtypehttp.md: id: e555f2afa7c7 - last_write_checksum: sha1:cbbec12d9808e43e0a6d87d400e88140ab5dbed7 - pristine_git_object: 02dae12adbba717ac7e886d1069e75ab0f14ad1a + last_write_checksum: sha1:be8d99fd1b5278584655b90ac3a4e1e48bfe684c + pristine_git_object: 119a10f0acf5c208b3a8267a8a2046fa6ccad588 docs/models/createinputtypehttpraw.md: id: 95bb4ef5bc8f - last_write_checksum: sha1:d5af2f7701bf186963644fc5b973cbb7bcabab9d - pristine_git_object: ac1b4ddc14812206200d86f1ff898d93564db68c + last_write_checksum: sha1:e8785cef7d214abed6728432aabae63b83eefbbb + pristine_git_object: ef9fa28b3d22c87dbfbb862cf50dfe71b88594bd docs/models/createinputtypekafka.md: id: c9b46d41fc84 last_write_checksum: sha1:bfdd89f88dfcb2266c368851d753401cd7f629d0 @@ -2764,8 +2768,8 @@ trackedFiles: pristine_git_object: 217112ce567d8b175cfc5cfeb0f2c13d2555d75d docs/models/createinputtypeloki.md: id: a4fa166b4d62 - last_write_checksum: sha1:a4d787f010854e24fa5f312bdadd6bfd02912af4 - pristine_git_object: 8a355de55e23f6f82254229c56d4419651daf407 + last_write_checksum: sha1:3f173beaf62ce7583501cce8651955709ae9b486 + pristine_git_object: fbe392115e9720ef82e3b02dcafb476bea564433 docs/models/createinputtypemetrics.md: id: f25a21720533 last_write_checksum: sha1:c57d3ee89543e8103c16cf9653574c2f598c5b4b @@ -2812,16 +2816,16 @@ trackedFiles: pristine_git_object: 26aa59cafbccfe16802ae39e0b795ace8134145f docs/models/createinputtypeopentelemetry.md: id: 607747c356c1 - last_write_checksum: sha1:8c5d430d8672e85d7d030e502b5c75128e18c8b3 - pristine_git_object: 2f43f1483813f69215de2242c1c2342700433031 + last_write_checksum: sha1:bed82f47e4e2be119c509ed7e2de8b0ee32768f9 + pristine_git_object: 5132fb523ef7e58a798b1b6aa296cd8769d0f20d docs/models/createinputtypeprometheus.md: id: 6ace046eff76 last_write_checksum: sha1:7f8db377f82bd1ba5599fe3fde8e2bde3d690afd pristine_git_object: 46fd03cf045e47b22b92a2f9e1392668ce7b2223 docs/models/createinputtypeprometheusrw.md: id: 59ac72e5494a - last_write_checksum: sha1:c79ce5f9ee7a7fcbe99c5180d13480f937ab191b - pristine_git_object: 11bd79b9c1a4c2b9644dfeb8c5a97b8023cdc42d + last_write_checksum: sha1:d0cf32c4b539b5ad29eaea6bc7562b3c4c5e6145 + pristine_git_object: 5194c9269f12b1d402b69d547aee3ba3210cc7d0 docs/models/createinputtyperawudp.md: id: df4566728e2a last_write_checksum: sha1:22ec5473179ce2966de8bd5cab37a98b90758e48 @@ -2852,8 +2856,8 @@ trackedFiles: pristine_git_object: e1fde6535849d8eb8ab830322f2c073f451db4e7 docs/models/createinputtypesplunkhec.md: id: b6c2abb2d0a1 - last_write_checksum: sha1:54ca9ebe17e412666e7e665960b22b8f2dabab4d - pristine_git_object: 4aeb900cc1a291530275cab554ee25fd0fa70741 + last_write_checksum: sha1:78db2b390c69638277c00c79c92705a41d4ec06c + pristine_git_object: 36bcf98e2aaa0705e3185e13dbc2f5ed6370159b docs/models/createinputtypesplunksearch.md: id: 1296a851b93b last_write_checksum: sha1:8b4d6a9c64944453bdb46d112d5c12e6a48d085e @@ -2864,8 +2868,8 @@ trackedFiles: pristine_git_object: ef479fd9c84faf6d97404e31b4071db848dae44a docs/models/createinputtypesysdighec.md: id: b35a1417b728 - last_write_checksum: sha1:bf38eda44a923bac9a2bcd3f0d2352af3e175daa - pristine_git_object: 484b6273b29dcbbdd9297cfcd8accdc578c5f883 + last_write_checksum: sha1:0317af2508262233ffb65764882a1db706d7e313 + pristine_git_object: a9c2be0f320eb89d4f96e927b456b972f17f5a77 docs/models/createinputtypesystemmetrics.md: id: 7fb8237af3c5 last_write_checksum: sha1:57065dc9742d2d945796d36943271085a5688052 @@ -2900,12 +2904,12 @@ trackedFiles: pristine_git_object: 07ee0bd225bbc3a4d62166b4b0b450024fb14b54 docs/models/createinputtypewizwebhook.md: id: 513eb80f8a66 - last_write_checksum: sha1:44dc95dbd550ca592b270174903ba0938e8318f1 - pristine_git_object: 2f4869b1e55a698052421eb087b3442b12bdb1ef + last_write_checksum: sha1:029cd2132d952942baaa37606a88f43bb58d2df9 + pristine_git_object: a4aabaef3d0d32b07a4f931e2878eaef61f444a5 docs/models/createinputtypezscalerhec.md: id: de787e191c5d - last_write_checksum: sha1:35aac30307d624213530f4db1f5e1090e6840e77 - pristine_git_object: 205c60bb25b0b6cafdc2ec0ad36843fce659af74 + last_write_checksum: sha1:a06a33ef705cca86588631e8b9012ab1d39062c0 + pristine_git_object: 2853fbb7aa2a007325289102c55e74ed2818c09a docs/models/createinputunixsocketpermissions.md: id: bdb7ff531f90 last_write_checksum: sha1:b9601216718d593b5ddb96158253bef003e789a3 @@ -2934,6 +2938,10 @@ trackedFiles: id: 1fdb5b7110fd last_write_checksum: sha1:98b9e71b47e3b4b8687148a6fa3341f84da71bf2 pristine_git_object: 322ccd349fc4bdd57d0a730a91607e6938483b09 + docs/models/createoutputauthenticationmethodalibabaclouds3.md: + id: 83cdfce1be9c + last_write_checksum: sha1:dd807286eb7ccc95e9a0a682debc44414a8accfa + pristine_git_object: 1c5a4223dbe58c8942c7c6ca8760f388ddf22671 docs/models/createoutputauthenticationmethodazuredataexplorer.md: id: a33d5d7775ac last_write_checksum: sha1:e0ba8b93b374bd6618d8e8fdc463bc8e902a3d2e @@ -3120,160 +3128,160 @@ trackedFiles: pristine_git_object: 2c4a20b7e1dbb60fc4638af2aec182e442fb19e1 docs/models/createoutputoutputalibabaclouds3.md: id: ae7402d1afd7 - last_write_checksum: sha1:e58c21ff0fd152491154efafe765626fbf7a746a - pristine_git_object: 2807c447019d9db13dcfdf6eadf82b33fcae905a + last_write_checksum: sha1:ecf3605787a35a51b652370cbe5f9bbb40277728 + pristine_git_object: 0cc39bc86736e61f5e473bd63b3ff3c839615110 docs/models/createoutputoutputalphasocs3.md: id: 47adf9995a65 - last_write_checksum: sha1:d5d8b1ffd2053ef634669b92e144d73025fbffe5 - pristine_git_object: 00d1156dc87c376b0930cfb6c7b21a6deb51d2e1 + last_write_checksum: sha1:958a8506f82d1c95fbe96303f441b9bf866ecc61 + pristine_git_object: dd88f052a811cd76d78cd0f6d3a99d3159bda75c docs/models/createoutputoutputazureblob.md: id: 21c5b2747a25 - last_write_checksum: sha1:f60355ed39cbd8c4950648cd9538372f352cbae7 - pristine_git_object: 57c21bf7281d946f2515422f5f367ea1d08bd5e3 + last_write_checksum: sha1:0b3aeaa88cfaf5893e73c7f12dbb5d3900c6808a + pristine_git_object: 44a8502f7773c960e029abff5a5240ce88049ea6 docs/models/createoutputoutputazuredataexplorer.md: id: 08d8318591f7 - last_write_checksum: sha1:c5c32781bece59799580f5afb5176803b655e672 - pristine_git_object: d8eae0c134b90db3b259e183cee2fa5691677942 + last_write_checksum: sha1:8a0a654d674245a86e554fb2ad5b90c13eab8f7d + pristine_git_object: 3cdfe870b56d51d6c122c48d115e54ce9b6ec49b docs/models/createoutputoutputazureeventhub.md: id: 25053cc329fb - last_write_checksum: sha1:f73a9e12263bedc16a969d65a3ecfbd8412e64a1 - pristine_git_object: bac5a625933764dd4eb24880fc28f0d3fc7efa2d + last_write_checksum: sha1:7b1c18719b0c275a2681959033420b5fc1f5083c + pristine_git_object: 43330166da3a5f5aea8ca5d2d7a751751ca66bd2 docs/models/createoutputoutputazurelogs.md: id: 5f4ff5471b4a - last_write_checksum: sha1:a2d97f1c28c68a0fd077f5c0b533f3558895e8fe - pristine_git_object: 9d60b9ba165868c1d2352ccaa329196c14ff9b4a + last_write_checksum: sha1:775358b50beeba508e7745e7ad3b5da9a7919168 + pristine_git_object: d0e96ea8388053f707b8e69100fbfdc3f30414bd docs/models/createoutputoutputchronicle.md: id: 0e1174a12b2d - last_write_checksum: sha1:75f42e3b5d1c35c64319617a821cce298efb0444 - pristine_git_object: 6018cdf2fcb8e0fc5e0d62223627e9d1ccfa1bef + last_write_checksum: sha1:9afca77b7d3f8d58c244911d1906990b4052d44d + pristine_git_object: 1397e9ed43deeade3f711dbbb2dbe9137194a915 docs/models/createoutputoutputclickhouse.md: id: b666def4fa91 - last_write_checksum: sha1:4145efe03277818b69446defea612b6522e28d22 - pristine_git_object: 25e4527a40f2ba6c71be3c77251f99302423e890 + last_write_checksum: sha1:3bdb742f3191dc3807d341ab9c97e31cec18b191 + pristine_git_object: ac17b385b6fa4c00d8cedea319f38d467512b536 docs/models/createoutputoutputcloudflarer2.md: id: 4ee32170abc4 - last_write_checksum: sha1:4a4bdd005f1dafc942170e1aa23084a729e7d102 - pristine_git_object: 8d8a3d6bca470998a8968ff3ceef60901935dd40 + last_write_checksum: sha1:0dc513115693442d47def4df6956d89c9c740814 + pristine_git_object: ec67158968cd2ab544ce1ecd67152617406d9a91 docs/models/createoutputoutputcloudians3.md: id: a3c035e79abe - last_write_checksum: sha1:ae89a5e1a843b5587fe3b630b771639be1efac15 - pristine_git_object: 7e2873d7500a3abcef06ca40c015b0ea3535eb52 + last_write_checksum: sha1:012c973331706e016a1fbc6b8bb93d007392e078 + pristine_git_object: e249257206aa0b9d8f13233651ce84e85f68d9e8 docs/models/createoutputoutputcloudwatch.md: id: 6839cb338310 - last_write_checksum: sha1:2b26d8478f9119da019567f4fc144a9dc9dfdb2e - pristine_git_object: 6b100c41f87ab69a2f5f55701a864dacb2077dba + last_write_checksum: sha1:7df0105644a24e1f9e31991bc127579983e0b55f + pristine_git_object: 42fa663da6c592efeaf06d7a644ccf1d39701195 docs/models/createoutputoutputconfluentcloud.md: id: e8de618fb8ce - last_write_checksum: sha1:f070191edb192819a16b50082e7c8da1ae7e20b6 - pristine_git_object: 256238b8a028e1bb2dde271d40c6853d38e9ffb6 + last_write_checksum: sha1:915d5b160ce7664d4ab48d08b95242850040def6 + pristine_git_object: 0e0a89589a182ad37254fea6d3d8b4629e6d335a docs/models/createoutputoutputcriblhttp.md: id: 1bd6779c1a72 - last_write_checksum: sha1:24edc4dcbbdca0f1149c72136ee0d671448f0fd3 - pristine_git_object: 05b897c1c1678ad9cbefa839d856da46749055a4 + last_write_checksum: sha1:7936d63f56699379145d453fba7ce871033effcb + pristine_git_object: ec8aeae8054bc6aae49883c9b731d3cee529dc00 docs/models/createoutputoutputcribllake.md: id: 952f5e762078 - last_write_checksum: sha1:cbdd897e6072a11751b816d18be341e7688b4dce - pristine_git_object: 307ebee0743eba241c100d7e52464791d868f1e8 + last_write_checksum: sha1:ec03cee4105fa2ca1af08701b1addb3149ce4b64 + pristine_git_object: efef8e8af061b745aeb3a9b6388a42174b3f1a00 docs/models/createoutputoutputcriblsearchengine.md: id: 2ee1493169c1 - last_write_checksum: sha1:754fa109f72a58b98d8fbbb532953b6b267c824d - pristine_git_object: 0d5a19fbdc2d5ced6b4aaf87b18ff5602ad15980 + last_write_checksum: sha1:a312612e09bb6eef8713edf60f0748afb35f5e1b + pristine_git_object: d23e44184a0c36e47522130e4cf838503dfff140 docs/models/createoutputoutputcribltcp.md: id: c5c310a4139f - last_write_checksum: sha1:4c8114c32b4d564f2fd2f3de4ec6f4c87f928861 - pristine_git_object: 9db253e37fcda1e1d580f19ffc38793a3993366a + last_write_checksum: sha1:3388ccfb6f872f8a42d3be299e0ae9725bf13508 + pristine_git_object: 80ae2f795567726532633ce6a3533cb920958140 docs/models/createoutputoutputcrowdstrikenextgensiem.md: id: 0bb332dba9cc - last_write_checksum: sha1:65acab40785d628f9590afa9829ae18702d02d00 - pristine_git_object: 3ef4a2eeb72c75ba1d3375cad5ac2fc9a407f9f5 + last_write_checksum: sha1:090298a42166d6711046c1b5bdf56e66a6d805d8 + pristine_git_object: 4e1293db5046dba2728a4374365556a83778d3f6 docs/models/createoutputoutputcustomermetricsstorage.md: id: 2e07489dc3d5 - last_write_checksum: sha1:a49c727d08bfe304ab321a5ff4c6523fad9173bc - pristine_git_object: 578e68741ec66a07558ad60649f62aa457136fe3 + last_write_checksum: sha1:c30c5e255d772dfc580d17ee6c743af3ea74b67f + pristine_git_object: b71d3bc43ea3c5927e7f20d19a508738654c72ea docs/models/createoutputoutputdatabricks.md: id: 3a34c1995e96 - last_write_checksum: sha1:bb6ff7ccffdc6277d71f894e8b4a7bb3b31495bd - pristine_git_object: 7e5497686802951e5e05c9c65c1aefc0d19ed98e + last_write_checksum: sha1:e10e3480a3c85fe6b95117e8dbe7b83aefae8de8 + pristine_git_object: 2b40496759237a2ebcd531cd73611c8fd0836abf docs/models/createoutputoutputdatadog.md: id: 3498b718c150 - last_write_checksum: sha1:6ab9e277955a8726fd10f7bdb67f5435d1473bbf - pristine_git_object: c95ab1f732d1a60a3b9f312e29ef19a04181c246 + last_write_checksum: sha1:96f1d7339026c5444a99d01ddb2fa59293370bf3 + pristine_git_object: f675896268a4a3d51f256c2259643ff1d858f0ff docs/models/createoutputoutputdataset.md: id: 7d3d766e8112 - last_write_checksum: sha1:0ca1646929f6a744f3b9de002fca161e6c23eb44 - pristine_git_object: 658f68288dccf47cb55b95deadc8915647af53bb + last_write_checksum: sha1:a6d1f0a1642c882e3edc762094675e919b5ecb78 + pristine_git_object: 2b5be0fd696164a1817b5160119239beace03643 docs/models/createoutputoutputdefault.md: id: 6ede43dbce8e last_write_checksum: sha1:645724671283d55930b74c458e6dfa4079f46f43 pristine_git_object: 5d0e9b22c3a4d2145d4d5394786f00e322529191 docs/models/createoutputoutputdells3.md: id: b5950dc1b6ca - last_write_checksum: sha1:3777ccf24fc303b98dc5ee353fbb01b92da217fb - pristine_git_object: 82674ab0a40b6de30fea82ad2835bf1f1cb6a833 + last_write_checksum: sha1:c2d6c4a64fa96d07302bb85cc580aed9d1456cee + pristine_git_object: b6a28f91337eefc0f3c407513ed7a47b5062b8b3 docs/models/createoutputoutputdevnull.md: id: a68c1101317e last_write_checksum: sha1:54394aaf8637a95e103890730d0ec21ff68762a6 pristine_git_object: e79f3a184083fde384db8e673da6fcfcb1deac5b docs/models/createoutputoutputdiskspool.md: id: 9638108c1849 - last_write_checksum: sha1:452a7393ee8221dee87c3153e1ffefe9778d20ec - pristine_git_object: a943011ccee00fb50215857d78b2a1237efb4660 + last_write_checksum: sha1:06a112a36813327f647f2e4bc59e3516a1c12dc8 + pristine_git_object: 6fccb85ae4dffdf410f4328780e2401a8d50ca1b docs/models/createoutputoutputdls3.md: id: 62014a914c80 - last_write_checksum: sha1:f309628cc06208d400fe039c31ec58ef50121404 - pristine_git_object: 030635564cf0335ce7d876b3db10c52f2960fa3d + last_write_checksum: sha1:daf1b111895390128bb8a59c90471568d24449ce + pristine_git_object: 37823fc2937b77d10e1987f88381df7db2a519b4 docs/models/createoutputoutputdynatracehttp.md: id: 5e16f9a76417 - last_write_checksum: sha1:f5ac69207ba877d0738fa0554657a5d0c766ae73 - pristine_git_object: 0f3ef103864e19f1fb1c5e082589b4fbe29dddb5 + last_write_checksum: sha1:85dfb9f7703cb194bc3926129415db3d544652e3 + pristine_git_object: 0fea9f43e371b4c8bacbf6314bb2fd1bec107dd8 docs/models/createoutputoutputdynatraceotlp.md: id: 5aaf9a92c598 - last_write_checksum: sha1:8611233b87cf662d6a0a24d67be8601fbbe54d88 - pristine_git_object: b1ef4ef5b733ed8524f008127bba1fe0b0398de5 + last_write_checksum: sha1:27ca92be204d9604df1b4c04d8439e54703bb2fc + pristine_git_object: d05cc4891a2a0020665c1d31535e8635983aac10 docs/models/createoutputoutputelastic.md: id: 7b351154c209 - last_write_checksum: sha1:caf0c1ed23d3b4ead8d19336710f82c088f57d98 - pristine_git_object: 1721b69d443070abc77b7b0cf91d8914ac43c443 + last_write_checksum: sha1:c09f0d5a7206bf273f693b4a548b081337f1b542 + pristine_git_object: 0d506b52a8410f7912d90d1fb84be6c195185768 docs/models/createoutputoutputelasticcloud.md: id: 8bce78b3cab0 - last_write_checksum: sha1:6ce9fc704155263d514417d8fc5d963741e08e12 - pristine_git_object: b9ce3dff4f0367b7d67c2872faf5799c8cde477a + last_write_checksum: sha1:d133a8b199637a5fc1afcf74f92dac2061aa22b8 + pristine_git_object: 236c5d2ae2456ce0c216ad6611a0ec8ddf9f4543 docs/models/createoutputoutputexabeam.md: id: d7d7afd338c5 - last_write_checksum: sha1:8cee8c7aff0caeda5b4f7661d3c60bc578f56cca - pristine_git_object: c02ff936f82f80ffbea515aa5ab0cad2a7128816 + last_write_checksum: sha1:b7b7e37c433e4c66f585d22bf5079a501e20e99e + pristine_git_object: 1eac9eaf116c8880409890e534e717bed99cd547 docs/models/createoutputoutputfilesystem.md: id: 165556b9c65c - last_write_checksum: sha1:129250be584d153ed76eff6366df549ab9160478 - pristine_git_object: 67f1e1d0794a62886b6f5224459512a4fa82e700 + last_write_checksum: sha1:e531d570d0a9ab49353e9ff84be4ae15d56171d0 + pristine_git_object: a6b99c6e4ed2db408762275bd60f470784dcda68 docs/models/createoutputoutputgooglechronicle.md: id: f993218e38ba - last_write_checksum: sha1:fb25a4172dd325adebb3b84d6492bf10c0838060 - pristine_git_object: b4cda50ae08f80313f6fedbd1f1a02056723b68a + last_write_checksum: sha1:4def47db45297d6dfba8d78c990053bd7d11d1cc + pristine_git_object: 73ff0df65ee533c78be332cbbd41e685c6d938b8 docs/models/createoutputoutputgooglecloudlogging.md: id: fd8c849932b5 - last_write_checksum: sha1:88d7f2d982963a38ce3f570521b6ec49e780feb5 - pristine_git_object: 5c83aec99be0722e1f9d4cef2bb1c15ee99c941d + last_write_checksum: sha1:c6820773d1be063fef8be2f744a368f8093bfe63 + pristine_git_object: f87facf673cd79853781e6c94cc0b30428d50ff4 docs/models/createoutputoutputgooglecloudobservability.md: id: 0cfe46c17689 - last_write_checksum: sha1:cebe740945324612d22745048d4c829a3c5dcd9f - pristine_git_object: 60b4ec943e7893b521fd0d586c3fab426b12f1d6 + last_write_checksum: sha1:ae7c17d9103644280ad952c6a1f5d63f5737be03 + pristine_git_object: 8836c6ad2f216e1b6cbbde698ebf52c8bd14cc62 docs/models/createoutputoutputgooglecloudstorage.md: id: b9a408afee4e - last_write_checksum: sha1:450cc8533b207b770d91ce1529a19e1e62c2ef35 - pristine_git_object: 03110e30693efb78cb207e0bb61ea2d9c0818d15 + last_write_checksum: sha1:758c951d7c16cec8bdadccd8971306667e653635 + pristine_git_object: f1bf4e0eb8dabca69d71f5c46e6c133ed768ba14 docs/models/createoutputoutputgooglepubsub.md: id: 5adb1168c01f - last_write_checksum: sha1:96fd67ab48f521c58cf54e710da4a346b3250250 - pristine_git_object: 0d9d82088e3bc3ca11368585180b077feca774fb + last_write_checksum: sha1:e2d83bfb146b1d61f7b13c6706f73d83a67eacb6 + pristine_git_object: 1bc385e4a90675bbeaa54722ac0ec449de1ffd7d docs/models/createoutputoutputgrafanacloudgrafanacloud1.md: id: eaf672cb60ce - last_write_checksum: sha1:769d5883353c9a14f0f6d3eaf7045bde2aa4a2fe - pristine_git_object: d90465260b7f2469dec221bdc767b9608fc7cd78 + last_write_checksum: sha1:4f5608d9b7f6330128f88a1b4a8a5893fa5fb9a9 + pristine_git_object: 93312a80f3f51debf11527164549b64b64710b28 docs/models/createoutputoutputgrafanacloudgrafanacloud2.md: id: 80c2d405ea46 - last_write_checksum: sha1:278ebeead959a13cc0c8bf5618433151a1b69a1c - pristine_git_object: bffe52c90a6196a5e94e793003364212938aeeab + last_write_checksum: sha1:3f9b55314adf27d095d0c4ba585eea5f465f9457 + pristine_git_object: c6c5107be4dcdc0f2b1899ede531a0b92432fba3 docs/models/createoutputoutputgrafanacloudpqcontrols1.md: id: 7e539cf800fb last_write_checksum: sha1:1efb47beda0e89f99358172e1ac9deb5eca3978e @@ -3296,160 +3304,164 @@ trackedFiles: pristine_git_object: 68e02eeb9a868462ba62ec11fa118639eb6b4f52 docs/models/createoutputoutputgraphite.md: id: c0e581482b22 - last_write_checksum: sha1:7dd0bc464d5e8029340fddbae713c8791400f207 - pristine_git_object: 995ffa712d0d4c071fff8f8cbf33280e51a8784d + last_write_checksum: sha1:0ae3324b01e9a9c696dc7c6c678d6b98e92fe101 + pristine_git_object: 9e17c12d0b20b9b98f4d433604ec808f30eb8b6a docs/models/createoutputoutputhoneycomb.md: id: b02fcca4c5e6 - last_write_checksum: sha1:75981bc677f6a6f327b7ea52b7645c95f54e1fe5 - pristine_git_object: 49e57e95742d711e82c010707e52068da795ffa7 + last_write_checksum: sha1:528acb29d1afe0ef816a3d2657eda565d54024ad + pristine_git_object: d15f67ce71512f40ed8fa7959e43c3e40c64cd9c docs/models/createoutputoutputhumiohec.md: id: 6deeab0ed98e - last_write_checksum: sha1:978baeb5003fa118551ce8b449cb9a9175ae64db - pristine_git_object: b98d1eb0da131c7dd13592e451b222e4ac3ba6fc + last_write_checksum: sha1:934408fd96d812e4e00dac7977a866870eed7304 + pristine_git_object: 5e1b5d4a4748d48da07690e856d39fd2765e6669 + docs/models/createoutputoutputibmclouds3.md: + id: def468403503 + last_write_checksum: sha1:2d8f160fbb49c3b57bafbc11f87b0d4c6318c48e + pristine_git_object: 84a913fcebe6de5377403bddaaaf6092885bc075 docs/models/createoutputoutputinfluxdb.md: id: b81b39b4580b - last_write_checksum: sha1:d55ed5a7a0ba3e694511cf429864bd5d7519bbda - pristine_git_object: 7fcd88078f2f2d1cc80c8724f178d5cec2884311 + last_write_checksum: sha1:ce8ed3e2763c0347543d5b46adc1491c3dcf1de5 + pristine_git_object: 6f1fa749c612b0c8aa78f78c624d34ebb1f2ac8b docs/models/createoutputoutputkafka.md: id: 79dd003443d1 - last_write_checksum: sha1:33a6674edfb109264a4970790faf72284a1a98f7 - pristine_git_object: e429aef24ea0ffa661e2718426d0b0addb3f6e52 + last_write_checksum: sha1:9ffe7a143cb0ab65f4c1cf99c1e868ba97f6912d + pristine_git_object: d14508e27cfad277c4eaa601ad9743c898a0b33c docs/models/createoutputoutputkinesis.md: id: 417f147141c9 - last_write_checksum: sha1:cccc6d28d7c2b8c1feeb7976169a77e4d0a94a8c - pristine_git_object: 30c6f4bae4275784ddd794d3cef8b5c687d31876 + last_write_checksum: sha1:44750e9ce09e97e99c3c3e454233bceb5b33f781 + pristine_git_object: 044d4706ed09684b43476ab8555d761bf6b4501a docs/models/createoutputoutputlocalsearchstorage.md: id: 53e0801bb3b9 - last_write_checksum: sha1:722396872f9611f7afed84a22ec8b741505f02ed - pristine_git_object: af22e5eab924bd86f9cf7cd5d4b2497b107ef56b + last_write_checksum: sha1:5bfc9b80530bbb8889bdc371464f2529db39d9ef + pristine_git_object: d6029a36851e34bdbefad8b29bfbdc0d814304cf docs/models/createoutputoutputloki.md: id: 4c59fbcf8681 - last_write_checksum: sha1:f24a77a32388a5576b89c2d3a6294ae13d24f7c0 - pristine_git_object: 6af101592a0423c067559f68ddeffea9e2433702 + last_write_checksum: sha1:b4b7118b370f2514c447c86555ccc8755ac0ddf7 + pristine_git_object: ab1c23529ca966e02b5c15d1ebd128b0512adb03 docs/models/createoutputoutputmicrosoftfabric.md: id: f96f00810710 - last_write_checksum: sha1:e8db9d6a4aaa8e041b4a5068a5f4f4f007753f4d - pristine_git_object: 76b855f9d7140724ce6c017d612bcff103dd5d90 + last_write_checksum: sha1:833b61023b0c96beb7c0295a2a5e63a0bc301766 + pristine_git_object: 2818a5ab901091e1cd313fc65b39631546245abc docs/models/createoutputoutputminio.md: id: fe554f56aec7 - last_write_checksum: sha1:a42f7bdc5ac55c5da058be4026c728611c732c02 - pristine_git_object: bb2b2190707c63c4bb7a4395486f3e084ed60fa2 + last_write_checksum: sha1:a7f2f545effd816ebb90b4f85192083f85bda899 + pristine_git_object: b7d9c7d8b8c17eb1b98474466583504fc2d4a349 docs/models/createoutputoutputmsk.md: id: 300f8957ae94 - last_write_checksum: sha1:dd8b9cecbbd0a308402a336014ecf21fbf9eeb2e - pristine_git_object: 5233936013bbfbc9e9ebeeb455b97d89574645a1 + last_write_checksum: sha1:c1ac5bb44c39c3b908ee55f12fa068e4c9f75fd1 + pristine_git_object: 5ddfd245728fcec3fa3c7903381069d0f48ff27b docs/models/createoutputoutputnetflow.md: id: 7cd15c697193 - last_write_checksum: sha1:35afd6fb9636d4e461f33449de73899797fa125b - pristine_git_object: 3fbaf5f4adcb1c99454c4b1cb7e5ae38efac5af8 + last_write_checksum: sha1:6b3b26a724c4e44014eddb686a2950fad7b14a59 + pristine_git_object: dfcad71f37eaa6b335ac08c4ff35eca1345ff1fa docs/models/createoutputoutputnewrelic.md: id: 420f1ae82345 - last_write_checksum: sha1:0d09a5dd7a174cb0783b7e957e7f8456b195b1d4 - pristine_git_object: a8200a7ed45492c7374bbfc24d22657e469066b1 + last_write_checksum: sha1:b5b18fb270ae08a4620797788ffe26ee5bf0100f + pristine_git_object: eec2672a13b336e4202772cb6319f33e886e2a0b docs/models/createoutputoutputnewrelicevents.md: id: 022f977d1c80 - last_write_checksum: sha1:18bb6c9a8ef6e649c42bc7ce22e26a5d35ec40e0 - pristine_git_object: 2d4502ffd289bdf30857866846305da73ecf73bf + last_write_checksum: sha1:ea471eb731a1249f12c8e8c24a0f5af3dd95249e + pristine_git_object: 38c65d848a26a90dde2cc2730779252d7a10365e docs/models/createoutputoutputnutanixobjects.md: id: 18175bc8b321 - last_write_checksum: sha1:b0790d472d10bedb5d05755f450db25cd929093c - pristine_git_object: 00623938cdcd714252e49275513c13d6f5a0fa50 + last_write_checksum: sha1:a129e71ab0c9e1dc4d1a2d0ffd66866aa1313e03 + pristine_git_object: 9f5864ed10b3bb2ddc718bd31fd579326593befb docs/models/createoutputoutputopentelemetry.md: id: 2de451216b9b - last_write_checksum: sha1:0b89b9a1b17607acbf858587c7dbfafef37fb27f - pristine_git_object: 3c58232fab3fc1b7949570964853187fd5d7fc22 + last_write_checksum: sha1:7ce8500918d5460c2ee55a5a51d6d0364d79eb48 + pristine_git_object: 2bd1a793f9265bd3938fab0be0cf416d07ad0dc6 docs/models/createoutputoutputprometheus.md: id: 3d0c0ee9e02d - last_write_checksum: sha1:f68ca1886c0f9085d37e65c40ad8c4ccc8e84f63 - pristine_git_object: 88eeec3d858a86acc3cb65661413b94a567f3819 + last_write_checksum: sha1:497ad5a57f486db79b5e5ae2393debb2d5a96510 + pristine_git_object: 263f44a80643ca0373100e67bbe3b2d711d9f389 docs/models/createoutputoutputring.md: id: fea017a58dda - last_write_checksum: sha1:83fd840572a9b3e110d4b2fbdd767ae83e91857b - pristine_git_object: c0457c56306a73e6746a3ae7ee316cd4320a03c4 + last_write_checksum: sha1:8a34b3c9993e4b4c19875501910a01dea0815260 + pristine_git_object: d39a2aefca6175731aa021c632d0c1f8054a5c3c docs/models/createoutputoutputrouter.md: id: 663cdac47d3d - last_write_checksum: sha1:24de9d17666414a0c8a8170d67febb6063dc0a8a - pristine_git_object: 36619269392f3d8925af90ccc2e92cfdb918ac1d + last_write_checksum: sha1:c96401882631cca89091520363f7016c45734733 + pristine_git_object: 6f464516ee8dc630e6574c589277c607262c1d87 docs/models/createoutputoutputs3.md: id: d8367eb0e21c - last_write_checksum: sha1:6fac4093172c134ee246d3fb0ab4732bb1a54d63 - pristine_git_object: b5ee95359f92c7f100ec403787aaafcea5eee9ba + last_write_checksum: sha1:f7f8d14e65919cf539fb38cd0a8919cdd1e06966 + pristine_git_object: 8abe688877a9430c736ea48ef4b5ab70b4878e51 docs/models/createoutputoutputscalitys3.md: id: 3a21c159962b - last_write_checksum: sha1:9213f724eb133e13ffa2c3a52acc972253c95758 - pristine_git_object: 6bb465e92665550cbda602f49c219a889ad35654 + last_write_checksum: sha1:92e5e4e9632f246ae396d64ad48f2d6946b2787c + pristine_git_object: cd65b36ab86580b3239421cd63932c2155556137 docs/models/createoutputoutputsecuritylake.md: id: b98343005620 - last_write_checksum: sha1:fe85b8f88d2ea3a3fc9bf30cb5edf9b96298616c - pristine_git_object: 21ee5d03912eea67be9c71cf77a2acd4b0960540 + last_write_checksum: sha1:3e1a5ee33b1ff8ef4356ba35230e04bd1fbdbcd0 + pristine_git_object: 61bd0aeaac3c007a5daafa159eebaa912aa1cf94 docs/models/createoutputoutputsentinel.md: id: 68f02716f418 - last_write_checksum: sha1:65bc2a75c1347126d02e43c3555cac87966a5c51 - pristine_git_object: 8b7c09f08e818a475446ff39b23d15e947494422 + last_write_checksum: sha1:6c8ca4e736c52290df5e6a2712ba556e1f123943 + pristine_git_object: bf8380025e001a00009b43012f807b2233728928 docs/models/createoutputoutputsentineloneaisiem.md: id: 039e2296c8c9 - last_write_checksum: sha1:3e30d40bbf6e3d5e83a569e1ffc08bb89f887312 - pristine_git_object: 90e064e85d0f7a20a011ddbc0f0dda1dde3b04c6 + last_write_checksum: sha1:0c91d9f38993ca36831a7b2426b17db64ee9894b + pristine_git_object: eab8acfa70d6cd095119d59235c615b73d324834 docs/models/createoutputoutputservicenow.md: id: dca6cdf93bab - last_write_checksum: sha1:6c075626f0deb458131a3849779a31a7dfff2aa2 - pristine_git_object: cb5bbbe35a5f2fdede189daede9392b08df687b7 + last_write_checksum: sha1:ac67d96dd1a6ec936d0801e6d3e22ef91de66253 + pristine_git_object: 92df37158a3b3e9c1864916efb085c50d51eba4b docs/models/createoutputoutputsignalfx.md: id: 132b8d3ecec5 - last_write_checksum: sha1:8407f8072a0a2ab8e6e3d02667ac4078de7631c7 - pristine_git_object: 21bf4df802f078fbe1afe4f61e38dbad478fee85 + last_write_checksum: sha1:2c86136ae3111509bf4822417d2ccb64934466e0 + pristine_git_object: 926b813572612d69b2ddc665b21f395f8c83665b docs/models/createoutputoutputsnmp.md: id: dab1b10045d8 - last_write_checksum: sha1:9cb7a1f4f85ecfe80ef7bda006517eabee090458 - pristine_git_object: bb49ffe7e003c7f48e4d06681864088ead62a1f8 + last_write_checksum: sha1:ab1318782998ca7719809643e7ca63190f2011dd + pristine_git_object: df7ebc802df380b1ef7cdfe4cd562454a45fceda docs/models/createoutputoutputsns.md: id: fca9144d068b - last_write_checksum: sha1:bb3aad27d61117b9668f264a1aa460cf899196b2 - pristine_git_object: 958348ebde3d6d5ef2d8924e6b68ce98fa5b34a2 + last_write_checksum: sha1:6fc5ab17c693ead3ed58b1f1388eaca9f50b6bbf + pristine_git_object: 0cd19812302cee5c4aad09cd7e6dfed56f1963c3 docs/models/createoutputoutputsplunk.md: id: 3de87ca18112 - last_write_checksum: sha1:6f3c61c65968177dedcb37fd332f5763c728576c - pristine_git_object: 262ac0464d219f9e957f537b49f7db2bfd4c2277 + last_write_checksum: sha1:bc10d74669d096a7ad1bdc562f6a15866fe44e43 + pristine_git_object: 5f8441b606072b718269a89c704b2878f9e6d703 docs/models/createoutputoutputsplunkhec.md: id: cb72d3ef844c - last_write_checksum: sha1:c70f196a0c0b7260fb1333b80a1bbd00f4c0e023 - pristine_git_object: 5cc7c78c2d3e6fbfa870ed48dae391eaa351b326 + last_write_checksum: sha1:d8f0b11fa969f576a2d7dd3ce58a5e118f88f1d8 + pristine_git_object: f4ab3e441918d248d71a177415892e630e159616 docs/models/createoutputoutputsplunklb.md: id: ad9415a4429f - last_write_checksum: sha1:fb59cb6686da81641d41133f37e451b1db57ae51 - pristine_git_object: 00f72321a2c607a164fb43cbe3f966ffb0967e23 + last_write_checksum: sha1:40e8495682ed769322b1a99a44872f0960792816 + pristine_git_object: 227fba3b4817ac2030ee6b284467d8c9aecbd366 docs/models/createoutputoutputsqs.md: id: de5d9ade5e75 - last_write_checksum: sha1:53e14aa3fcc635e7a65755d4054a964451976297 - pristine_git_object: 7c9cf0143dffd3012439cfdf0f673a8ee7b628c3 + last_write_checksum: sha1:773a821f6a2baee936b0ee026deb0f7d317e795d + pristine_git_object: 87e18f6bcbfdd2bcc5351ccdba1ebbdce4720681 docs/models/createoutputoutputstatsd.md: id: 65a3a66a2178 - last_write_checksum: sha1:094164d00a063918201d1801b836e1fdbc0ae8e7 - pristine_git_object: 9dacbcff897ce780e30b2c6d53e8ca710134de07 + last_write_checksum: sha1:d2c38be3b02a5ec0a45d28d25fcb346a07ca39cb + pristine_git_object: f59982949df40f2133e3eb5ef2927a9a6c7687bc docs/models/createoutputoutputstatsdext.md: id: 2add8f4bc033 - last_write_checksum: sha1:acb73c44666744e425e84bbd6773ce805f3cc4c3 - pristine_git_object: 489363089124064660eed9c9801780bdab102c3b + last_write_checksum: sha1:62be1448919b60afe2368cc9ab9cfe6898ae8aa9 + pristine_git_object: 601bcc85b0a8c2ddf48297b71f8f8063363c25cc docs/models/createoutputoutputstorjs3.md: id: 3ecabbd205ee - last_write_checksum: sha1:09a0d0ceab08b4481add0ebdb6ed5d490f05348d - pristine_git_object: 73b8bb1a007cbc4bbca8efe94503b7881a0157b5 + last_write_checksum: sha1:d95f56fb8306446a319d0a992904761eba7b3df4 + pristine_git_object: 727543aaf4816ac188d30fcffa9d21665493f907 docs/models/createoutputoutputsumologic.md: id: 121eae5cba92 - last_write_checksum: sha1:17d4f5431c010188a711ac0d6fc4a0dd1f4fbb03 - pristine_git_object: bb4da5c362f189e730021b7422bdf5ba065b23fb + last_write_checksum: sha1:ba96cbe50cb9fd8663f4ff7aace9618cb899cccc + pristine_git_object: 45d927f0629f3e6b152685c1a62b03d69027f9db docs/models/createoutputoutputsyslog.md: id: 97458d090882 - last_write_checksum: sha1:5c821478d5d21c39628a544ca7ccf1c943b63874 - pristine_git_object: dd1fa86529f929ee496c9e1b8b375ae91671ed17 + last_write_checksum: sha1:30f7799db841299686d2124fb7e095aac70f4fe8 + pristine_git_object: c98c2c02d8378fdc724f045c5cf0850862eb0bfa docs/models/createoutputoutputtcpjson.md: id: e3e517595c52 - last_write_checksum: sha1:ffae68da71b2c8f50ea1d04bb8dec563e370b580 - pristine_git_object: ea3cca70db9d87b8f0f24d4114361af85b062e44 + last_write_checksum: sha1:e7d2019aff97d770cb84c78d17a68c497deca2e4 + pristine_git_object: 463b5452e1b1b13d952dc42924e4a249ca6bb35c docs/models/createoutputoutputwavefront.md: id: 75582d1313e6 - last_write_checksum: sha1:ccf84617f418b6df159048d904e2080ddc1e4160 - pristine_git_object: 4ffb454772dfc39487dafb44aca34476928f30c2 + last_write_checksum: sha1:d809db1aeb577ecc14c603a4b4573507d6415afe + pristine_git_object: 08304740275ab9fa667b6758f909aac0458a21d0 docs/models/createoutputoutputwebhookauthenticationtype1.md: id: aa4ff4c71ee0 last_write_checksum: sha1:8d79557c1bd396e5cb7fb2776bf4bb06b8ff50ad @@ -3496,20 +3508,20 @@ trackedFiles: pristine_git_object: f2c8973faef37f240d5d880e4747a1f9cf44e0a8 docs/models/createoutputoutputwebhookwebhook1.md: id: ca4a32977bbf - last_write_checksum: sha1:31f3c917c0d136f8afce3e79355b27162cddcd69 - pristine_git_object: 1d1a3fe063997c3a6fde35a8adeb02ff926a4c4b + last_write_checksum: sha1:a97c1f957d34f594882883a49fd89334e80f47c7 + pristine_git_object: 0c524f492f2bd3de8665108fe023bdd98778f172 docs/models/createoutputoutputwebhookwebhook2.md: id: 238586248c22 - last_write_checksum: sha1:208e905ffcfd904990d9034adb90766cb1fac99f - pristine_git_object: 8356c7cd2f66d941cf1cfc43e3fc5d4a78eb22d1 + last_write_checksum: sha1:d6e928a2846f147acee46aa075cc71c01616dfe1 + pristine_git_object: d56d278bd2ebb70daeb0cede0aaf37649bd82db5 docs/models/createoutputoutputwizhec.md: id: ba48fd6bb3e7 - last_write_checksum: sha1:ff72cd300b347e91c002c86658536f5da5ba3068 - pristine_git_object: d6312d67d80de2bdf076323a3be5f211e589ce33 + last_write_checksum: sha1:af8fc1ed09f3edbdf9b06cc46540f82db92c2cb8 + pristine_git_object: 897f90dcff191346e443589e8035fc04b642ef87 docs/models/createoutputoutputxsiam.md: id: a974b174772b - last_write_checksum: sha1:cf1a465be0e7e32c564f40b69a7ead622a9c1481 - pristine_git_object: 4d62b57158302a20480934e22e72cfc319880930 + last_write_checksum: sha1:3208fb98d73a692276e79e03c530dc6a4e1100cc + pristine_git_object: 8fb2b5bfb4f61851f31be22f709b8c3d543c91ae docs/models/createoutputpayloadformat.md: id: e2c413195b8f last_write_checksum: sha1:178ce5026373fd3593437ef956eb35add057c883 @@ -3760,8 +3772,8 @@ trackedFiles: pristine_git_object: 664b5ea0e00bc0088b78d792e0c661c9863e5b47 docs/models/createoutputrequest.md: id: dfd777b7a943 - last_write_checksum: sha1:6ec50f0321027ab56a76e22fc3d9afa63ce3837d - pristine_git_object: ed51b440262c61b4c23feaead65e52e280d94da3 + last_write_checksum: sha1:271941d6edb928bc63adc3e58aa175f29189cff5 + pristine_git_object: a547324a2beea7d5ed91ae98ea26ee0eab770d74 docs/models/createoutputrule.md: id: 38fc5c5a5dfa last_write_checksum: sha1:1a66324314a5885729e82fb08c70bb5db9e9accf @@ -3806,6 +3818,10 @@ trackedFiles: id: be838a666738 last_write_checksum: sha1:dcdd904a89eb0204a5251f7535b3497950c43591 pristine_git_object: 1f4d462bd4ccdac4dde7b348800202f6192fbdab + docs/models/createoutputsystembypackauthenticationmethodalibabaclouds3.md: + id: 5f2d71e0f544 + last_write_checksum: sha1:f8ab183e66e031cda7c80054307fb5435a584282 + pristine_git_object: 4946589210fe8201d1bac3dbe2de3e4c44cbb759 docs/models/createoutputsystembypackauthenticationmethodazuredataexplorer.md: id: 21f7a39227b4 last_write_checksum: sha1:4b9a29208c64ff8c3ebb2f48f61fcb7bd239d7fb @@ -3992,160 +4008,160 @@ trackedFiles: pristine_git_object: 96d82c5951414128104841079d80ab08dc235f70 docs/models/createoutputsystembypackoutputalibabaclouds3.md: id: 953164777e6c - last_write_checksum: sha1:534561cfcd6ef9ef7778546a842b5237e247003a - pristine_git_object: f3a2f9490ce19d2885e4c562cb88ab0263da6be5 + last_write_checksum: sha1:3cf7ea925451a1bde7d2af24025b0a18898bd996 + pristine_git_object: 4c3f52ceff30f470fc4a72eba46a10623668e3e3 docs/models/createoutputsystembypackoutputalphasocs3.md: id: 58f6236bd283 - last_write_checksum: sha1:e6d380529f996dd9c93ced65051045257b93ebcf - pristine_git_object: 5650640da774934116af810f71702145b756081e + last_write_checksum: sha1:32541c03de81a01a2507aa0114aca8974b7811f6 + pristine_git_object: eaee520d28e50a141de80fb73b6470b2c131f5b8 docs/models/createoutputsystembypackoutputazureblob.md: id: 7fbb5f846cd5 - last_write_checksum: sha1:8bf4cb33e1a0d05b6b25146ec04f1c1f88e3bb76 - pristine_git_object: a524c20709e74c0363e89d97fdee1c964532fab1 + last_write_checksum: sha1:5c37bdfaea06ee178438615b79e22bfbd767137b + pristine_git_object: 6894686b5409514be1d19c19033aa2dc868cabd2 docs/models/createoutputsystembypackoutputazuredataexplorer.md: id: c196c157797a - last_write_checksum: sha1:aa624eed1494310d7f11024e97080da34e871531 - pristine_git_object: e8167427b5f5babfb10155eeae001487df5c6267 + last_write_checksum: sha1:0ceb1a74e999692d0a62209306f4129bb2285e05 + pristine_git_object: 2752b860c70f2f75134d83da0eee265e90335c48 docs/models/createoutputsystembypackoutputazureeventhub.md: id: b0467b7717cc - last_write_checksum: sha1:d1f3e46b8c15dd6643b7f1e8f4ab935cb76c0b88 - pristine_git_object: 5aa3cc0a026d4b326b428383a4965600327c7b4c + last_write_checksum: sha1:8dcce829d54c1aecafa17fb495fb45ea2290c960 + pristine_git_object: e0e0d2f321206d774128ff7b7089731ded78045a docs/models/createoutputsystembypackoutputazurelogs.md: id: e7683e3d4631 - last_write_checksum: sha1:079288644d6e96a752b87297fb362456e91b8277 - pristine_git_object: 05dde498998d4de70520e667ddd2ab03038226b5 + last_write_checksum: sha1:ca482a873b8d464d519bf98d38ded4102c68957b + pristine_git_object: a4e61c9372714dbbce9be15db96890351c4479e7 docs/models/createoutputsystembypackoutputchronicle.md: id: 73842dbdd0a9 - last_write_checksum: sha1:794cbfe4314eed5d2602007647b2e83632cf8a31 - pristine_git_object: ec22e5812d62d2ba19841831e9a5d3b4c3e89fff + last_write_checksum: sha1:f029164ecd89ba01ac4e97fe120b5fdf5cbc9753 + pristine_git_object: f5e4c358d5e89b78125b3e45114e4f4fd8f6e7c8 docs/models/createoutputsystembypackoutputclickhouse.md: id: 976c28813973 - last_write_checksum: sha1:4ff8df6a554210c3364b1cb4eb24f3fce621db2d - pristine_git_object: 234b8db14979ef06ff905bdace9f91c568509b3b + last_write_checksum: sha1:db5a2d41f92b21db8037fb6705986f9c93a78341 + pristine_git_object: 9246a106715fa06e82b085d9cc66d9a972ce6508 docs/models/createoutputsystembypackoutputcloudflarer2.md: id: 8fc60e5c1180 - last_write_checksum: sha1:507ce45138d30607589eefd8f5dc3fdaeefcd7ff - pristine_git_object: 064d50650c70d457f7cf99e2632bb7f449ef2900 + last_write_checksum: sha1:ad6e7be143de4b5faed51e44c5ae5eba023500f6 + pristine_git_object: cb06eb228fc13f7cdb26a5083b9f589c5f2f8410 docs/models/createoutputsystembypackoutputcloudians3.md: id: 29fd113354dd - last_write_checksum: sha1:3f2c226a3e7faefabf44c13ab3628d9a1a974477 - pristine_git_object: bf4ef178fbc1602d1e262db4fd6ec08ebb5c6121 + last_write_checksum: sha1:51c86d78267b488802e04a6c9b07b619865e8c7a + pristine_git_object: 52288d72c6f8fab6a609f7f8b576f94d634c88d2 docs/models/createoutputsystembypackoutputcloudwatch.md: id: ce3268693644 - last_write_checksum: sha1:7bddc93daf09a4d2b4373c75cff5054833729938 - pristine_git_object: 044c2f189d09dff003fae027c0ebe75658d9eb14 + last_write_checksum: sha1:f31374e32c6230c698f2e0e5e210b55ddd01c81d + pristine_git_object: ded2500fc250cbdecbd0d59e2cb069031dd777c1 docs/models/createoutputsystembypackoutputconfluentcloud.md: id: 75bab27802df - last_write_checksum: sha1:8b61c198787cde84db282a51429e888798f2933d - pristine_git_object: 386e1a64ba010a9aa7d1ffa9720410be96482024 + last_write_checksum: sha1:3e63e9908cc346661b3fbcd99c5e3e275141aa94 + pristine_git_object: 3b24d66aad218448b6079973dce605f609dcde29 docs/models/createoutputsystembypackoutputcriblhttp.md: id: 72d132fbf9b6 - last_write_checksum: sha1:075dc12272413f4aef7ed1b74f680b24d9fb52be - pristine_git_object: 792203ef99ebc499919ca562b5077f287244f98c + last_write_checksum: sha1:c6e5a0b2f63d914b626960665e655cbed0e3d919 + pristine_git_object: 81bbb432eb4b70a67f3922b8aa6f6b24f6f2a076 docs/models/createoutputsystembypackoutputcribllake.md: id: b00e95f1573a - last_write_checksum: sha1:de15d17379c704174f70e2a14cb7fa6a45c7b08c - pristine_git_object: 5691d77ecc005ce40bbc6b23345274ca259d93fd + last_write_checksum: sha1:31d7fbae9d06bfdd63745234a9c2b9636a51563d + pristine_git_object: 6cc7eaf0e45313ddf3de70f7e4ea5333fa8a7946 docs/models/createoutputsystembypackoutputcriblsearchengine.md: id: f17303fd42d6 - last_write_checksum: sha1:7735cf4eafc9602b869968dad58b99af68bf6705 - pristine_git_object: 15f4e205f8589bafcc4ee3b39a1592daa041c183 + last_write_checksum: sha1:99f5410a3a7e8b59d82cba8793f114322695fecd + pristine_git_object: 96dd3d22f58a52bd692d1b1d8268d9a04c14447a docs/models/createoutputsystembypackoutputcribltcp.md: id: ac12bfc37647 - last_write_checksum: sha1:150d52b8e054dfd9743316ef30487b11a8d920a0 - pristine_git_object: 5aebc0ed3437eefc325c5554695f63138bcbfed3 + last_write_checksum: sha1:d623a05ed6ece70de9ce6e68b147bec2078bc7e6 + pristine_git_object: 34eb6b682887b95fa74088f163d47de89fe173ad docs/models/createoutputsystembypackoutputcrowdstrikenextgensiem.md: id: 1016ac142312 - last_write_checksum: sha1:60871e27be0c0fa38d030a3e04356f4a851deebe - pristine_git_object: c078d013825fbc73e2069efe9e0023d459cb76ac + last_write_checksum: sha1:4ed1d0ac1ec12c852509410dccb056c79868edfa + pristine_git_object: 54b330f54a693a66cb092734c33f01fc52e404e7 docs/models/createoutputsystembypackoutputcustomermetricsstorage.md: id: e146a46ac2eb - last_write_checksum: sha1:3120919904a9bdbee2017810a8b87ee56949b4ed - pristine_git_object: 786bec3cfd89d16eb1ee673c3fcc578b4bf02b08 + last_write_checksum: sha1:42e6aecdb83238888267bfa9fab41bf1bb245269 + pristine_git_object: 7353cdb76e847cf8fca48d5833a4ddc251ba94e8 docs/models/createoutputsystembypackoutputdatabricks.md: id: de4ddec59dc1 - last_write_checksum: sha1:cf9b6efdbe31bf0f6b9e6114e37b4660595f72dd - pristine_git_object: 1b8535958a8acde02904f940e920e52c013023df + last_write_checksum: sha1:d2262b44d51d4dd008ca1001aa6a004c0096fd70 + pristine_git_object: db101aa264365653f835ec2f53706e357ae7bdae docs/models/createoutputsystembypackoutputdatadog.md: id: 7a68fa2562c7 - last_write_checksum: sha1:3362337c9e31d1914361a115352cf46c4b04fc6b - pristine_git_object: d2a8c78f43d8da180237a7ecfaafaeb40a108739 + last_write_checksum: sha1:4914aead02649b938076e1d279c707418e885b28 + pristine_git_object: ba28900908ce7860976215ca0d193fbdfe2105dd docs/models/createoutputsystembypackoutputdataset.md: id: e8a126f9a977 - last_write_checksum: sha1:a73ec3722f3547126ac45d25016c4aeea0200c83 - pristine_git_object: 5c1b0d93b2765cc7ad4e50ff28b22dd66a889e81 + last_write_checksum: sha1:d63d74f4f3185ad152a365851734cfdb07668abc + pristine_git_object: 973536a83b114702f613752b6498cd781a395ceb docs/models/createoutputsystembypackoutputdefault.md: id: 96a0bbe6bb34 last_write_checksum: sha1:834915e99931a8e2ccc59237aff842c3fb08919d pristine_git_object: 105dc233b4a4d49698a05c958eeaa6cab338d0ca docs/models/createoutputsystembypackoutputdells3.md: id: 5c75204f4c6e - last_write_checksum: sha1:e684ccccf12d43d875d35eddeae8e05934babd00 - pristine_git_object: a6ef9d605bf60b3238c0ee426e621ea64e88fcf7 + last_write_checksum: sha1:ef86b28c98dfa39b0dcad9b75367269ee13875fb + pristine_git_object: dd0b7810b3c02bd8096cdd4773ab27c46991bcce docs/models/createoutputsystembypackoutputdevnull.md: id: 586139ed91a4 last_write_checksum: sha1:8ca49c47751a77ce0b53e0241e1c8e471266c5f5 pristine_git_object: 111c3ca144f6041e045e8bc27213f096879ada2f docs/models/createoutputsystembypackoutputdiskspool.md: id: ed3b7a213437 - last_write_checksum: sha1:95833af5c31c390694a1c27ff12c8c26f2e82fe8 - pristine_git_object: b08ef386b54652b7d0f466347d9bf74df5829f1c + last_write_checksum: sha1:d37e9cb956c983a95bf17968c4dc591e0cbe333d + pristine_git_object: 88790d8121616b5ceb18a17a362ee54f2b4da4d8 docs/models/createoutputsystembypackoutputdls3.md: id: 19b0fa05ad5f - last_write_checksum: sha1:e1962241897d8a45f5ef4797e4bc3a15d12a62d2 - pristine_git_object: 6c82bcaf38592cc513f546cb91b46b905ae5a8aa + last_write_checksum: sha1:043ab2f1bdb1a39ba57d5ab257e6721ef82f3b8a + pristine_git_object: 28d00ba1f16eccebdc25a175ebcdaae6347045b2 docs/models/createoutputsystembypackoutputdynatracehttp.md: id: c2f0997f04e0 - last_write_checksum: sha1:d81c7f32fd7ba8c14345ebf4df835742a4cd5a03 - pristine_git_object: cb5f40e1dc14579a9636ae66f24d5c13a24becd9 + last_write_checksum: sha1:0ae19714275d704daae44f530ca456fad1d2068a + pristine_git_object: bfcbcee1e94c80b5fb9fe7f99be108d1c8122a5b docs/models/createoutputsystembypackoutputdynatraceotlp.md: id: 7ecfbc8545ab - last_write_checksum: sha1:f31c30f8f4b02dbb6bd69a626888d6c885650cd2 - pristine_git_object: 5077afb6cbf093c2502977e65c075dc3adb86904 + last_write_checksum: sha1:f111fda23c57ce05983c92400fca36c6fad76402 + pristine_git_object: cb525da926b141066d1caef81dfaf7e6cee5a75f docs/models/createoutputsystembypackoutputelastic.md: id: 1d321b2e85a0 - last_write_checksum: sha1:3d6952c9996d378cfc0448d0e11a45788db363a7 - pristine_git_object: 4d5f97a5ac115260dd74c777ca45825903c6170d + last_write_checksum: sha1:05bd9f85a98f50f85899a604a3d11e1eb4a4e9f7 + pristine_git_object: 4511b3eb4f85cc45c81e36024b804bb4b35ee2cc docs/models/createoutputsystembypackoutputelasticcloud.md: id: cc0786134511 - last_write_checksum: sha1:2f2bb0b159d0a35ae644cca31590022436ae90cc - pristine_git_object: cc50614ad18dcf81d25066b8c24b14a1d447ba54 + last_write_checksum: sha1:2ebb7901c4c37a38af6f44eaa61ac2beee061ce1 + pristine_git_object: 29806ce537866975be73a73a6d6b26d52da71e59 docs/models/createoutputsystembypackoutputexabeam.md: id: 616f76116ce9 - last_write_checksum: sha1:02c18c6c2b4df910c5b691346c72ca0f74109289 - pristine_git_object: 2021e6bdfb0fcba6e122043b1b4861d30440b699 + last_write_checksum: sha1:8893b205bb73253632c7ced5d8a0fa7070ba3d3c + pristine_git_object: e6270b4dfdf75360cecd38898064e7b6b6aad622 docs/models/createoutputsystembypackoutputfilesystem.md: id: ccbcb4bb51a2 - last_write_checksum: sha1:abb85875cbd3d236d487e48fc9b6348450238341 - pristine_git_object: 97a6dc8744397a578b8db1a1bb4a6a7d39e8e1a1 + last_write_checksum: sha1:889c2c2f7ae1395e55c10fb05a6f734b7224481d + pristine_git_object: d7b4ac4f05d20809fb9aa8647117ad85031ca7f2 docs/models/createoutputsystembypackoutputgooglechronicle.md: id: 3b1759fd2a95 - last_write_checksum: sha1:8c85ae6a07084555404b4509804497e13f0e7ab0 - pristine_git_object: 4116dbc872de39f8dedd57a8243ccb43d9845601 + last_write_checksum: sha1:c8be72762a9fdbd0ca05d5cafdc8f250c98ccd89 + pristine_git_object: 1a3e010899651ddcf6317cf8b0d93a7cd5fe2b4a docs/models/createoutputsystembypackoutputgooglecloudlogging.md: id: 4eb049a15bf0 - last_write_checksum: sha1:911daa31efa22eadc778bb669983bdd83afdd05a - pristine_git_object: 7c56eaa731c938bb29b2ffa39990ca37a9c10482 + last_write_checksum: sha1:3b674eaae88a1c7a522f6bdcd9c03cf0fd8b0f9d + pristine_git_object: 7a06604b273f0b9334885247ec175140d2b6f096 docs/models/createoutputsystembypackoutputgooglecloudobservability.md: id: f01929a7e336 - last_write_checksum: sha1:9a59822dbd6720e6097b084db03d2c73541118c8 - pristine_git_object: 9ad5f79a40b445c0fdfebe610674d3f34496b2b1 + last_write_checksum: sha1:cb7ac798947dc28f57031853d7c347d604c1b327 + pristine_git_object: a60e45f38cb249b8f9fef816ad7680eb6e92aac2 docs/models/createoutputsystembypackoutputgooglecloudstorage.md: id: 3ddc059b3754 - last_write_checksum: sha1:679cd9ce066e595fd45e909f8da84fa17627778b - pristine_git_object: 449045b4d4c1486105c78eda35cfb625578c6c91 + last_write_checksum: sha1:0108272a8aa5147efded113ef044586dbb6f9490 + pristine_git_object: b755ff626302d9142eac2e4f481f2686cdbf57e5 docs/models/createoutputsystembypackoutputgooglepubsub.md: id: 0bc0a2bdc467 - last_write_checksum: sha1:dfca1da4b23c101652785c342597f13650691ccc - pristine_git_object: b7b6658833d9ef90e6c536136e61776313cce270 + last_write_checksum: sha1:6c870ee98afa61144b47e642712a65c35f9fdc97 + pristine_git_object: 65a3a4558b5681e826cd17f3a15bf7c020c774ef docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud1.md: id: 87e775a42b71 - last_write_checksum: sha1:be51ea54a75186474d019b555b52b2c64a15f288 - pristine_git_object: fa172d4995929bab1b0f5d21327adcd87d05b079 + last_write_checksum: sha1:dc4a5b35e8fab91e90517cb936297446657d7e38 + pristine_git_object: 26e505d2c53daa84412b128d2c07939ae8aaef49 docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud2.md: id: a81dba301b04 - last_write_checksum: sha1:ab2135fbe18592ea43beb4b10dc4d20e3c2ccc54 - pristine_git_object: 5f69685c65877865bcf6c72908c9fe5b8396cc03 + last_write_checksum: sha1:23687b3de4695f8bd6c24b44d8a09ed39bd27cd7 + pristine_git_object: e6843d9d034aca0998efdd23107086544ff77098 docs/models/createoutputsystembypackoutputgrafanacloudpqcontrols1.md: id: 498fa9fbf0af last_write_checksum: sha1:5a713511b4f96ddd167ac2ddb9a3f53ad642ce63 @@ -4168,160 +4184,164 @@ trackedFiles: pristine_git_object: 03e5a737281079461b35783a0229c49133e94354 docs/models/createoutputsystembypackoutputgraphite.md: id: 68d5dba86f95 - last_write_checksum: sha1:2d4111d52a6216dc1ac848ff8a0faab7a2c2456b - pristine_git_object: 28110a0dd08bede2bfb17062c79442beb8873384 + last_write_checksum: sha1:76b16fa5c8c7cf8461cdd9158bda5369876ffc9d + pristine_git_object: 86c7a83a2ca23b19a628a8deeaac5b97f7a385bc docs/models/createoutputsystembypackoutputhoneycomb.md: id: af32d650446b - last_write_checksum: sha1:2c281c49418747f198a90b92a4c3b04e567d3fd7 - pristine_git_object: 4b54b05d1168b1a7397b850edf30e032e4930f5f + last_write_checksum: sha1:a5a75c68db35842d6b1aeba06ca93675151456a0 + pristine_git_object: a6cbb084e2ee5fcf55af13275383422def83148c docs/models/createoutputsystembypackoutputhumiohec.md: id: f6c19204a8c7 - last_write_checksum: sha1:fb52b14124c851c5373f4cc6ec14a37fca6187f1 - pristine_git_object: 00b1a7ba9a4652736d48866b0d590d36ad6eac9f + last_write_checksum: sha1:191090043b8963956dd2678f9afb566310349512 + pristine_git_object: 0ff3e74046b14b00350fa3fa1ef1774996fa9822 + docs/models/createoutputsystembypackoutputibmclouds3.md: + id: 134d682e4034 + last_write_checksum: sha1:f2f63c0a9a63015c2f6ccf20b44693740a0483f4 + pristine_git_object: 53fb33352cff42a7c476f7cf30d6407f16757c36 docs/models/createoutputsystembypackoutputinfluxdb.md: id: 24f0569a1c79 - last_write_checksum: sha1:43e0425c0b9076599b362a4abc88002d2caad122 - pristine_git_object: a261e2b2fc1ebe8dbf0e2a6599a979f7589ced26 + last_write_checksum: sha1:3870b137b6ce6e5bc3266c63e79371a583e8f6f1 + pristine_git_object: b6362b842676fb49728ea70aeb445d65c9a9cd56 docs/models/createoutputsystembypackoutputkafka.md: id: 1d37c5529efe - last_write_checksum: sha1:1b14294510d6605f3807a017a091e8c0d56cb355 - pristine_git_object: 366ed0fcb37cd052d88930a4ff6dfc76e9567073 + last_write_checksum: sha1:2e3cdbe50a6ee9ed0a6f08d0c297f7b98eca4903 + pristine_git_object: f829e111c7725bdc917d11ece94634f74f692570 docs/models/createoutputsystembypackoutputkinesis.md: id: 99b90d324a17 - last_write_checksum: sha1:381db56f009bd9b724b19e9b524a2a0bee77d05a - pristine_git_object: ccfa27883381cdd1cbb0408cc15d3ba93f1ff874 + last_write_checksum: sha1:4faf6e84c385a61db524db8c8922f352d5d8f10d + pristine_git_object: 0b5a7ec8b36cbd1125cd57949066ac1dc32f682b docs/models/createoutputsystembypackoutputlocalsearchstorage.md: id: c40998fece59 - last_write_checksum: sha1:fabf03bebf58242d457cf012409edd5d40279bbb - pristine_git_object: de8c51ac3f91a5007e454bf517e1910dbfe1a03d + last_write_checksum: sha1:4f2ac2816b5323d4ad834419b10b8a05b4a42a90 + pristine_git_object: 5b0c0f54c142bcc315885772517cca26c1e2e41d docs/models/createoutputsystembypackoutputloki.md: id: cdaac23f4b4e - last_write_checksum: sha1:8ac32aef0f8e101daa76b72e8c12369bf256f068 - pristine_git_object: 2637270c956a3ef06f9a662c3db9e75c2d28e338 + last_write_checksum: sha1:9288c6e876fd38d8edd9b292a83f38a6d606d3d4 + pristine_git_object: fed476ed485a66c5719049991c373ad0b5ea6aaf docs/models/createoutputsystembypackoutputmicrosoftfabric.md: id: 931e783f38f3 - last_write_checksum: sha1:7a2b98a495caeca59125f7b973f3c6196e9feb16 - pristine_git_object: 7d160fd7f71d65cde75fd4e7421e99d5999971a9 + last_write_checksum: sha1:c050b6f0f31b34152ec96d86053cd49f5b0cadf5 + pristine_git_object: ebecf3731c62d75d10c2cb4074ce5051a8f13890 docs/models/createoutputsystembypackoutputminio.md: id: 5afc54eb92ea - last_write_checksum: sha1:a658c17fd7a139a4af1fcacbc0180f2458904c9d - pristine_git_object: 538063589c55b7d71dcb9c3ed0e0d817586b4e48 + last_write_checksum: sha1:d344e4ef3dac3c91af2896c67ed9247a6e6f8b53 + pristine_git_object: 394eafa8d034e7fc72e91766e034db21358c9fe9 docs/models/createoutputsystembypackoutputmsk.md: id: cb925273400f - last_write_checksum: sha1:ffa92ad99ff4695cf32e11ee080bf7045e2899c8 - pristine_git_object: 8730b328188fdd0ad0eab92a4d323f1afa0b3190 + last_write_checksum: sha1:4ada2d0f1d61407cd598b4dd0ce6acd2fe9faf1f + pristine_git_object: df1a89dfb76e83dce3c237fbf008363c6ac515af docs/models/createoutputsystembypackoutputnetflow.md: id: 89974408571f - last_write_checksum: sha1:8d1ce1b25e7592e2cebbb887e612277609d1683a - pristine_git_object: 2db45fccda6fdf031f2f5292d8001d0896684fe2 + last_write_checksum: sha1:f7a0266320aaba83b44e8549c1d3bb90d6850308 + pristine_git_object: 95fc0f3eb2dd6a4e310b40c6daeda8319c379470 docs/models/createoutputsystembypackoutputnewrelic.md: id: 12e14dd6204e - last_write_checksum: sha1:6a7a0d9b0eaa92a98ec7ef89355457305b9332c0 - pristine_git_object: 721bb6b19bf8e4249ab8029867a48cc6356f54dc + last_write_checksum: sha1:baad1b657dd537e98fb5a639886b20bb2915ec8b + pristine_git_object: 2ee15b384fcfe4e5034607b56a8f08c25d82c429 docs/models/createoutputsystembypackoutputnewrelicevents.md: id: 5d1a3c690da6 - last_write_checksum: sha1:1d7f9db64095df4a3172a84b98e39e885a25f3c5 - pristine_git_object: 6bd56b6e0dbf3777c15ddf73ad4cdcb4243c4882 + last_write_checksum: sha1:184b4a562085b2b484a88e2754c9bb453bfba57d + pristine_git_object: 796f62fab8d599b37857a630326005cbe543c226 docs/models/createoutputsystembypackoutputnutanixobjects.md: id: 6f41a9eb0bff - last_write_checksum: sha1:096ddb11379ff41f894c54134eb2c7e6114def79 - pristine_git_object: dc794e3bfd3886044f492efaf360a57862de8197 + last_write_checksum: sha1:d2b0615fb451808d7c383a197f4b6abf453b53e9 + pristine_git_object: 602d5861dd958aa85f10915b40c7101f656a02f1 docs/models/createoutputsystembypackoutputopentelemetry.md: id: 25144e5e512c - last_write_checksum: sha1:af0fdc7febd0df3d9771fbcc1bf0a4b42e959d8f - pristine_git_object: c3a24ca543fe2586563daa3bc8cd13300b309742 + last_write_checksum: sha1:da1693a5a7100bdc01ef956adbd7cc80149ad0cb + pristine_git_object: e8b50985bec6fd5c47084d71042791038cffef35 docs/models/createoutputsystembypackoutputprometheus.md: id: 5d117a169e15 - last_write_checksum: sha1:e8cbe40f76a6e9b82c6c6438916b22aeb495c661 - pristine_git_object: 0dd20991365e4d8bbb15ef408625c65d1571b01e + last_write_checksum: sha1:af02ceb0de22ae0b19cb459fdb02bfca56006995 + pristine_git_object: 5b44798c61a809d05bcc4aaab4e0a3545b65b46b docs/models/createoutputsystembypackoutputring.md: id: 491548a6b737 - last_write_checksum: sha1:bcf1007f6fe41e5225cf582746de7016a052a30c - pristine_git_object: 9c0bb61cee616342643186bc83fd9f91fc32d79a + last_write_checksum: sha1:eae52ed6b248b08e95cab3b5d2fb572f576992de + pristine_git_object: 6789429c6c7343bbbf3bd71f74276f4605fae89b docs/models/createoutputsystembypackoutputrouter.md: id: 25c54e6fbe76 - last_write_checksum: sha1:e5821f6d1c00370668f6f5db68245308284b6f5e - pristine_git_object: 1e8dbd61ffbb524cc13793f50064c2b6a5e4e3ad + last_write_checksum: sha1:77a198cb2225e12ca9b0ccc1aea7921e27779709 + pristine_git_object: cd30bfec3ebd0a4917b93507251377a43b672796 docs/models/createoutputsystembypackoutputs3.md: id: 446d5d142612 - last_write_checksum: sha1:2ed1fbc836ea45a3a2aa59c5dfe74870e0ac5d98 - pristine_git_object: 192c65d162038677ccf3e7de64d1d35832906d55 + last_write_checksum: sha1:19acd8f28728177d4031d512caac6bee6f4c48ec + pristine_git_object: d02b8d25d2cb2da3622c0168686bc5e27bc80c15 docs/models/createoutputsystembypackoutputscalitys3.md: id: f92843fb03b9 - last_write_checksum: sha1:83b7e42fcfec033ba2145b08babce99295db3e18 - pristine_git_object: da36a60f9e0683bdc857866b2e7ebcda1d824921 + last_write_checksum: sha1:eff351c80012fde2df0a768bc79438f53d954df1 + pristine_git_object: 5306ea99fff97ed763611d6e6b9c7a6fbc0e6926 docs/models/createoutputsystembypackoutputsecuritylake.md: id: 06c346ea98bb - last_write_checksum: sha1:33bcdda699d698af624328e02503a6c6595fa3a9 - pristine_git_object: 743b8e1c1632a5249f961bdf1edb24a4c15e6910 + last_write_checksum: sha1:eae2ab05e5dec04d9b1eb2c1bda5a2afe519a088 + pristine_git_object: fa6142d43f3ec8c7f447df07c5f08953bbaa8f59 docs/models/createoutputsystembypackoutputsentinel.md: id: a08f85f2e3c4 - last_write_checksum: sha1:736ef693c6f686e8fbb746281fab729699efaa8d - pristine_git_object: b469c84e5f0d5fe8e400eea99df5f912393a76ac + last_write_checksum: sha1:99e783b080b2a9174832e60b17cf0eba7023b041 + pristine_git_object: 6e81bc355923879553804ed1dcac2da79b28eafa docs/models/createoutputsystembypackoutputsentineloneaisiem.md: id: 4c9596e87797 - last_write_checksum: sha1:92ffce2c64251a7499c6d19d8f566a9809d93e92 - pristine_git_object: 974c1a286bc65842f05386f81369002749e2a1df + last_write_checksum: sha1:5b1df099daa971b59e3781e75ac26be40a35fbed + pristine_git_object: 11e9b1138d98d81a76140ac24f07275932e94a8b docs/models/createoutputsystembypackoutputservicenow.md: id: f961d7314e00 - last_write_checksum: sha1:7babfc9dbda90d024cdb7ac570a3b3f6fd381d55 - pristine_git_object: 0df3a136366e7aa416cf44a1c754195c7bc121f0 + last_write_checksum: sha1:9108e3abb9facb0cdc1e16c84d2da75cfd463544 + pristine_git_object: a1aa0325bc4f4b3b84449dae8defcdcc3d3c7a85 docs/models/createoutputsystembypackoutputsignalfx.md: id: 3b7b626521e5 - last_write_checksum: sha1:c17f3859985a173c992307e86a2cc0f2fd5e32c2 - pristine_git_object: 30aebec239158fbd59d8b7a4c014b3a9246e5b59 + last_write_checksum: sha1:35e39fe2fce367ec64a4231440de7035ab1e1a78 + pristine_git_object: 6d725f2c0024c19b1d0c714932d15b392c895b39 docs/models/createoutputsystembypackoutputsnmp.md: id: b4d8d057bd06 - last_write_checksum: sha1:632205d4e0a4dbf8b40c3f8ed5a9653ef60b2730 - pristine_git_object: 7cb43630a57fbdc392a03be9734b02f8a74061e4 + last_write_checksum: sha1:8f58d9c7b85593016b1de9cc773f9189e4d5680a + pristine_git_object: 4cfa348100490d9f0eec693a00bfdd29f9f4e334 docs/models/createoutputsystembypackoutputsns.md: id: 3369d5aa6262 - last_write_checksum: sha1:d628e35352ff0f090ec802b7bb04843cd48aa353 - pristine_git_object: 5d6d4bb738b2f5dc25789f1ae28b0984fa532e34 + last_write_checksum: sha1:963ae395663d34e5316b7673ecc8c5a64a166aa6 + pristine_git_object: 1ba6153ad7d0ffdd2d86bccf3d6a70050888faa5 docs/models/createoutputsystembypackoutputsplunk.md: id: d54b83e64b60 - last_write_checksum: sha1:49b1ca9d30069f19b41a7269a8d72560dd862970 - pristine_git_object: bb263be6618d4041f5f5976f5b6205a316ec9da9 + last_write_checksum: sha1:b6aa236c5646fee6d9d67be4d55715c02ef4973f + pristine_git_object: f865737966d6937f575adcba50f40792f4e3cd23 docs/models/createoutputsystembypackoutputsplunkhec.md: id: a0cb2a7b8f84 - last_write_checksum: sha1:15e58c28e378f324bc7c521e41cc780661d76759 - pristine_git_object: a8ee0853ff6f35fb13c2e0d34737986073a08e9b + last_write_checksum: sha1:be3451b983aae46ef406111f3639d58fce0cfcd5 + pristine_git_object: 0dd7d10367c482cf4dfc46d3f06f100a9ee6d28a docs/models/createoutputsystembypackoutputsplunklb.md: id: 77173ec266d5 - last_write_checksum: sha1:4e3884a1cd564c2a6f280a2d4fb4f7bd125f6236 - pristine_git_object: 1ad5904b23335ffca093d47d4972dbeae8291c37 + last_write_checksum: sha1:7b4090ce221207ca2ace036df4a4490e61693c27 + pristine_git_object: 890d7308d3624c1561f5780846ebe0f96c831586 docs/models/createoutputsystembypackoutputsqs.md: id: 8eb2d29a4012 - last_write_checksum: sha1:fbac6f3d24da04787e18e02b436b1859532cd288 - pristine_git_object: a8e9401c6999f272586af4ea0c2170a49d38ffda + last_write_checksum: sha1:7aba9dfb00f0ec983ee6a7d100e904667c0d30d6 + pristine_git_object: 327c21bcc52c1acf28ea0c710eb7638b7049716f docs/models/createoutputsystembypackoutputstatsd.md: id: d7d545eebb49 - last_write_checksum: sha1:3b54253f645441857cf3d8eb416c66a13d44b03e - pristine_git_object: 4301718614137f602a088a4c9030bd987747c9fe + last_write_checksum: sha1:73e1295bcfd42a0a54e552ca8dcba1e619de6fa9 + pristine_git_object: b280479a75424f15f84a9bb4b05c25d26693f1d8 docs/models/createoutputsystembypackoutputstatsdext.md: id: 0114d7da49f3 - last_write_checksum: sha1:54ded879437ee0fb9bdef0f9251b809aec73e910 - pristine_git_object: e9b21132a7fb60a932a0e6094e52b27942fe2ed2 + last_write_checksum: sha1:5a3b9c3b5e361ef80efcc7ada6f2ba73fe48a96b + pristine_git_object: bbc615516a93c34c20e6c520d4faf2691efaa3c0 docs/models/createoutputsystembypackoutputstorjs3.md: id: cd3506a9316f - last_write_checksum: sha1:ab07f0f54c3e761373da2386db7a866a46356f52 - pristine_git_object: 4ed770875d310e93d16843ce87dd57a202e35825 + last_write_checksum: sha1:8995afda33c71b54d74345a1597751c3fe935221 + pristine_git_object: 48a2e14295c239233fb0d6ae6f7111218536cf67 docs/models/createoutputsystembypackoutputsumologic.md: id: 5a37a19516ac - last_write_checksum: sha1:1cf26887ff604ba3e37e9d070f9a77860c957489 - pristine_git_object: 0fe8c42257a0017920ba8e1aa3a4f5f565223794 + last_write_checksum: sha1:8896a32050d5fc937bd0422f12610c87d9565851 + pristine_git_object: b30bba9b869ec086841928833776247658a9e7bf docs/models/createoutputsystembypackoutputsyslog.md: id: 229b28effba9 - last_write_checksum: sha1:44d3350c25a761456513e35b74612e38621f68bf - pristine_git_object: 2f3ab66e2b4a049029d34b44e26cfe7a1391cef3 + last_write_checksum: sha1:5d3b3ee1df706f1b0cefd66e021533772c45c5ce + pristine_git_object: b823f1c0be387194cf0bd46d41362cce687b28da docs/models/createoutputsystembypackoutputtcpjson.md: id: e9ca32c2f1ca - last_write_checksum: sha1:203bc3b0d7d87be0dbed8142b9dcb9b93213fdcd - pristine_git_object: 2f27fb79c4c1328dae62f7a2394ba4ef97d1eecd + last_write_checksum: sha1:50e5eb862e8fdf3939c3b95e47284df69720eaa8 + pristine_git_object: 5e37b768cd6e020bf9c49805b7f37688febe953b docs/models/createoutputsystembypackoutputwavefront.md: id: f9540f7165de - last_write_checksum: sha1:2b98d83428fd8e7946859f8e6d1fb46cbc52b4de - pristine_git_object: 51bdc2e56a4324f9ec2438bd50ae267ce23167cc + last_write_checksum: sha1:c1b596dc7ed94d52659e3cfe9649c84ca5f54c88 + pristine_git_object: 4678941f01aeae627df9e319cc4c631eea6a60c8 docs/models/createoutputsystembypackoutputwebhookauthenticationtype1.md: id: 7d7b35a99c9b last_write_checksum: sha1:8846e8fca8d7326c463ffb34e326dbdb35092e59 @@ -4368,20 +4388,20 @@ trackedFiles: pristine_git_object: c9247de75232a11484798aac674507ad47661762 docs/models/createoutputsystembypackoutputwebhookwebhook1.md: id: 86752cf7a24a - last_write_checksum: sha1:55a01ac3eb267a38c5e4902b6d7cc074b2291e0c - pristine_git_object: 3b4878caa1f0bb2d0b8c073ad11d88a5cda5a37d + last_write_checksum: sha1:5b22bafc8193448736ffde84c5cf077efc557e2f + pristine_git_object: a78ca4a5592ac208262f11cb60f5a805e7d0c728 docs/models/createoutputsystembypackoutputwebhookwebhook2.md: id: 276f496a4b1f - last_write_checksum: sha1:d25961d9354989834c6197f1e15494e7ec039fca - pristine_git_object: 44e6558de708fffffc6e90c3e2d6c663b74faae0 + last_write_checksum: sha1:f9dc09b2cfea35fe3afc33c1e2d7ce8f5dd898e7 + pristine_git_object: b7663f99a83005d1d88cdd794995ca733409706b docs/models/createoutputsystembypackoutputwizhec.md: id: ba84fe43fb9c - last_write_checksum: sha1:e794d23624904d8407ad723ea49e0efd5ec1bd68 - pristine_git_object: 5022c4a4507be777a8d787cb830befe05722c1cb + last_write_checksum: sha1:20defeafe3f56b142d3df71ae0825744d27c472c + pristine_git_object: cd1a1ca928beb025b8ff477f4c892390a162f374 docs/models/createoutputsystembypackoutputxsiam.md: id: 5b42408300c9 - last_write_checksum: sha1:c51c8de5af8f4498d4bb9d71b0bb6ad4ab52c146 - pristine_git_object: 83f18abc1598c9f8c01effffe709aa9987419883 + last_write_checksum: sha1:77a32a0c36caa7c60c70a10e46d9d0ed533de1d6 + pristine_git_object: 82bc23b895a7f0151babaa9decd41684b89a95dc docs/models/createoutputsystembypackpayloadformat.md: id: 4ac5a100eca8 last_write_checksum: sha1:a510053bd0ae018c28076eb8a58a124c01ce2098 @@ -4636,8 +4656,8 @@ trackedFiles: pristine_git_object: c67c8c203d286b144fd7dd776572f3fa590a0a72 docs/models/createoutputsystembypackrequestbody.md: id: 6f00d97e8463 - last_write_checksum: sha1:1ff818aff2a503c6f681156316ec731a2ee696b4 - pristine_git_object: 36fc4a641eb9188839a63056af89a1074bba78b0 + last_write_checksum: sha1:aeddbdfd62d0c557f2da4be252445c7105dc4fac + pristine_git_object: 6c9e62134f8a95ee0a4294729107fbf720449b02 docs/models/createoutputsystembypackrule.md: id: 65f7652d3951 last_write_checksum: sha1:86c90276b68a058ec5bdf5daab770b6dc42d2157 @@ -4838,6 +4858,10 @@ trackedFiles: id: 76962c9ae0c6 last_write_checksum: sha1:f935a22b03beefdae02268c36e9fe4bd1d41e8a1 pristine_git_object: b0eab05505b12a206a2726a6d3b3c0348eec089e + docs/models/createoutputsystembypacktypeibmclouds3.md: + id: d20496b84436 + last_write_checksum: sha1:f22098019c6869cd77a84d6bd2358225ae0420ad + pristine_git_object: 21db865a6c9e5201affa1e9ee99aff3b892b1a53 docs/models/createoutputsystembypacktypeinfluxdb.md: id: 0311550ebf45 last_write_checksum: sha1:9d74fa9f7818754f72ced3959507be890514a029 @@ -5190,6 +5214,10 @@ trackedFiles: id: a3275a899e64 last_write_checksum: sha1:d1580c53f899ea885f36f15a95faeee5835ec8ac pristine_git_object: 71264e721270e3d29a87619b0aad806b6343e6f0 + docs/models/createoutputtypeibmclouds3.md: + id: ea1647ad7f95 + last_write_checksum: sha1:38cffb76961c14dd0db4c1fea878035109c1a1fc + pristine_git_object: 3ac1d900af6edca8ae1436f69bb8aa934696ef0a docs/models/createoutputtypeinfluxdb.md: id: fd79f13de605 last_write_checksum: sha1:c4a55d66c68498212084ac141baea8d94efd8cb0 @@ -5492,8 +5520,8 @@ trackedFiles: pristine_git_object: eb31a2675452e0a75534973adf5bba3967fe6ba5 docs/models/deletepacksbyidrequest.md: id: 8c37738b257e - last_write_checksum: sha1:409162d40a7272b5c991b6f44a5b8298ab31032a - pristine_git_object: 31297912478b74e5cad0739d907a67504d76bc9b + last_write_checksum: sha1:cfef04c9db8c3e40591ca6cefb412ebbfe4c0b6f + pristine_git_object: 6b2785c0784ff897351fd64a4b65f1a805c0302b docs/models/deletepipelinesbyidrequest.md: id: bef507cbd5b6 last_write_checksum: sha1:fb9b0c47d1337d884830f9d09a9b69a97418e8e4 @@ -5524,8 +5552,8 @@ trackedFiles: pristine_git_object: e33073f4b3d6d9598c6f776dea19496d252a566a docs/models/destinationtype.md: id: 27183f23a494 - last_write_checksum: sha1:889e2e6d4987c3d63a29821026a0b7d172039480 - pristine_git_object: d50f4b1401c39fe9afc1c1a3a2d420125b56b5db + last_write_checksum: sha1:bf15b5cb945a704b04c8af76b025439569cbea8f + pristine_git_object: a464f3ee4e20f2e0002fc986994e3c0e600bbc93 docs/models/difffiles.md: id: 9247d1e22176 last_write_checksum: sha1:fe1c0859d52f7ec00783c48f0c1c26cfe2f8bd3e @@ -5608,8 +5636,8 @@ trackedFiles: pristine_git_object: c46d447aa7533550eeaa3a09b219c13f9f27f256 docs/models/emptyobject.md: id: b489fae50ac8 - last_write_checksum: sha1:1f404957497e5f6018d6f9a466060805fd5fef82 - pristine_git_object: 1398f8a0de6a5f6947cb8102d8d2b7138177bc95 + last_write_checksum: sha1:7e8c215681a7444d0917526428bd2df67caa708b + pristine_git_object: b9be97c16fa33dc42523f964280f61a7a2a9bf9a docs/models/envvar.md: id: f667e01ed1d7 last_write_checksum: sha1:89843cdc65ed4067fa5e1b6f092d8209e11e47b1 @@ -5752,68 +5780,68 @@ trackedFiles: pristine_git_object: f444e77329de071b4fcfe8d3dfced2a2ccfa1ad0 docs/models/functionaggregatemetrics.md: id: a1f206ef4f96 - last_write_checksum: sha1:49de30c5bc7d9e8b5142bb5ac1740cbf65c6421c - pristine_git_object: c7704f7470747989e30a7c1248d07d63ec213593 + last_write_checksum: sha1:9eab48ce92a68981b93bd54e4d29f852959427af + pristine_git_object: 03d6971554ebd288fbc9b2b6646cf063bb59a17d docs/models/functionaggregatemetricsid.md: id: b496f0f6ec20 - last_write_checksum: sha1:75da62dc008ae995b8c00f2c6e63d03561b8468b - pristine_git_object: 6cd45483faf5c644711641ea8cc2b084f9d27d82 + last_write_checksum: sha1:f2799c47cfb45a7faeb9099f92aabc060da9dea2 + pristine_git_object: d51bca9de60f2e7b454c00811521fd938439fa97 docs/models/functionaggregation.md: id: 6d0b9da29dbe - last_write_checksum: sha1:74720bca448394f98ba4b14c8a70ab2d359b48e2 - pristine_git_object: 744f98820af768e6bb8c0a5b807a4eaffc4c604a + last_write_checksum: sha1:307c9fb6920d604bbc37f3c9dda21190401826cd + pristine_git_object: 9b6c07775ecc5ec71729daba7edab36438425f09 docs/models/functionaggregationid.md: id: 3479ae6960a1 - last_write_checksum: sha1:9d2c477d6eac22d54c343c36c2ee9dd5706a1526 - pristine_git_object: ac65e0a7325079903f61fb1a1beb46a737a54ce3 + last_write_checksum: sha1:98caa441b9a1efe0d3459d473d3f410790814cdc + pristine_git_object: 1a2d752162a773a70c31234d9ad6605f1e1c9838 docs/models/functionautotimestamp.md: id: 8ad30cb0497a - last_write_checksum: sha1:cf3d96df54e9abea1dc3dedaeb15fff8195f297f - pristine_git_object: ce3aa666ac8d5698a1b84345713e8217a047b4c5 + last_write_checksum: sha1:78d45a1c77be4cc627f76437070dac6ae576d873 + pristine_git_object: 1113bff6720a0d01f3766fd4e64eba8b38cd2201 docs/models/functionautotimestampid.md: id: 12804997b97f - last_write_checksum: sha1:1bd4b50b826bd9fef195c5b25c31be54b08537dc - pristine_git_object: dfc6c5f1897eed88011edfac7e03e19784ba44e0 + last_write_checksum: sha1:db09cf2fb2384ef9e4a5571136725010ab60e521 + pristine_git_object: e02419f4a9bb2f0a0e435d43a65b44f13b8e5f48 docs/models/functioncef.md: id: a42775ddcc61 - last_write_checksum: sha1:b6d5b779c6dd78e589fc691664b87ff5934faf95 - pristine_git_object: d52ec77d9f508af5d4072ddb44c8486c81b4161a + last_write_checksum: sha1:fc6421bc33f2b41ace0caf6e1145989f6f2e71b6 + pristine_git_object: 739f3ca3d391f876996f5f91f44efcd4ba3b7316 docs/models/functioncefid.md: id: f8253d32dee4 - last_write_checksum: sha1:5f3b7268afc491b6463a09780906883e2e45c44d - pristine_git_object: 5b346baf8a8609b235f886aca4fd629e97efc82b + last_write_checksum: sha1:6114ee2e0d6d701c4d14722389402485fb307acf + pristine_git_object: 25b4fb2fd78203461218650e01e594f2bc944fde docs/models/functionchain.md: id: fec0b5698ee7 - last_write_checksum: sha1:6aa78b8e7088a8c3b2bcdeee19095bd012128862 - pristine_git_object: ca60c1c5d821292c6692ad42ad772a4df7e8a0c7 + last_write_checksum: sha1:7cc7c5619249e727ca793cfbd614d533045aa9de + pristine_git_object: 37f0845a579572db7bfaf033bf044fe2ad603e7c docs/models/functionchainid.md: id: 619a21380511 - last_write_checksum: sha1:d419327c197ff4d8832f2e5614df7b8c33469dfe - pristine_git_object: f907d46212a7b29d301d4e93bd6c0b5a764b8811 + last_write_checksum: sha1:1f02f9ed12a65231b4853aa610fb3c96beef4353 + pristine_git_object: b705db8a8e929e53380ddc4dadb605b5561ba8e3 docs/models/functionclone.md: id: e81225b7b504 - last_write_checksum: sha1:338a3c546fe52ebfdcfd72fe3cd6eaf84ac1ee58 - pristine_git_object: 84220d5ff982b7eca0370c113fbfb12af0c07a3b + last_write_checksum: sha1:6d8160d5e8da94bf3f16b88fe591067fced6c0fd + pristine_git_object: 71431628213cab51827669d8271b3d1bd3984c68 docs/models/functioncloneid.md: id: d26cc0d69849 - last_write_checksum: sha1:32930bca28ac7e9614cc6cccc4af63a24064c847 - pristine_git_object: 9c0575a18432a5402e42c37eacbc9a33b565b60d + last_write_checksum: sha1:7f155122946a3cf29f171a4343b1b5f2dc8bd112 + pristine_git_object: 4cd3d4d06a317b782c6427242268804c656eac1b docs/models/functioncode.md: id: 0453329821ac - last_write_checksum: sha1:cbcee4585f93013fb3e9b4e20e58f32e51a54394 - pristine_git_object: 7c3e6ca84d8408ba9c52f5b209f1ebcaf7c757ab + last_write_checksum: sha1:2676f2f0ca2be4f71a65e71820ce6cc92208450a + pristine_git_object: 5618df23652df7df97d9da81eff5013dbd6916a9 docs/models/functioncodeid.md: id: e68578dee14f - last_write_checksum: sha1:2aa14238a80852840e2725cf44b66e6d2b2dfe3f - pristine_git_object: 4be23607e4bfcc761c9f2ce4ff986a64bc6ef735 + last_write_checksum: sha1:c06fba4afcf517a68a3a38b6f40cec2e8e08823f + pristine_git_object: b18887bdbd974d6d28122c744bfbcfd06ca845e2 docs/models/functioncomment.md: id: fa60963cffa4 - last_write_checksum: sha1:dcc8d125b0a5061d4962d391d6f9c12ab88ae62a - pristine_git_object: e6b9d736e6fb6a10c65947c75e01c6a2dea37e77 + last_write_checksum: sha1:5e39c8c1f554fe0350aa3724b932675b726eceb1 + pristine_git_object: e6f1946a294e2de1d0c423e591eec0bbfe04a920 docs/models/functioncommentid.md: id: db171cf23d69 - last_write_checksum: sha1:85313e212ddf725a3a5e29c532753ef4acf934c3 - pristine_git_object: 82184971d163c85482ac6f75479fcf5fc67fa2bc + last_write_checksum: sha1:e70662016579cc4010566383fc60b4423fcca350 + pristine_git_object: 41dd065e69657e760fd9b34c72182e1a559c5689 docs/models/functionconfschemaautotimestamp.md: id: 721c2afc629c last_write_checksum: sha1:4d1878261315c659a0a3490c84a3252d4be72e49 @@ -5968,496 +5996,496 @@ trackedFiles: pristine_git_object: 391ca7f6e92ef005fe6da5e4539f900cf333d51b docs/models/functiondistinct.md: id: 86e91f547c49 - last_write_checksum: sha1:b1b70d161c627d9c261d7c735181762e58779a7d - pristine_git_object: 5e99792847dc5e4ba6e3be0008dfe2e8e7625464 + last_write_checksum: sha1:ca1cf852e7ddac29475e21eb3afae5f732917947 + pristine_git_object: cd761f09ce8deb196cde9e91fb79206f69aea027 docs/models/functiondistinctid.md: id: b672b14bf490 - last_write_checksum: sha1:057fed95e6ef976dfaaae03ae9765da0759b1b06 - pristine_git_object: 0fb25523f43e01bb5ac77aac63d93684651f2b15 + last_write_checksum: sha1:f0882954a7dc82193d5ec9302afe28ce8b4ddb40 + pristine_git_object: 90d497a777adf9ab9f0df67147919d3d55c8d7ac docs/models/functiondnslookup.md: id: 0d793ee65680 - last_write_checksum: sha1:fc205af75adf6e7a5c3425481a432b0e05f5fb46 - pristine_git_object: e6894efffa2b9343ecdd7b848d43ad9d0b1b53b0 + last_write_checksum: sha1:97f74d0181dc954fa0cb693c21e408d605f63a33 + pristine_git_object: a001e5dafcef806d4d29e6e53548254f608a6eeb docs/models/functiondnslookupid.md: id: d64877d8a93f - last_write_checksum: sha1:3639ac23b7e36b17c5f390b412fdce5305b42fd6 - pristine_git_object: 57e965b223fbf585b70ee9ac8f8344c80dcbf69a + last_write_checksum: sha1:2be0b83a1db7be60f771e0b5ef34f7158eefd6b1 + pristine_git_object: 2ebe4abc5af1c0f0b408df93ba8b95a3711e35ad docs/models/functiondrop.md: id: 695edf6ddddd - last_write_checksum: sha1:20e862f914d77687c98af5d6c8e40032f4a5f62b - pristine_git_object: 79c44e9c63bba772798030dfbc4e0a5b65def61e + last_write_checksum: sha1:d29afb1a1f9364db9f6b9b889716afa93e42b971 + pristine_git_object: cacc11ddc39fb08a0af22f2c6e308ff745813517 docs/models/functiondropdimensions.md: id: ebebc78af259 - last_write_checksum: sha1:41a47fb4e4be8c620a1901268c5bcfa8e14dd50e - pristine_git_object: 3f70a1c38da2890e0535a6843888d7b5fb6fdadc + last_write_checksum: sha1:36631ea6510a6ca8d75d7369467996254036633d + pristine_git_object: 0ddfa4ef0f56d15c5d905edc94930d40c605bde1 docs/models/functiondropdimensionsid.md: id: 769a4cf064de - last_write_checksum: sha1:91fec741d5747ef029ef73d50334d0babaa13641 - pristine_git_object: 8bb84f0c9748721b92534142b3a2482cf1d84b2f + last_write_checksum: sha1:daa2021d0bf78ca78e34e1660c3f227853284930 + pristine_git_object: f683812e3ac501efcd3cccc40e5d0e8c4193457c docs/models/functiondropid.md: id: e54f3a989b2a - last_write_checksum: sha1:2377ad29e2420cd9bac04ef2b36ad9c12bca8ae6 - pristine_git_object: e2d4845d7e001258769508699e6e43d93664d04c + last_write_checksum: sha1:41e3425273517927079d5689265f72467589dec2 + pristine_git_object: e57c508eb3a8d98acf58822bce9c00c239701f0a docs/models/functiondynamicsampling.md: id: 5c730a7526d8 - last_write_checksum: sha1:2e35b46de48d101bab17fba84f7c86eb9671eb87 - pristine_git_object: e02f3c99164d247bf87c0a6f091ce5a3dc98a41e + last_write_checksum: sha1:2bdecc45b2ee2ad45745aa751c051a4f68a043c3 + pristine_git_object: 9ec6e7c914997f6310e2488f0c5a4c2a3f7cac5e docs/models/functiondynamicsamplingid.md: id: 99c525ef9fd5 - last_write_checksum: sha1:112e2915f2e3ba71374fea960b0f9e83038e81d7 - pristine_git_object: 71f6b1f78e866caf07cdcdde93d346f42d3f9e04 + last_write_checksum: sha1:c50eba5f3c78bcc978c9c071366343627fb8c518 + pristine_git_object: 921d0e0e2b348d4482d3ea3a2029433e70896b70 docs/models/functioneval.md: id: 24a3a3923526 - last_write_checksum: sha1:c29480856033831399d990dca0aa91bacd2740a9 - pristine_git_object: 805ec352296afaa4cd8d8b3f337a3ddaa09e0bb9 + last_write_checksum: sha1:44d6addc1e1e2800a655040f4a8d5116d506458a + pristine_git_object: 17bd902786835e941a57ae06dc524292d26526ec docs/models/functionevalid.md: id: 9ad956713989 - last_write_checksum: sha1:c1b5467b07097cac4e7b425bdee1bfdb0a9fd597 - pristine_git_object: 9f12b54fa230a9b9c057e6aad7448faaf56e0b48 + last_write_checksum: sha1:c8b91e1f905c22224f76a94b8e4076338634222f + pristine_git_object: 62211897edd4bdcd2214ef91f036575de1281ffd docs/models/functioneventbreaker.md: id: c613f9e22e62 - last_write_checksum: sha1:cc05d49d3dc6706a11f05517463d2d6a970b602d - pristine_git_object: f8134537a90b8d94c3e30bf080c8bf12d6e4a528 + last_write_checksum: sha1:1717faaae1415cf5d51f60ea8b4e403a87f82a5f + pristine_git_object: b8044dd57a1f80eedd52641c7f9b8ad9ed4b3cf1 docs/models/functioneventbreakerid.md: id: 63770b2cd65d - last_write_checksum: sha1:cf5f362b9024afa91c0e8969ed6a5f3397888bef - pristine_git_object: bb6d2ef5b63ec16deef6d40a0276a6f6a38304cd + last_write_checksum: sha1:3af411eaf0a511cff552a8c45b010e6ec86ac50d + pristine_git_object: cdb5700db21ed1ca5de05b177aef3c289c80e9d0 docs/models/functioneventstats.md: id: 5f56ec06225f - last_write_checksum: sha1:1376dfd14898c4c1dde25cc802320c9ed2a102df - pristine_git_object: dd5ece7ba94d8ded32dcd0a08604a02a5d5ce95e + last_write_checksum: sha1:d1ec46aa182ba9b61d23053c0b073c032aa94270 + pristine_git_object: b736e2121aee5ba3ce41cf43684f991ea74a00d8 docs/models/functioneventstatsid.md: id: 78e6b7f2b57d - last_write_checksum: sha1:a750714833eaadec50d548152a792df327dba310 - pristine_git_object: 5d9dd9ab67a85b451a0df2bb1271ab87faa6eb0c + last_write_checksum: sha1:8ba4abeea5be14096e836b8521a4af83feefd135 + pristine_git_object: 792f9ad7bb9fe9a8b27e64cdaf1f77780fe3517b docs/models/functionexternaldata.md: id: 6669866ab1d4 - last_write_checksum: sha1:529a27a06cdd4c0aec956d43224f4375f54e2da4 - pristine_git_object: 41f179a2a4b5931b6fefd00d9b1f6058476fcf92 + last_write_checksum: sha1:a516980961c472382b1510082c7d7c036f0a7f63 + pristine_git_object: 86f7e65ccbd45bb6139799527f7445afa1c877d1 docs/models/functionexternaldataid.md: id: c905c6ace2c2 - last_write_checksum: sha1:33b2c786f30eb0099256763176b3b269375324b6 - pristine_git_object: 94d9ce3d81020d19e769b7cdf2aa4f20c7f8fd00 + last_write_checksum: sha1:44658039e4a0e823b985d22f8dce256953065ee0 + pristine_git_object: 64b4029e23347a80b85d2a47f35442ff61f48c39 docs/models/functionflatten.md: id: e5b4aa430280 - last_write_checksum: sha1:17e36e1bd6e893aad7bdc19ee2c7fe741e34328c - pristine_git_object: f155ce6c59827729ae9739efa53e37d406760bef + last_write_checksum: sha1:96c3dbe4ed8e8022e208d34a4e4ad249e4675f9d + pristine_git_object: e245f91a1a34dbd224dc2763665c9fcc5c0de29b docs/models/functionflattenid.md: id: c48653794398 - last_write_checksum: sha1:b52ab8b829cd61673d69c7a9b8acf26024c3aeb5 - pristine_git_object: f63a8a4fa7c9572f2da7e8cff1c64f83f294c797 + last_write_checksum: sha1:e86432bd626000a0fea4a920c4366e17a53e8a49 + pristine_git_object: 59e28e404a30d93d5c6ff17f46b03c01ef9092bc docs/models/functionfoldkeys.md: id: 77e94aaca9d0 - last_write_checksum: sha1:073ed88b8f5e5c923475ec8f824000784d670a9d - pristine_git_object: a5350f3959bda55eba2908220aa52e11c0361ece + last_write_checksum: sha1:1b4080b0eaebff9a5ec90f9583d065185fdce2a1 + pristine_git_object: ee7f8acbd62c4e8f83d77d225556a8716470d401 docs/models/functionfoldkeysid.md: id: 6b95b00f86f8 - last_write_checksum: sha1:5eb832c4f43d77086ad4f26a965a37d2242d502b - pristine_git_object: 008274c6d4c2e1627c9407279c5ff4d4fb1688b0 + last_write_checksum: sha1:f8b985dd079f07ee4f7a61a1cb0b39041c4be42f + pristine_git_object: 62b5207b806ee024a56c6c77a4207bffc55d3fc6 docs/models/functiongenstats.md: id: 39d1260d5c81 - last_write_checksum: sha1:6e94413ac46054322ab84119746ca50e8d249785 - pristine_git_object: f8a3faa22fb90b802d82c152fa4c9cfa2c5e24bf + last_write_checksum: sha1:47c451c625691277a6b3911e026c5a3feac1334f + pristine_git_object: 2439b9f627f4418cc9a62dd09915f352a1a00da2 docs/models/functiongenstatsid.md: id: e64fcb4222d7 - last_write_checksum: sha1:6951362b995835dfaef4610d8295344a39d1f5ba - pristine_git_object: 36649d98b3b2ba1cd45eaab504d7ba73a4d011b9 + last_write_checksum: sha1:e5cfd8298b05fbec96d7e563d9fcbce9e86d37bf + pristine_git_object: dd6aa44f3930e4b20d5d15ddc1de61d7988c818f docs/models/functiongeoip.md: id: 797dfc44d795 - last_write_checksum: sha1:a6b133b3ff64ff9bf9ecfe8d1d96042bb3dc0e99 - pristine_git_object: 798931c07d0a20bf55aad5adf8ccbe5b9e2f455f + last_write_checksum: sha1:11828fb8e0a6619720029d102e92098ea2b8adab + pristine_git_object: 25fd199b66eac1f04115c8fab70bc5e5ba163a0c docs/models/functiongeoipid.md: id: e0701532e014 - last_write_checksum: sha1:fb4ce2777906a847ab9749e81c3369a5cfa8ac42 - pristine_git_object: c4a200bed0bcc33c7d0e9ce4f4c8765d88f4b076 + last_write_checksum: sha1:dc0b7bd08ec961c24f610816aafe69c9aa73d7f1 + pristine_git_object: 018a80d6b011e06738dd9c46175b5f7ed93f6586 docs/models/functiongrok.md: id: 103aa3af65e6 - last_write_checksum: sha1:cef702ca3b4b44513f41ee26cab9aaf1dcd9a5da - pristine_git_object: 4a540762b9ba206754c6f941e5317e63b74db28c + last_write_checksum: sha1:86f575458341db013184c98e69f24c85f9f9862e + pristine_git_object: 4bba0d9f643fa200f5d151aa83aac5c2a71f25c3 docs/models/functiongrokid.md: id: f3cc96afef45 - last_write_checksum: sha1:1a51f13b5083f844439a8f0cbaa2cf73046fc566 - pristine_git_object: 254f4142f56ad7628d8107d884628bb8a71fc7a5 + last_write_checksum: sha1:14aaee570f7ab5480d2eeabf0cdf30f54ec6383d + pristine_git_object: 0e1d65d4683493452eebe127a415d9f4e540f072 docs/models/functionhandlebars.md: id: 92bbd5c652f8 - last_write_checksum: sha1:8c94f1119fe786c15c6f1168e4246356812ac003 - pristine_git_object: aaf35938a98f99106a6490a3af8532e55f9b1475 + last_write_checksum: sha1:43cac1a3265b9f1ab40b7f31504b3902e2e0bcd3 + pristine_git_object: c2c848614e464185cccf88883a8eb4192023450b docs/models/functionhandlebarsid.md: id: ff592d81c204 - last_write_checksum: sha1:aa45d34ef3210ce7a08037f8d9542bad6de2881e - pristine_git_object: 7e93d1921576a8b5360f5bac1173ebd60333c156 + last_write_checksum: sha1:5ac6a08e6a921c3228738595372a271d5c7471b7 + pristine_git_object: 7c2283832a22b20a36480094d90cbfe65b64789a docs/models/functionjoin.md: id: 968f83a1dfec - last_write_checksum: sha1:cbd7e360d967678c3d0acb174105abd0b60c2c93 - pristine_git_object: fd669b5f2b90a2905399a103bf2171ab210533f1 + last_write_checksum: sha1:573ea5bb82db082559a920fbbc33cc7bb0130fc7 + pristine_git_object: baf6232fe3e7fab451df317d342936a7b5327d37 docs/models/functionjoinid.md: id: 710842dfcef9 - last_write_checksum: sha1:1962198553ff78ec733ffeb191d0ba328b4d8b60 - pristine_git_object: 82242e1536391ede679037ea6561fbff1372bba9 + last_write_checksum: sha1:81c0bc88b94bd68af8effbe02285b50adfff0404 + pristine_git_object: 0dc85c6afcfad7434ae4cb4b4c1bfcb24d0c332e docs/models/functionjsonunroll.md: id: b22b9e356025 - last_write_checksum: sha1:620fed1d61a43ab87fe16994eb0f78b6d8cf3dce - pristine_git_object: 03f906ab1f5a2fe02cfd9ac8924eb92a90e69c67 + last_write_checksum: sha1:f695e7ddd98d6201f935d622d148eb6caf2245ab + pristine_git_object: c6a771ae3a0417386e7630a5e9285acbff3435f6 docs/models/functionjsonunrollid.md: id: 2fc4fb0e434c - last_write_checksum: sha1:36e5b77b9d53196659d09577c8feefc6eaf213a3 - pristine_git_object: 0ea42d260ecabcb948a78f93438ad1984601bb02 + last_write_checksum: sha1:66635256875a820ecf61db6f5f18f3b945b64b27 + pristine_git_object: eb979a3eff1feed8012569056f76f2af9d99d0fa docs/models/functionlakeexport.md: id: fa6ea4a00841 - last_write_checksum: sha1:581216311c7a8683843894ae4742181d591c9f4c - pristine_git_object: 0e21cc02d095b310832922f774635856d5f1c7bf + last_write_checksum: sha1:39c150340244fc69dad1cb588de335b32533bc15 + pristine_git_object: 2e9253ac201ee8f97a7e10bed545dbd00b3a5196 docs/models/functionlakeexportid.md: id: 7de161a4ddf5 - last_write_checksum: sha1:cd51c9417670f0e58ab8e5e490546b17382ed29b - pristine_git_object: 5bd821103fe25bb2c19732f0041f7c484323c30c + last_write_checksum: sha1:4cd93f68a61f729ce4ec6b8c3da71e4e7d3d6917 + pristine_git_object: f72f1a610e5f7cc7d1227093686fc6dbcf9d63f8 docs/models/functionlimit.md: id: 45f03ef2f8be - last_write_checksum: sha1:e4f62562fba9b5eb172d63c5b500b9996694be45 - pristine_git_object: 36393cd6b084f81960307fab25789f1ca09a3240 + last_write_checksum: sha1:57867b83ca3c530b06676031f28acf79963c51e2 + pristine_git_object: 0b6f438660b3bc24a9519a97f8309504386fe433 docs/models/functionlimitid.md: id: 41be6aeefe96 - last_write_checksum: sha1:5577de0de8786a9780f9cd660e7e819d72c89d48 - pristine_git_object: 8769d4bbe06952400685dbe49aebfc01166fe7d5 + last_write_checksum: sha1:c4b06a3aee06633584c6d2ee60cfe2aeb6254197 + pristine_git_object: 25a8e86780f40fca2976115569a1e859420d46c6 docs/models/functionlocalsearchdatatypeparser.md: id: 89b3ac4331cf - last_write_checksum: sha1:0411812f2b9d038caf4d105e0509a36f92df8c93 - pristine_git_object: 7f1b88b766e2721d8aab9e481b5f51c31fc21923 + last_write_checksum: sha1:70a31a949f6d0520bcd23205f88def945533d2b7 + pristine_git_object: a79a87181d305add2ef23cf4ac8b5af7c9161c11 docs/models/functionlocalsearchdatatypeparserid.md: id: c03e6fff99a3 - last_write_checksum: sha1:0bbf5e2ce73b4e14ee2a6f206e2c0a5eb246c081 - pristine_git_object: 98d96e8ef342048da4ec431a3b9b69017c641719 + last_write_checksum: sha1:f5445f55984e9f38bb8e79c1663dae52e457fbab + pristine_git_object: df0daec2036330c0c4843efd1e39f902d225fcf1 docs/models/functionlocalsearchrulesetrunner.md: id: a73a5bcbe0c3 - last_write_checksum: sha1:e8214802b2511ca5f8eafc47cf24c553bfdfb185 - pristine_git_object: 95e58e6c34c2bffe6494d6303feb49ec1ccb7ac6 + last_write_checksum: sha1:0b2fd0a748a31484250a90e3b7186effdd118077 + pristine_git_object: 931ec742eeb29c6b73ff6560f1faec67b30543a9 docs/models/functionlocalsearchrulesetrunnerid.md: id: 365020284d44 - last_write_checksum: sha1:59434d6d75b81ec4228368b1fd9422d27aa024df - pristine_git_object: bf0a80e38b807192d7f2439e7fe33d5158bdc181 + last_write_checksum: sha1:ee306e07762423f69adcb0523d58a98d78d258ed + pristine_git_object: 9f747315e6f6b614432e6998db2cb993973d1cce docs/models/functionlocalsearchschemamapper.md: id: 760982dcf1cc - last_write_checksum: sha1:7fe78a4cd4d5580119e12b0fa830e48f005efe97 - pristine_git_object: d7a6062d4a33d0449cad76bdfd365233a3afa407 + last_write_checksum: sha1:ad5107fbd72b969457462eb115ff83024d252b3d + pristine_git_object: c30d42ccf7505c24b37ea70df51b8e485e0e52ee docs/models/functionlocalsearchschemamapperid.md: id: 9bc5728dcbc6 - last_write_checksum: sha1:b483fabd096165689d08f690e66ada2707a77c4c - pristine_git_object: a1d41b9a935f81e476a9fee0367a453997486cad + last_write_checksum: sha1:18328a66f429ec4dc4fec6cfa45a9cb76d636578 + pristine_git_object: f62a2c6b88d3b4157f2fb41924dcace47ffc9556 docs/models/functionlocalsearchtimerangenormalizer.md: id: dbb032a7b2b4 - last_write_checksum: sha1:9f400c6a680a4e0ce47ebcba7b7f3e294482997d - pristine_git_object: fc7da0b7c7c9ae7e2bdee1c0b483e829424f8793 + last_write_checksum: sha1:d41f86e5bf1bc8fb3687d0906113ec28590b0e98 + pristine_git_object: 5a11d13cc00ae978d08343457552c043e35de992 docs/models/functionlocalsearchtimerangenormalizerid.md: id: 5c372872a643 - last_write_checksum: sha1:a0f18ffb13c1d889a035a5aeddc9ca922837b309 - pristine_git_object: 93be5be845625baa6a1701b7be62fa9a86ca0623 + last_write_checksum: sha1:26bd125213d9c1e4559ee5c238f30fe58335d7f6 + pristine_git_object: 4df28c2b7e0b933f7d64bbb3982358102c3b3156 docs/models/functionlocalsearchtransformer.md: id: 9a0cb01e02c4 - last_write_checksum: sha1:483b745d031ec446c17fc47e58c8beb6a39ac5f7 - pristine_git_object: c5947d1f490e589b09a9edb9b90a8936b2f784bb + last_write_checksum: sha1:74bb57aae2c9d0cb83f1145bc206b54ed0306c66 + pristine_git_object: 52fbd1f6b77ceda9c7dc117c74acd5980630fdd3 docs/models/functionlocalsearchtransformerid.md: id: fe349bed0467 - last_write_checksum: sha1:179dc359b43f03f2d81a89cc6a0047ad3a320f80 - pristine_git_object: fb5c6804fb0ec8e5de9917d8502e96d6c1136900 + last_write_checksum: sha1:49340648ee11df11e5a9bbe6c91c47803cbe9a48 + pristine_git_object: 315bf2c6203b16a0c5f25f8b60d11124519dcc32 docs/models/functionlookup.md: id: dfe57e51513b - last_write_checksum: sha1:fe4fe5d7d7d3cf4a8dcf2b87f18c911db9f9302a - pristine_git_object: 100f8ef74314238f256113c356f8755f742667ee + last_write_checksum: sha1:6657b193a15be98f9a847143d02b7c07dbfa9a7d + pristine_git_object: 193bccd92b8de0b9f1c0927a51e1e178a6b3c9fe docs/models/functionlookupid.md: id: 650094b4f3a6 - last_write_checksum: sha1:c8f609367b1225e679c3b1b7b741b744ef915d8d - pristine_git_object: e547c534598dec961fbe3767414a7d5860045045 + last_write_checksum: sha1:73f0fe0c6efe77484f4b1ede072e5f0e7bca2f3e + pristine_git_object: afe27688e62db687a3a0469b1868f23aec906e1f docs/models/functionmask.md: id: 5711ee9427d9 - last_write_checksum: sha1:fcf78085b73f96c2654c342eaefb949d93de8276 - pristine_git_object: c861b83a9061c1fe64a33ce1280e7c4af8062b94 + last_write_checksum: sha1:9a9bcee837f06767c68cc0e43bf644b99038c6c7 + pristine_git_object: a1897a02eb669c3113f9d4588610e2d2b568ee4c docs/models/functionmaskid.md: id: 1cae4f4154f9 - last_write_checksum: sha1:854710e83973acd060f4e60eebfd2de97ae1902e - pristine_git_object: 613b0426840f866d0c138ae78bca1cd4647c0934 + last_write_checksum: sha1:9e2360f52f78e23b9a5f4e85bba3843eaceb3a77 + pristine_git_object: 995c56e6f932fabfe679e1d7a8535358279b7349 docs/models/functionmvexpand.md: id: 14c4ef7ddb61 - last_write_checksum: sha1:be990f7a933e454be1b9394020ef808e637ba6b3 - pristine_git_object: 20c820827a9bbec0d14109fa96e21feb28c7e2aa + last_write_checksum: sha1:05834bd86a0bbf9fd791b51a8cbcd4e4b16e0326 + pristine_git_object: c5d63dde03773da9f9cad55eaa1d5dd0e593d7b7 docs/models/functionmvexpandid.md: id: a1b7e3a577da - last_write_checksum: sha1:7df65903ff7bf77af20e010d3113f6a4d063e584 - pristine_git_object: 653a1f3a3cfe7db13cd5aa77a1e8a95cd5a2f900 + last_write_checksum: sha1:996cbbc41ee03d2fd0162cd67e7af415851aa167 + pristine_git_object: f6544278a05f38676622e769a75cf829b8e5fdf0 docs/models/functionmvpull.md: id: 6d1a173408ec - last_write_checksum: sha1:8059ab47abdf0b71509cd1d0a5ad76135cd3f3c8 - pristine_git_object: c042b7f9b2d0386277d810956e4be0b627236a3e + last_write_checksum: sha1:5c8e9590eb226abd3983fb058eb2f6c20b3c0341 + pristine_git_object: d6648576dac9c418cf2630a619b643c7b557a6f8 docs/models/functionmvpullid.md: id: 82619c563c71 - last_write_checksum: sha1:84afb54759179a0928c47bebab5fe09c90653129 - pristine_git_object: 1434281cef3b5f4d376c186696cbecc2fe4ff304 + last_write_checksum: sha1:084a031e60d6c4d0c7f66bb75864683a9cc6c8c8 + pristine_git_object: b1936eb152550c81967c93ef4762a99ea57db7c9 docs/models/functionnotificationpolicies.md: id: 44def6ca0c06 - last_write_checksum: sha1:c4ee7e9669df9c7c4477773573021dc6c378e68b - pristine_git_object: b16475758d936002bec724353bb3dea48ac05696 + last_write_checksum: sha1:dd98404d4f010f2ae960949a921df393a60d21ec + pristine_git_object: fda7ceee5b0b7c12984f2ccc704e16b698dcc941 docs/models/functionnotificationpoliciesid.md: id: 42b267f2d901 - last_write_checksum: sha1:2cf3bdda7619a771d9052d8c8c919fccf27e5b0f - pristine_git_object: 5f3ace93d52fc103d8c4a62abf5c4b2e7f19e4c7 + last_write_checksum: sha1:2d8ebf3db4049390c968db8c7f00c3c8d17bd252 + pristine_git_object: 2a73a54b70ab1524ab38381862c0a3028626b0e5 docs/models/functionnotifications.md: id: 899a2b242923 - last_write_checksum: sha1:1d21c003f385229ea1b3f8e192e9c103cd87ee66 - pristine_git_object: af746fbb33d2f6351e5d9998192e67d5b85473b6 + last_write_checksum: sha1:ee57c843fdcfbba550c17ffb6d2ca4b2a4201fd6 + pristine_git_object: b245f5a21f06a659124eaefa7a546c7fbb1dab4a docs/models/functionnotificationsid.md: id: 8b8490f6d101 - last_write_checksum: sha1:9e9d94b24bc6e129d4c2fe4f7ac0c4e2ff5c7f15 - pristine_git_object: 215bacec80f7e2a8576337e2ddfe15124f0e357d + last_write_checksum: sha1:820099214374f10d141ced6b7ce303f6ed8e4e5d + pristine_git_object: cdb9d118266f23cc760fd70bf1c8c80831cd660e docs/models/functionnotify.md: id: 40bc99a9ed17 - last_write_checksum: sha1:cba331c3d9096a73eb0510bba931bf3b6fa60db3 - pristine_git_object: ffd62fcd620835651eea3bae425a05c3a6cdd289 + last_write_checksum: sha1:4271837674e0b6eba4eca191321ba6758805fd86 + pristine_git_object: 787312abb23794fe88fda719df3fdb5c9d560d3b docs/models/functionnotifyid.md: id: da85b340b9d7 - last_write_checksum: sha1:78aac4f1692976f2142692e05d47b298424a769c - pristine_git_object: 32077654a60569c75877e0609a84e4d2a7407231 + last_write_checksum: sha1:3bcead2338adf279f3494773d4361e2077b645c7 + pristine_git_object: ffffbb1caadcdf824ffadf061a8749d6be7bdc75 docs/models/functionnumerify.md: id: ce7f7b1c7b59 - last_write_checksum: sha1:2cfd10dab8a13cb1f97893d64477f4dd013218ff - pristine_git_object: d94adfd5a96113ac3a9528001e071d0131c7c719 + last_write_checksum: sha1:e64ed627d82a230850b5614565ae97b997f205bf + pristine_git_object: b47994ab84c8d4aa0aa67156dba1e0c4ee4c85d0 docs/models/functionnumerifyid.md: id: 89262eb788cd - last_write_checksum: sha1:94c415c763b3d0a35423e12723120ea375bdea02 - pristine_git_object: 43158f9498dfad5350a89ff12913c23377f93fbe + last_write_checksum: sha1:cd9a1e7d3950cd66425c7c4030977517f0035390 + pristine_git_object: 5a17165d683116203e438f93bb0b92a718b9ebb7 docs/models/functionotlplogs.md: id: 7d038a27aca7 - last_write_checksum: sha1:fa8e808a073e4dbf428ddcda56990cc5edcf2e86 - pristine_git_object: 7745e307e4d1b1dbd26a33fc01147c16a87c46bf + last_write_checksum: sha1:459ed482a735cdb0f5b7955d21ecda2c3b2d3ae5 + pristine_git_object: fa12399c99d98bcd10ca8b833235bf313c182058 docs/models/functionotlplogsid.md: id: 4dbcdedc53d2 - last_write_checksum: sha1:e57c7773ab999ab060fcdb94639f9848275cb1c3 - pristine_git_object: e7f0dcd42611acda847d000727adb71a16d8569c + last_write_checksum: sha1:f7275a7f42248357c55c9485eadf1f53d0dfd40a + pristine_git_object: ed5f17cf0609bad92b590bcf2bf6c86777771a3d docs/models/functionotlpmetrics.md: id: 2a967ec76330 - last_write_checksum: sha1:d1614e4cf5dd549c7eba1ece220fb924e8ce4e37 - pristine_git_object: 3935c98281019a89b44d8b371913323852755c56 + last_write_checksum: sha1:8d697488ebbb519b0de537b3c33d9d456e20b79f + pristine_git_object: acb93c76baf673ca14fbfdb5ee7a09ed20dc7fde docs/models/functionotlpmetricsid.md: id: aa4877601284 - last_write_checksum: sha1:84d35401e579c874578c487926d43a5a95dc9e47 - pristine_git_object: d5d266cd33c5fec8c470c455b359c74807eca7d0 + last_write_checksum: sha1:e68f31b690e9dde9e1026bd2ee1f9f09eeaf79f5 + pristine_git_object: a6b1e781bb91a19aa62f9a6de19cf4a8342b38f2 docs/models/functionotlptraces.md: id: 6ccafc08f070 - last_write_checksum: sha1:ae2c39775959550aa5767d18570a6ef107feec70 - pristine_git_object: d1b2e38a8da0d42a075ba1e8880ef8e34d0c949e + last_write_checksum: sha1:3332b05abd2261fb094d089ecb695856dceb3a62 + pristine_git_object: d395e01eefd282c2b7026692868e9c438f18b672 docs/models/functionotlptracesid.md: id: d887240625d4 - last_write_checksum: sha1:d4f5e5f69dce129f7e06b4ef5e5d2350a54c4eab - pristine_git_object: 060c11c778f3569a091aedbc12103745e657149e + last_write_checksum: sha1:c5f6917678c1183f398aa7c7dab73eb9f3edf0c8 + pristine_git_object: 1c947663c377ce51c23b25c689e0fcdb3c9b2d19 docs/models/functionpack.md: id: 2b33e124ff60 - last_write_checksum: sha1:2c8ee4028ec9b6af815f029903ba6752d2b12de5 - pristine_git_object: 32646972cb0fb38cf10dcabac7bf2bf0fe860261 + last_write_checksum: sha1:06286aa31892aa4a3785843fabcb57a97ccc9de7 + pristine_git_object: 2118f9ffc5060b5bcaa3edf57c6fd1af3bbbdfa8 docs/models/functionpackid.md: id: 4c68a8c18ec6 - last_write_checksum: sha1:d8dd0173de988316a99c0a2d0ca0c39f521e13c0 - pristine_git_object: 3c9d3f40c2d71b6fabab651e1fa1959be6ce2de7 + last_write_checksum: sha1:6cdcd1e9c83a699405317995a85b2cdf514d1619 + pristine_git_object: c4f2b5e894550a5eb4bfa81f45195a77793c627c docs/models/functionpivot.md: id: 2b4abb6598d6 - last_write_checksum: sha1:000f3ce7f09feaca10bac26f5aede42e4ca86c1a - pristine_git_object: 1b2e0f4b495a8e0cb5c1f27656815f2bbf671591 + last_write_checksum: sha1:5c33e38c799258ebed56795c02f32dbcc04d7e19 + pristine_git_object: 4297258f2f07b08dafc7445ba16fe3f98c4153a1 docs/models/functionpivotid.md: id: c58fbea1ecc0 - last_write_checksum: sha1:e99adf340f9ab00cc7f6d82247d7cced839fd1f4 - pristine_git_object: 158c85c1e27c0adce0e14514f360db56b4c78397 + last_write_checksum: sha1:81ea5cee34d735340b996bc4ee2a90b7a48ab2a1 + pristine_git_object: 37e6dd116ef0019abed95e6c3fd11e939fe48882 docs/models/functionpublishmetrics.md: id: 3afb32e9d328 - last_write_checksum: sha1:b5521e21bb33a93aa013851f7e2a788a7ffdd6dd - pristine_git_object: ec71968e0bacbfcff11d848b9926607232e3fd65 + last_write_checksum: sha1:7e4eec2f76581968dc7cdf6d79cb324c2e69736f + pristine_git_object: 391a4b74910c3229a69a14bc9f466cbd7aba5b40 docs/models/functionpublishmetricsid.md: id: d8f0472cf9b1 - last_write_checksum: sha1:555e7ca9973d326539638e8db99bf226573af509 - pristine_git_object: fa3c788be4d9b55738d8d5fad6c36aa458b277c2 + last_write_checksum: sha1:f3a02dd604a738f53d8a204401a12f66b975f124 + pristine_git_object: 4039b552b32782ffb98be17e5f236a64f9b17bcd docs/models/functionredis.md: id: 164da9000dc7 - last_write_checksum: sha1:551c8ea994f955c8a1aeecaccdf0c0c39f152894 - pristine_git_object: 36eda9ff6cfe8c51aa57da19879918da9ff07ec4 + last_write_checksum: sha1:46af5fb9e711ae8105473e43163c5b13651d60c3 + pristine_git_object: a18324221ae38d764cbe3e55449ca253840acb7f docs/models/functionredisid.md: id: f0cae5af422e - last_write_checksum: sha1:b88295bc5a928b32c20aad8ac848be45ec9f959f - pristine_git_object: 207ab277be5c0d3015df0cf0455946283d663560 + last_write_checksum: sha1:d912e0068f51c1d38f8c0e6bdca2a0dcf0a49224 + pristine_git_object: 530b83388ada5c61883cad8e28990b4bdcaa6413 docs/models/functionregexextract.md: id: d3f920f5e224 - last_write_checksum: sha1:9138104e79d3913ae589cdeacd3f76e53275d6f8 - pristine_git_object: 73c11befeecad9f26f450695802c4c09c01f00a1 + last_write_checksum: sha1:d216b0bbfb239d4a53f058d355aabc78e2ee0e7c + pristine_git_object: d19c5db60e9083d88e6611b401ceaa06dd0db749 docs/models/functionregexextractid.md: id: e0c3201d4ec7 - last_write_checksum: sha1:2eb336fc1316082a873558b20f7dbf25f6747108 - pristine_git_object: 77dc713622ce347a22a98bb07f9a4afdb7e02d55 + last_write_checksum: sha1:b9c2bfdf557dbe89bc8abeeadac0ececc93ed357 + pristine_git_object: 5a4b7955dd13a1f8700e235f0eb9f47e482c7f2b docs/models/functionregexfilter.md: id: 185932171dc2 - last_write_checksum: sha1:50eed779d58388c480404fd73e1764b8130accdc - pristine_git_object: e21dfd28c112f80f2d484a40981b8cdc74630a89 + last_write_checksum: sha1:c8544c288facfcc1542b574daed6aa5be9dc683a + pristine_git_object: c9f603b1dadf666aba1b1e084a3ff3e50e0503fc docs/models/functionregexfilterid.md: id: e4c127126fff - last_write_checksum: sha1:a40dcf8f03a36171aaef3cfc1fa665e1199dde04 - pristine_git_object: a656e91ce88fb4f7c9bf913fcd58f8a8d52392b0 + last_write_checksum: sha1:3913c5df09d884bcc759fe465a75ae2f993287b4 + pristine_git_object: ff4de0beef60923df71e020592408aacf7af47c5 docs/models/functionrename.md: id: e98e5fb62efd - last_write_checksum: sha1:0ac5f42faf5c077c39c847faf457021ca4995418 - pristine_git_object: 6426537d7246db2d3ab312cccb640bef79b56026 + last_write_checksum: sha1:7c6225fbc39b45ffe3de92fd5090bf4130acb69d + pristine_git_object: d6ec8c02fe584996b4f8af2a247e9d472e0d43c1 docs/models/functionrenameid.md: id: 2a048d57b922 - last_write_checksum: sha1:4314296d94a3ed82839642bef2811d3596814617 - pristine_git_object: 350343a632c4e6f4fbea8e74cf6a01029d27193f + last_write_checksum: sha1:652cce9e13a5cf2af4f1dad19bc59f5628147e58 + pristine_git_object: 8eb8d792ed2ac5d8316ebc5e104ccd0574e9988c docs/models/functionresponse.md: id: d96ffd7d2c6e last_write_checksum: sha1:c9c0a8ca86b4017039e294f34ae80d2a4a3fc0d4 pristine_git_object: 0130365c1a5a15373153c1b21fd47611dc9a957b docs/models/functionrollupmetrics.md: id: 29db8a39cff1 - last_write_checksum: sha1:7f15fd7bd62f2a4f7faf41fbe1a15f592aa7c1b1 - pristine_git_object: ef28deac61ca915afb22df40e36825638c09dde8 + last_write_checksum: sha1:7aa89609826845522d2a94419cd3fbd2bed854d1 + pristine_git_object: 95bc94b278924932558b0ef8025846cc30c7d1d8 docs/models/functionrollupmetricsid.md: id: d757bd4ef914 - last_write_checksum: sha1:ab2010d371313c3b83026fc6963585cdd36aaa00 - pristine_git_object: 8b1d9071a0dc78659368b06a3bed8c2f93f2ba5f + last_write_checksum: sha1:5cf0ac5aa19a77bda8a35ca9089d6d5bc13e1bc4 + pristine_git_object: d57d5169c7d5c20254a9751d3cdbdcb1dc31977d docs/models/functionsampling.md: id: cf3e4b6486c5 - last_write_checksum: sha1:18240dd5b7f496f13f552bacff00cf119de7a643 - pristine_git_object: 623abdf6f401fcdf89b3c4608b6d39a23f4c80e2 + last_write_checksum: sha1:6ca50f9c6939b99051d02cfe5b6adb69bc4cee5b + pristine_git_object: 7efac36fed41a5078357d13e7fad059b3cf6404e docs/models/functionsamplingid.md: id: c71665ca1589 - last_write_checksum: sha1:f6c310736df767d8ecb4fb8071d13e86843d1205 - pristine_git_object: c34cec0fcc82bcc17fbe3208c70b829c28eeca44 + last_write_checksum: sha1:bc0d1755943372ad6c54318ef2dcde50d92b3c8a + pristine_git_object: 3d4f5533d9097e963639463b4ef0c3cd85a5020a docs/models/functionsearchengineexport.md: id: 69aa67bb4c0f - last_write_checksum: sha1:48d86373d5f151951dab097e38654525d9d2d806 - pristine_git_object: e542c50ac6374def2863cb6c23e20c49f02982cd + last_write_checksum: sha1:921311ca40dbcc8aa2fd9e7b17c84c5e27a30e71 + pristine_git_object: 094b2619c696ef910cac547b460ac93a25b7115e docs/models/functionsearchengineexportid.md: id: b9cde397c1d5 - last_write_checksum: sha1:c3160baf0be60fba55cb8e718c7d1fd2c158312c - pristine_git_object: 0aaec57dbcd4a49f2fe69d61d8585e9a1ee91fe5 + last_write_checksum: sha1:a7cc1a770eaa5e82a48667b8d8e5c283991e0e02 + pristine_git_object: 5928bcaa930ac5aeaa373611a5983df36c85b5db docs/models/functionsend.md: id: 4e2250b63894 - last_write_checksum: sha1:f50345a53426bcc0b6500aca17ea4318572e82b0 - pristine_git_object: f9a2c7ac4b70a4cede75fe0d2f616268286d157a + last_write_checksum: sha1:f7efe719c26cd259571f9ca92f1da9a2e5bfcade + pristine_git_object: f8bd7f2ad6bce1b27724c7cfd0e1344638048212 docs/models/functionsendid.md: id: a53911f59c66 - last_write_checksum: sha1:c4a43905dfd7b31c333445ea47416606d899cf1a - pristine_git_object: 9b6265317bad598889f9e86bf1f217fae7817808 + last_write_checksum: sha1:8be0bd4f35373c4438f69891c43a4a0a13f4d473 + pristine_git_object: 0404ee3198f90689002fb9efdd90bc0e81570628 docs/models/functionsensitivedatascanner.md: id: 2b6e468265b1 - last_write_checksum: sha1:1c4fb65c5917e69d7f57b97fe7218915a4fe2be6 - pristine_git_object: e71ed0690f2411949700acf5a8b76db1039b8147 + last_write_checksum: sha1:1c503e37f7225b85e8a75ce4b33cbe4cb8e94493 + pristine_git_object: 6f9fa0a176025396d429227a911f540307c141c8 docs/models/functionsensitivedatascannerid.md: id: f7a582735403 - last_write_checksum: sha1:13e906a137af2fdb6edec55b75db7a2890e3afee - pristine_git_object: 67f571e31c1df84d5125dc7434728fdf49deb2b2 + last_write_checksum: sha1:bc2566707a4507d7a3863c75ba787eafc3033fae + pristine_git_object: a861a62b791f441addf702f5c29faf8adaa8d80c docs/models/functionserde.md: id: 94f0fdd14a97 - last_write_checksum: sha1:cd35d1ac1d181162f63aa8e9dfcf366871cd0927 - pristine_git_object: ca34ebc423d0691208994b9880929cd973d21d91 + last_write_checksum: sha1:4229dda891b047b4cda416ba8888ad87ce394a51 + pristine_git_object: d94b7563c824bb91f13b3e07df83b6b305af228c docs/models/functionserdeid.md: id: 89c1b4a2ec0b - last_write_checksum: sha1:144b3b007c3ab4454eacce3d5edf730b7e83bd9c - pristine_git_object: a171ec8506771f33bdd88be3c105746eb1382025 + last_write_checksum: sha1:953ba9f29df2e14354d778fe933e9bc3d770a44c + pristine_git_object: 5a68e24fa7b63717411dfd58062ecc1edf67a7c5 docs/models/functionserialize.md: id: d8312af3a76d - last_write_checksum: sha1:cde6bcf4f64368404d3b50fcb3430afa70393542 - pristine_git_object: fcd9c58e3ef5768bc39919dd18e0bd512daba6f1 + last_write_checksum: sha1:2fbe1164858e257d6446eacc63b21e40f10ba1a7 + pristine_git_object: 8dd6767f3a899dd7b528c1f314f4220952342229 docs/models/functionserializeid.md: id: 5d3f534de2a4 - last_write_checksum: sha1:e20d9ee48126bb89f6b5c392530a98af77af762c - pristine_git_object: e0ae092d1faeccb73558f414efbe66328c2b1e47 + last_write_checksum: sha1:db96db3054864a42b50e375f5acf543a0e33a388 + pristine_git_object: 20730f0966a130f5dfbbc60032eb348733948162 docs/models/functionsidlookup.md: id: 60c3e90c463a - last_write_checksum: sha1:ccfdea90623040144c27b9dd90abfab295d0ad7b - pristine_git_object: f11dcd3e37d9a6a8ba960fca62580fe39172c207 + last_write_checksum: sha1:285ad9ffe62b5a8275aceadb3ab3c46231909876 + pristine_git_object: bfb43972b72407d4da7c02e54f4caa8b904c471c docs/models/functionsidlookupid.md: id: 6a6cd5a39fd5 - last_write_checksum: sha1:33c7d8bb7258131703bdefc5f939ef52e3bf9526 - pristine_git_object: 5c70c5b680340cf414fc6f55630ff7b5119dcd84 + last_write_checksum: sha1:5a152237e533b6f6fbb4730cc31cff19548b372b + pristine_git_object: 4da610b10716129b246069106fe6f51162346d68 docs/models/functionsignalfilter.md: id: b0f24b95f5d1 - last_write_checksum: sha1:cb1d70703e41f39ec1b3635e85d2323264922c4c - pristine_git_object: 619e7126a8aaf97fb7bc0955d0a5bd2ca408058a + last_write_checksum: sha1:07570ea34af357de3132f74dcdfbb63a26333b49 + pristine_git_object: c8f508b137775c340ad664f0fa14e0a77d922161 docs/models/functionsignalfilterid.md: id: ba7d10376975 - last_write_checksum: sha1:909ecc3b8edd891465960e9cf45f68de5a0fe082 - pristine_git_object: ad55598a5d5af1b6bbe8a416d643ca5816e554ae + last_write_checksum: sha1:ce63fc4da6173e0ed46ab9765ddd486aee22206c + pristine_git_object: 2c2582b1ff72cf2c2bdcc767c91f04973fa8eca3 docs/models/functionsnmptrapserialize.md: id: 144d271afd43 - last_write_checksum: sha1:76e09c0b8901bddfe0cce821f959fb2a3ddde003 - pristine_git_object: 422825a55c78ce7721b967511adcbd535dc11832 + last_write_checksum: sha1:5b6f038a00d6ff7dd6a35b25e113218bc20ba995 + pristine_git_object: 2d1ef09cd705684f8274a5dc35a46f0f45138db1 docs/models/functionsnmptrapserializeid.md: id: 2ad2060a8bc4 - last_write_checksum: sha1:9092d8b1f1fccace9a04a9aec10ee4e53919035c - pristine_git_object: 76297ec1baddf53107ebe247f614750cd8078948 + last_write_checksum: sha1:eafff8b687a9bd10b7278dbfe476de4c03bf50f5 + pristine_git_object: db211246aba1b97c5fb42d7efdf4342187791f4c docs/models/functionsort.md: id: d7811c5d6468 - last_write_checksum: sha1:4f08358a75159989f74b561c2510d757abb205d4 - pristine_git_object: 41b41487c22417af2e701a7d2f1b36ddb4339466 + last_write_checksum: sha1:cb3bd8ccc6e453bb762f239df8c09477d5fa5c6f + pristine_git_object: 0e069649d47480ff1b875fa55e61e00c13f24084 docs/models/functionsortid.md: id: be40dac4f72a - last_write_checksum: sha1:6cb9fd4a4089a0cd9b30d571b7cf0709e5275f7f - pristine_git_object: fd797639713d527c8d16673046feb928911fecd4 + last_write_checksum: sha1:cc3edad696d6dbfa73ad9565e8780a23c132491b + pristine_git_object: 5c0d3436f58179614656653e289da333d50da360 docs/models/functionstore.md: id: c606e5510765 - last_write_checksum: sha1:1bfcf275ed034e6838352a2c158e7713679ccdb1 - pristine_git_object: 1d387d90c14e6f327b036472d2fd5b54dfe16732 + last_write_checksum: sha1:1a465c112c18b1395ffa7272a760303a4f4b5905 + pristine_git_object: 1e3f730408bd821de19edc3a3b040b4b5f75f4cb docs/models/functionstoreid.md: id: bf7be936c290 - last_write_checksum: sha1:ae78592c1134e72ab2ba8c15661bc71f0c1ad83f - pristine_git_object: eaa2f8b21153b06a3ffcc9b25eddb144abe8ded1 + last_write_checksum: sha1:666ba698be60cbeddbb26decc1cc519497b1f773 + pristine_git_object: 8c6d93e28adecbab809b5329fd4dccb4d96f4de5 docs/models/functionsuppress.md: id: 87c657a613cb - last_write_checksum: sha1:d3a6b98ca861552e14049f9565331c617a8001ca - pristine_git_object: 32c41931abc1f9cc7167aca032b8b233ff9b105d + last_write_checksum: sha1:ca64cd1ad71731ab06bfc74e0264d5e904770b8c + pristine_git_object: 1e9726e444f4a52d99c92982fcc27e8391b3ae3c docs/models/functionsuppressid.md: id: f9a7bb6fc9d6 - last_write_checksum: sha1:57e3f953f4241f675dec2cc26a251056a7c886cd - pristine_git_object: 0db1e0bd812b2dafc6892b97c6389864773c06ad + last_write_checksum: sha1:389c1288870ba7005681c5778725015434ab973f + pristine_git_object: 44d564daf23d7aa094814f20b769b863b2ea53b7 docs/models/functiontee.md: id: 18172ca32958 - last_write_checksum: sha1:fb03a9d15a6d197d883cb24409a963dbe8a1159e - pristine_git_object: a1037b1b53bdc0577d8772a34a2043b98025593f + last_write_checksum: sha1:3b85e4bcef4fcb4deb36a596064b9dcfbab658ec + pristine_git_object: 2935f4c67d64a16cd5d2bec5a08f630f12620f18 docs/models/functionteeid.md: id: 4657c592fdc7 - last_write_checksum: sha1:41b3645be107a26d3796913a4cb05b372e893134 - pristine_git_object: 21c9a936ea6122334ece43b5ad5dc5e31c7c69f0 + last_write_checksum: sha1:496d21e46f3eccdb34bab047457c4d64bf5ca874 + pristine_git_object: e61831acda001e89efaa0fca1c24d5869728a99f docs/models/functiontrimtimestamp.md: id: c2c00190b8dc - last_write_checksum: sha1:065a7c19126945c9fbdecf8fe381faa24706c1d4 - pristine_git_object: 2ba18e9bc4693dead12d0e91b0419e02d06286b7 + last_write_checksum: sha1:87e4867f3e5807e00baa14d8cc16f50312e9710d + pristine_git_object: 43b55489a1335099d1b3d45f3d71694e40a8b1f2 docs/models/functiontrimtimestampid.md: id: b0c03f09ce9e - last_write_checksum: sha1:43198b7cea3dd44d52e606206b0ebc1efa63bcd7 - pristine_git_object: 8b9fee770cf8c95288f08202181c85c831b44cb2 + last_write_checksum: sha1:5763ddf49dbb9349c11d4d99054c944274b1daeb + pristine_git_object: 1dd9a89e9191daf0be1b9ddbec821c231284ca57 docs/models/functionunion.md: id: 234349ec4c0c - last_write_checksum: sha1:ff37292507bdbfa498dcf06da3c770aee1fa9ab7 - pristine_git_object: a25f9fc9fdc579e9f262fdbca9e61a17424a0eca + last_write_checksum: sha1:74f2814acd07fd6da37a721779b151639a5a96f9 + pristine_git_object: b0aa32f23b21eab82fe5c9b938f584a086cc8519 docs/models/functionunionid.md: id: e633493807aa - last_write_checksum: sha1:fc1605f01027dac70e562c5604e782752222a07c - pristine_git_object: 2cb233c2e374ac8cc3cad634422dc5902455f0c0 + last_write_checksum: sha1:76032fd5cb26006f3734af94cd2e0f78ad470342 + pristine_git_object: 016cc4a92197476cb6b5c12f6a333574a7d89bb7 docs/models/functionunroll.md: id: dee4386922e9 - last_write_checksum: sha1:fc6f9a3b3627bec04cd7dce4f2bbce764bb7cf9f - pristine_git_object: 4786a10e6737d39d9825fbec53cbb5afd3823fdc + last_write_checksum: sha1:2ca754847f97fef0c2d833c5e4899617e3c6b160 + pristine_git_object: b8fca18d3d19aa3cd86581085466eaee5c385948 docs/models/functionunrollid.md: id: 2b83855fed91 - last_write_checksum: sha1:3d43766c9ecb6934398c35e4c746517fc3150ddc - pristine_git_object: 282d853052260bb7ad8d9c29a7fb3c52fe26ae26 + last_write_checksum: sha1:fba1d795fc9123b282a4a1aae8878c551b384292 + pristine_git_object: e03bce2a06cffbee4c20ce2794dd013546bba82e docs/models/functionwindow.md: id: 126269195c5e - last_write_checksum: sha1:b6f0874924d884c8c60ae7d0e3c83299ae345025 - pristine_git_object: 30f038ca07e13917d272f16105dc7a42a1be5418 + last_write_checksum: sha1:c264be71a5d34fe1ffcd437acc7ca9eef0110dac + pristine_git_object: 6441f6beab352f5cdcf3feba256c55d20caa7399 docs/models/functionwindowid.md: id: 8cde9483d7bd - last_write_checksum: sha1:52c7173f143b418804c3845aa6ab92c2243cc4ca - pristine_git_object: 72390bf699be696856d6ea2eff1c02bd361a57a2 + last_write_checksum: sha1:5ba23e255432f31f8eecaed908bd65c38be52276 + pristine_git_object: ad61f5ef69735bbd34f0e031d6c81b7ad7d45a83 docs/models/functionxmlunroll.md: id: d522c526abb3 - last_write_checksum: sha1:8ab766d92b28c11c689cb2d3f1881a601c8ca069 - pristine_git_object: 57c6c120951d45afddc076a2ca2cede4fd0dad79 + last_write_checksum: sha1:2e44df6ce7ab4f66a9f74dc9573de8265479eae0 + pristine_git_object: 3268f14554ab4f53114f47d3ecdd477d17421978 docs/models/functionxmlunrollid.md: id: 9c018aead0b4 - last_write_checksum: sha1:095341f95b60f083f9b7e25b352ce763e99cdac1 - pristine_git_object: 6f846f3030a8b3b7b74e7440a60794053e2eb9f1 + last_write_checksum: sha1:48bc80cd39a360fd019ab0d567bb142ff56fe74e + pristine_git_object: 4ddc2e8be2aad3c013cbfff9abe57bd67c71a588 docs/models/gaugeupdate.md: id: 323f208999b4 last_write_checksum: sha1:b577ca0f1ebe187d44494c32bcec1379eb1e5ccc @@ -6506,6 +6534,10 @@ trackedFiles: id: 94c36486739d last_write_checksum: sha1:3af61124effd7f3c4290e5ca414a9443894b123a pristine_git_object: 714d851c4e983d03cff401ec61bfb92178620d70 + docs/models/getfunctionsrequest.md: + id: 26a9d83a3c00 + last_write_checksum: sha1:da1f77fe85849639857b815fe2855c8f916e73d4 + pristine_git_object: b040897f5f78e4fb582fbdf2ad8ac685b1646704 docs/models/getinputbyidrequest.md: id: 031d22739476 last_write_checksum: sha1:8c53cc975af684b36538ac2c43fe6ede9119f926 @@ -6604,12 +6636,12 @@ trackedFiles: pristine_git_object: 6a7cb90cd8e02fb85598190a24fd0a2c73a517e9 docs/models/getpacksbyidrequest.md: id: fc35391b8a45 - last_write_checksum: sha1:0fa5ae7cf5af231bf4ccaae241f01491bf728ede - pristine_git_object: 425e37db2badd59ac5b5320950e12d261e581a74 + last_write_checksum: sha1:c1c5b38c42176b1fac00f88d6841bdd21bb3e3d5 + pristine_git_object: ec86bf5763d50fb4d29db4ef8f5abfce4c9a80c5 docs/models/getpacksrequest.md: id: bc9cf6e4aa79 - last_write_checksum: sha1:a874fd94d2cbfb96aa67c06a8fdb0c1058b88600 - pristine_git_object: 3a046b2be7e2f3fe87a04e47fdf388fe3652ff13 + last_write_checksum: sha1:74c5d8486e23cb0dbb2078f680568ab4434a9a3b + pristine_git_object: 42744b48917599419da6940c86dbf17a441873fa docs/models/getpipelinesbyidrequest.md: id: 2771e2c2d5f8 last_write_checksum: sha1:402499c74a04a9315655fc7409ef74d33f8ea4cc @@ -6660,8 +6692,8 @@ trackedFiles: pristine_git_object: c52dbd3aa9af29a84bcb0f2245c4b4db6a7d8106 docs/models/getsavedjobrequest.md: id: 89a35447c626 - last_write_checksum: sha1:f1652d490d1012abc556e3e14478797f2e59248b - pristine_git_object: 1ef533464f71ce6bd1a966f72a844c09b410e9e0 + last_write_checksum: sha1:6211983d7b34b920f5a392fe991168290e88f034 + pristine_git_object: 0fbb2b698af754adb847032ba49cf2167dd83cfa docs/models/getversioncountrequest.md: id: 175cd7888f05 last_write_checksum: sha1:32a2b08b62601870f42ce1e4fa604a2f1c42361f @@ -7710,10 +7742,14 @@ trackedFiles: id: a1d90ef3f539 last_write_checksum: sha1:4f79f0475943d0b62b02c21cd285e306e29ce9ec pristine_git_object: b144d7d7ddebc784e0f9c97fd006fd53e746ec23 + docs/models/healthoverlaystatus.md: + id: 0175c8951c92 + last_write_checksum: sha1:f133beecdf3b3d06de5794139d2632bb64b72aab + pristine_git_object: 3e53c8cdeaecb9555148ae2a04c60c2034c6900a docs/models/healthserverstatus.md: id: 21caf27f9b33 - last_write_checksum: sha1:f32e5b3c60e910fb809c65780cd180ecfe963c34 - pristine_git_object: d33b3577d74220da403f91ec203aea239c2e5f01 + last_write_checksum: sha1:1cd75c96e6dd797a28c65fe85a6633ff7ea94f33 + pristine_git_object: 8f347a619dbabf1479c854869546fb9102a49354 docs/models/healthserverstatusstatus.md: id: cb806a3f5492 last_write_checksum: sha1:6139f93b14ebaf8631b3e1689af629bc5eed5a72 @@ -7756,8 +7792,8 @@ trackedFiles: pristine_git_object: bd5c8f436ab34b9e0ea769e7484d4790587e0da2 docs/models/inputanthropiccomplianceinput.md: id: 33587c9a3490 - last_write_checksum: sha1:a99afb9422b66958440c3cd3759330844e8723e2 - pristine_git_object: 23f8ad80ffc16fb3151e174ba0621eabfa827bc4 + last_write_checksum: sha1:3ce585791f7568ef602d31f833cba4dac29c9c61 + pristine_git_object: 0c45bd65c3ade3fcfe826ee9f0b2dbebcfa045a5 docs/models/inputanthropiccompliancemanagestate.md: id: 25a77b3001a0 last_write_checksum: sha1:47385ad7229321ed1f5e897ed864b27e7b13d1d3 @@ -7768,8 +7804,8 @@ trackedFiles: pristine_git_object: 614393c9b8efb3e2c271bba82d30fb43fa342abb docs/models/inputappleunifiedlogsinput.md: id: 1d6c3782f327 - last_write_checksum: sha1:7d93eee42aaf1a58384a6e47ac89c142df3a9346 - pristine_git_object: 58ebcc34f670674ec35efa7628312272396b9422 + last_write_checksum: sha1:3af2eccb4eaa889fea10324027e5ed41e90a8e94 + pristine_git_object: dd965058bd57f300930d08c249c5920cb747cf5f docs/models/inputappleunifiedlogsreadmode.md: id: 70474b797319 last_write_checksum: sha1:8c481c97779c624ec6d3cccd5340a150970eb23f @@ -7788,8 +7824,8 @@ trackedFiles: pristine_git_object: 1b57981e6cb64dde86b5efa553b1a3245956f29d docs/models/inputappscopeinput.md: id: 2f979e216bc2 - last_write_checksum: sha1:30a67abad0073d1f5521c4f689ca63415aa7cc13 - pristine_git_object: b5b26c0eec24fce140a3f2f66e5f8da6f803e300 + last_write_checksum: sha1:a0864d9439d1484c7a64003508532eca8e57ea33 + pristine_git_object: 2894e310b5ae06c394ca21a0958565e783823a64 docs/models/inputappscopepersistence.md: id: 410f50eb49e7 last_write_checksum: sha1:778d4def92aca9a5978e64cd8fd624a61470ff7b @@ -7804,28 +7840,28 @@ trackedFiles: pristine_git_object: cbabee7b024be4a376c532b15024052101c3bed2 docs/models/inputazureblobinput.md: id: 6ff67dac07e8 - last_write_checksum: sha1:4280943067e7a1a6e703271ec792677fad2a4425 - pristine_git_object: 6e50baaabf126a8d54e2dbc8f6e60c556ce908d7 + last_write_checksum: sha1:24886b65722065494ec4980c9c0d9e23e776d6c5 + pristine_git_object: 2057b8cabc604ad73cf778a87c2b249e406d5c7c docs/models/inputazureblobtype.md: id: 16d87f9d4938 last_write_checksum: sha1:e590f6ea362efd20953551ef2976d66c587895b5 pristine_git_object: 6bb6f049c2472804b3b5c63222b9ea5cfd5d1fe1 docs/models/inputcloudflarehecinput.md: id: 6e3c0dbd5424 - last_write_checksum: sha1:9a1940963a254880e4dc2b2e558dea519acba125 - pristine_git_object: 9c5d7754180af6d6d76ebfa8c5b7300f50cfaaf5 + last_write_checksum: sha1:ce1d423f7c66cbfbf9c530d4d91199bd26a61c59 + pristine_git_object: 1997ac94e59ee329ce0d109846826e155393deca docs/models/inputcloudflarehectlssettingsserverside.md: id: 51a2156c54d0 last_write_checksum: sha1:490ec7c623e4efee07071614ca71149f8cdc78a5 pristine_git_object: 008a3264ff21a53fd872cc3a056fef34dc69d260 docs/models/inputcloudflarehectype.md: id: 28a284e4088f - last_write_checksum: sha1:97b3ead5ca5da124c52b3f3315e34e9b772f08e0 - pristine_git_object: 44ef5020fe38b74971c90231474880a2ba7a4cbb + last_write_checksum: sha1:1c348d901dea47d259d0487665da930dbd3ce9ef + pristine_git_object: b68d8513732823a48f2766d0ac5424e54a344e07 docs/models/inputcollectioninput.md: id: 8cca9760ada7 - last_write_checksum: sha1:4b0a224e04b0f4bd2b1dce35e5d85c53263f7866 - pristine_git_object: d0a941bb691d14547f644ed968b38e3fe208cf1c + last_write_checksum: sha1:7636fd80e9df470d2e6b04917956380d71f34dbc + pristine_git_object: 1104f17c7b5f743d9abb3aa9ec3007d69b05c4cd docs/models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.md: id: 71a262a75df9 last_write_checksum: sha1:b8eede9d0f2dbf7e2b3fd69aa758e9497d9d8390 @@ -7836,24 +7872,24 @@ trackedFiles: pristine_git_object: 8d6f9d260d27454ba296ade8513be418ae4db279 docs/models/inputconfluentcloudinput.md: id: 2a69bbb1b1db - last_write_checksum: sha1:3e12b5e70dca6833c105b82a64198317d4ae05af - pristine_git_object: 6c2236ede340b474e01a596209f9a49f9308acb1 + last_write_checksum: sha1:c0ab8ff24214bae6137f46aad2ee793fd0fcf5ab + pristine_git_object: 4f6570b51fd871ff36ffa8338b5dc0344d153fa6 docs/models/inputconfluentcloudtype.md: id: 59d53de21492 last_write_checksum: sha1:0ab26a9123222e4edddee7a50281b070a604e3cb pristine_git_object: f810bd59817270560ea4f96fe0da22fa9884bc92 docs/models/inputcriblhttpinput.md: id: fda26cf63246 - last_write_checksum: sha1:1b5d70ff4c0c487b563ae5064e047a494ad84c51 - pristine_git_object: 1d9ddbe611d27efe5c2ed3d7fa7d4e42b2d3676f + last_write_checksum: sha1:326d3e11385255bab9a118a5319e51d20ecacef0 + pristine_git_object: 1de89b30b493bd3c377647e64ffcffe4bfdb0cbe docs/models/inputcriblhttptype.md: id: af5dcd5b13d5 - last_write_checksum: sha1:a3da4da5ffee5241bed647da0db25000ef7ac072 - pristine_git_object: 9cb4afa209045d14e3b7f07761a960a69a331f03 + last_write_checksum: sha1:c8fc0bbef36b0de05358165ed6b7b321e87a6142 + pristine_git_object: 2e252423f253de73f4971d346c667e9c4a4c7127 docs/models/inputcriblinput.md: id: 24e9fcc0e205 - last_write_checksum: sha1:c7c1e54f0bc97e9672b32d7e7871658de5bff4a1 - pristine_git_object: d22ced80444bf68105124a273d9287f392c4e07b + last_write_checksum: sha1:10182da38cdb8f15181fdb16fff452781cdd26a9 + pristine_git_object: a846a9103c4ace4575ddfdb9d654383e45d5979a docs/models/inputcribllakehttpauthtokensext.md: id: cc455c331f77 last_write_checksum: sha1:ea84bde44cba0140482d5c78876e210f9c3a4a66 @@ -7864,28 +7900,28 @@ trackedFiles: pristine_git_object: 6666d1a60554c8bd3d94fa489563b77654317d53 docs/models/inputcribllakehttpinput.md: id: 8f9468fd15c2 - last_write_checksum: sha1:a55939dcdc5328d14eb3187b65d662b609d21f8d - pristine_git_object: 77c69ea25f4019cdf95665683ad33b24ceee2212 + last_write_checksum: sha1:d58c7c6532e3a049c46f2b7a3f233aff9e3ee217 + pristine_git_object: 72a27b9b48d3610e311470a5dc2d568610355635 docs/models/inputcribllakehttpsplunkhecmetadata.md: id: 62d80d384005 last_write_checksum: sha1:d572dc79d2f07da7c00d7a579fa2ef2abcb60ebd pristine_git_object: 0d81305feb130d0b17b265a532e9a7ad5c6219d5 docs/models/inputcribllakehttptype.md: id: ce31cdc6eaf1 - last_write_checksum: sha1:734ea7a1476acddc31cfc4f080120ac0c90f0745 - pristine_git_object: 9b4c4b1455e82f4dec338683af4cff18c9c9fab3 + last_write_checksum: sha1:76c7b86887af9ccdfe1e87f6cb79cc1db7c64dff + pristine_git_object: ccfa79a444576cae4eec0beb6d4dfb9e58566033 docs/models/inputcriblmetricsinput.md: id: 4fefd958c008 - last_write_checksum: sha1:7ba3b20f0e307f281c63e3b4871cc1f2ef4b9124 - pristine_git_object: 8c0cdcd2eb61e1c0c69de3e71d9104347d418fd0 + last_write_checksum: sha1:5d976157a39838462a1f09a6b408871fb8396563 + pristine_git_object: 04dd6d5e194ce1dab0fbed9796a055a44c004a09 docs/models/inputcriblmetricstype.md: id: 9be90cedbc59 last_write_checksum: sha1:faa35c7a928efded63bfd8e0b6293f7d143a99e5 pristine_git_object: de13fed0a38f06597282904386f59baac6e85578 docs/models/inputcribltcpinput.md: id: 8df1fdec937d - last_write_checksum: sha1:dac2bbd7dc1f2e5830a496fe6797082f420efca5 - pristine_git_object: 2fce0b3964efdfda25d40cbdb3aaf220ec72fe01 + last_write_checksum: sha1:9421fc017528fa49e51f1095df3647f5e6a146a1 + pristine_git_object: d8957b939b6126c9245517ab92961a9e31ed968b docs/models/inputcribltcptype.md: id: 6d1979607230 last_write_checksum: sha1:0b899709eeeb3a210d6267b9d40435eb0a106a1e @@ -7896,28 +7932,28 @@ trackedFiles: pristine_git_object: ee2a6778fa05bf31dc688c2768104077394c3a98 docs/models/inputcrowdstrikeinput.md: id: 62b38c7f42a1 - last_write_checksum: sha1:b026ee5869cf857a9dd5dd271594cfd077d79daf - pristine_git_object: 99dc49631a9f5cd53a899167e4d1cc5137e4817e + last_write_checksum: sha1:cbcabbb079496411003714fd4cebddedf9b24588 + pristine_git_object: 87ae3c581704aea96a1795d45c1f7d17463a4ede docs/models/inputcrowdstriketype.md: id: bad335441da3 last_write_checksum: sha1:bd452767854465d445c1b2c8b2a191cde936cbca pristine_git_object: 7d5bd7df94af00c3dfd5f70a721cc9f1c3ec885c docs/models/inputdatadogagentinput.md: id: ab3c5e06d4b3 - last_write_checksum: sha1:39882e8b02a618ea742539d5edd744c06e0171b0 - pristine_git_object: 52b23b143d145c4a826a5bb8246d216c663d7a67 + last_write_checksum: sha1:14cc5528c75eb1200e7322ca3c71392b93cd96fd + pristine_git_object: da47b0d2fd580867b5fe98b9afe859f8cf2149cf docs/models/inputdatadogagentproxymode.md: id: 07d25841d4e5 last_write_checksum: sha1:c2583127fb7e8cdd07b318cce4d4e38eb65b5539 pristine_git_object: 401b8b8a583f81adc29b7231fb70b16789ce17f4 docs/models/inputdatadogagenttype.md: id: da29df82a6d6 - last_write_checksum: sha1:aa2eb8f10d332eeebd2bdd992bc1d5f960856395 - pristine_git_object: ed12795ab99fd3181c3d106eabcfd2b21a1854e7 + last_write_checksum: sha1:96921b0885a911efc3ad82cb5dfc91396714a185 + pristine_git_object: 9273a35d25415cb99e133946393a0a7fce579984 docs/models/inputdatageninput.md: id: a810513480c7 - last_write_checksum: sha1:447c5304f9f98a883c214bfb304c3556bbd94bb3 - pristine_git_object: 18a51597d5f1939b1427fcbdbc8346590c381784 + last_write_checksum: sha1:d3622ea1efe6e7f077c86790345d9fa7671ad80e + pristine_git_object: 594d85f2da4bcd40020562818a1a253252578526 docs/models/inputdatagensample.md: id: b7c11300fcaf last_write_checksum: sha1:a5cbe8464446e8462fca795749a4457951fbf989 @@ -7936,8 +7972,8 @@ trackedFiles: pristine_git_object: 0368a8aef054eeb2f7a910e9e6f1fbbc37bda61f docs/models/inputedgeprometheusinput.md: id: 532b9c1cd201 - last_write_checksum: sha1:55b8fcf304cc22c4c4f81a4a79dd1c9c90f8c4a2 - pristine_git_object: 7a718dcd438b22aa1f3941fbbf0092d0d12e49e2 + last_write_checksum: sha1:86178bb4f657dd1d3b3e6132dc23c4692491c7f0 + pristine_git_object: 7ed6e466b7e7bf5f2b92ab20ae5fa587e18c4d5b docs/models/inputedgeprometheuspodfilter.md: id: 6b7225d99d45 last_write_checksum: sha1:a031f2397798c1f41f621e9ff07ab2f0ed29768e @@ -7964,16 +8000,16 @@ trackedFiles: pristine_git_object: db4d050ba21078fb737ef3aeb6c6e5a800969ac8 docs/models/inputelasticinput.md: id: 7ebd88dbfe8a - last_write_checksum: sha1:f733221e055ba9ed924ab82cad5c4d76f81579b8 - pristine_git_object: 24485b06ee39e0fcce1bfde26ff83e6b6780fffd + last_write_checksum: sha1:b7f48c15df95a75252a8e01335abafa13966799b + pristine_git_object: 2690c6ac52bbea24a3f6c96f5c85c6d0097f22dd docs/models/inputelasticproxymode.md: id: d47e7bfb1218 last_write_checksum: sha1:2bb0291278f054a58c945131cffefcea7db2c681 pristine_git_object: 9c457f981dfb19219feb73aecc97c99306e1e16a docs/models/inputelastictype.md: id: 20c0e9008d59 - last_write_checksum: sha1:18d00af46885d78226b64b336f37d68479f05777 - pristine_git_object: 3a51c7ff6974dd0bc777abcd5a8cd37091221a2d + last_write_checksum: sha1:709d15f27036dd5615226643097fe93e017ea66d + pristine_git_object: 3be20b06d5326b26d85f472626d184c89a156ff9 docs/models/inputeventhubamqpauth.md: id: 57569cdf2236 last_write_checksum: sha1:c7d86cc3a8c2e100dea3c66d0725e91f8ef54874 @@ -8000,32 +8036,32 @@ trackedFiles: pristine_git_object: 7d11f8064ba257f5320eeb5402f2a8e372f39560 docs/models/inputeventhubamqpinput.md: id: 05f9b477cc80 - last_write_checksum: sha1:4199bcf266e05d5cfe612420b1ac14acb96e7486 - pristine_git_object: 165974177ba9d69b18adce5f26ba4d9e20df7450 + last_write_checksum: sha1:b56aa103abb238766466d62eb871024c7331baaf + pristine_git_object: e09ec1042d9f2632b85887ac3842bb89475e3f9c docs/models/inputeventhubamqptype.md: id: cf107be610a2 last_write_checksum: sha1:b08df0497ddcc31bd610d8a0b82d0b9bd69428c5 pristine_git_object: 7423eb69820cc0771af535a28a2e239223c44aba docs/models/inputeventhubinput.md: id: 3be64a1725d7 - last_write_checksum: sha1:1c237595a75177a1fa39aa57e20761bddc0f028e - pristine_git_object: 1f103e96f2ce3dc71f3c4f65dd6af486504e1cc5 + last_write_checksum: sha1:4462a667dc223c747a8e06d6c8329df3dfa2da7b + pristine_git_object: de355ff8272cdec1619ec97de832a60f19cd7082 docs/models/inputeventhubtype.md: id: 76529426ef7d last_write_checksum: sha1:e00d26c28c618ea2d020b730fb5721fac4d70deb pristine_git_object: 98764ba8849955beec522a61446d150b2ed77bdd docs/models/inputexecinput.md: id: cacdc6ae000d - last_write_checksum: sha1:773afc7ccfa26c0919f1b6cebce411e9dd40fab9 - pristine_git_object: f9fc59f3af21134f5d3193626644e2e1f65109d2 + last_write_checksum: sha1:82cd9de3576f57b11c7fbfabac40b9b6bc8e2795 + pristine_git_object: e94861872f4d52326debac2816896009287b31ee docs/models/inputexectype.md: id: eb13657e96be last_write_checksum: sha1:58deb9895f16d7c5fc2e4cce38711812d8363e87 pristine_git_object: f377c84b7387b55f4b30e7562b78f622ade713a6 docs/models/inputfileinput.md: id: 1fe11e6927d4 - last_write_checksum: sha1:cf66c30afcd6f9bb6654f2e13461f438f75d32ca - pristine_git_object: a2ef7bed5b36eb3029576ebd98e62917ef606251 + last_write_checksum: sha1:3cc73973d7c13b7e71ac1cc0ea15efc93de19913 + pristine_git_object: f89b1d7c53817605f4f6d4dd02958d6b52a563d0 docs/models/inputfilemode.md: id: d57aa21dc987 last_write_checksum: sha1:4b67e129eefa7ae229a5c2f6ee805ad9dbc76329 @@ -8036,60 +8072,60 @@ trackedFiles: pristine_git_object: 1d2d16981ebcd122f009e010f6f75b7d98c949b3 docs/models/inputfirehoseinput.md: id: 70d17ae5d83c - last_write_checksum: sha1:ad9eea41af91a842c8be65373ae16768aae3457e - pristine_git_object: 36929a96ebdb173f8933346ec2fe6690a5a3c67b + last_write_checksum: sha1:d25d6222c6ce22a34cbfbf3e64f0e8d0683839d8 + pristine_git_object: 4427396404846a2edb098afed43d9b160504d6af docs/models/inputfirehosetype.md: id: a46e38fd714e - last_write_checksum: sha1:0d12a06d41944013164558f23fc4c578e5d15004 - pristine_git_object: 5e920daae92f176594d424a266ee40931ad6ac5e + last_write_checksum: sha1:68b40f80924f8e80055e3a0cdbdf1a6d9df92520 + pristine_git_object: 1a7ea2ca8c60bfdacface10c067171d600741b29 docs/models/inputgooglepubsubinput.md: id: de694b149bfe - last_write_checksum: sha1:5e9ce542bfc50593dbcf73b515c3d47170c9a929 - pristine_git_object: d6f5f56d28562064522dd409b73c6b33136a4568 + last_write_checksum: sha1:46608dff4c8c04cc0cf125d61d608af322361da9 + pristine_git_object: e54ab8bdccc4dda16ff1aa36ca3ec92a57e1941a docs/models/inputgooglepubsubtype.md: id: 1ce303f83bf4 last_write_checksum: sha1:e41fa1e96b8c83e91923d8bbb5a1b6f88577bbd2 pristine_git_object: aaccb2cc13c8592aa0bc1d289f1d067fd466cdf0 docs/models/inputgrafanagrafanainput1.md: id: 5f74d15e39fa - last_write_checksum: sha1:2c48b47d3c280d3a04883914d071344ae167d982 - pristine_git_object: e532c6e88f78c98ffb192e0418c134c17c5c3610 + last_write_checksum: sha1:a7b9491a19245200aa465c8822edc31f36c81d67 + pristine_git_object: 16e457a96446ddcff487feed07b30009f9081a67 docs/models/inputgrafanagrafanainput2.md: id: e66501931694 - last_write_checksum: sha1:b41c083bd5fe094acedfae5802bfabd1d73dce8a - pristine_git_object: cf5e1581b257921b8fdaecb753e0c490890abc88 + last_write_checksum: sha1:bd00408d37a7c1b37f89e354083a2337188f3093 + pristine_git_object: 41eb9bae54bcf33c2b83bd03e7bcf9363d52ad4d docs/models/inputgrafanainputunion.md: id: 20bb8a864952 last_write_checksum: sha1:c43f8410cd742e12f06c7e4f2144409a60499a61 pristine_git_object: 239a3937ee1a1c08f9c6c79ebc21c672e1f893ec docs/models/inputgrafanatype1.md: id: 4e284fac50d2 - last_write_checksum: sha1:26f53b44f3751555a2409d018d75b1381d4e2d1d - pristine_git_object: a84f14abe37b1774055e3c6f9eae090191f95939 + last_write_checksum: sha1:fe18583336067643b2087bd67ee23eb22a4216ce + pristine_git_object: 863165ea78769bde1afa717c7193fdb16e7f1f74 docs/models/inputgrafanatype2.md: id: 69f4c940fc97 - last_write_checksum: sha1:b46975aecffd70f9cb25b506031157b03274b5e3 - pristine_git_object: 08fd4accb5a0588b3ef6e4554141a25d4f206b28 + last_write_checksum: sha1:9811983ec68833344df49809773b118a7ba5f95e + pristine_git_object: d361852cb9888722f37e95b89115091d542db823 docs/models/inputhttpinput.md: id: 454ef286b5bc - last_write_checksum: sha1:73ded3507dc2b0c26488bf5dd42c284d7df9355b - pristine_git_object: 3471866f32a64398ade3077edf642d72944bb229 + last_write_checksum: sha1:652279216ded38957360e52bc3167ac23d77b03f + pristine_git_object: 31f706b41991b550fb69a1b5801d9d73658fa82d docs/models/inputhttprawinput.md: id: fc6719a95b7c - last_write_checksum: sha1:88d7a7a104925209f6cbf5e6f16bf07afc62110d - pristine_git_object: 89294e1315bd6b7497bf797c5c5bf3fdd045f07f + last_write_checksum: sha1:f03a5d908b8119acddd80c3d7abaa3d1c84de40b + pristine_git_object: 476f8bf24e788be2510d643f4292d9bc9ac5787c docs/models/inputhttprawtype.md: id: 2e3dd2aba35c - last_write_checksum: sha1:02ae6a52c7c19e47e8e17bdb49a2793f13324ebe - pristine_git_object: 7c4d4b21f7693e15aff3a25d478acfcc8541bfb5 + last_write_checksum: sha1:d4d523aaaf52aba86ee070e9424839789436f887 + pristine_git_object: 37325f7f575c4ca41998b246226a6c280a73d56f docs/models/inputhttptype.md: id: 7cb5f5dbc496 - last_write_checksum: sha1:7650f16f60c58d99dfe7ababb6fb9299e6fe665a - pristine_git_object: 2a155ff383eca5095c3961ba3af87c1049250bce + last_write_checksum: sha1:41cd0c5a54dbcc22749016e1ba04a3c74d0fcedf + pristine_git_object: 5ab7bec3062f9d51b68a7c9c6517e025823f0cdf docs/models/inputjournalfilesinput.md: id: 922e7794863c - last_write_checksum: sha1:70e9dcc58ea44258cf960f59167b4818e5e86e83 - pristine_git_object: bca6c02eb03921161cdc4d91ee94fb1f138da127 + last_write_checksum: sha1:e84831b043033487ae1fbd410ff5799fa310e008 + pristine_git_object: 9e108d675ead28a37ad2b0c37328ea1d4c3453dc docs/models/inputjournalfilesrule.md: id: 75f064d697eb last_write_checksum: sha1:d01ecb9eacb475daf103ad233a6dc4a4bb03aa22 @@ -8100,16 +8136,16 @@ trackedFiles: pristine_git_object: de033752262381f36b7f2e26b43ab08475a1b8d9 docs/models/inputkafkainput.md: id: 4a5a2acfffba - last_write_checksum: sha1:c223366d1bc27c8870b806567857be4a5a98b8ef - pristine_git_object: 75e3f6717d97fb71f9d1bfd47c66f52d65f13660 + last_write_checksum: sha1:d424ecd60e5e73a6ce284735e35cb0b8f4dcb975 + pristine_git_object: a5a0dfb890ba7c8f9cfbd7ea277ce9f30d2e279c docs/models/inputkafkatype.md: id: e3bf1cfa128d last_write_checksum: sha1:c8f9c2f33e632ea9e929ce80f7e335ff05358321 pristine_git_object: 6a7250570014e571394489eac225482d420470a2 docs/models/inputkinesisinput.md: id: 124fe273b477 - last_write_checksum: sha1:a42bf32ac28c25d74bb5069e97e8b1547f3b097c - pristine_git_object: f5fec314c94e6d3ba37f93db63fb1a2f440e573f + last_write_checksum: sha1:4800789ac9ab19a571903aa420a7e310b2841565 + pristine_git_object: 3dd3a41c2f26b4005ea55b8e18628ae3915695f7 docs/models/inputkinesisrecorddataformat.md: id: "922105758834" last_write_checksum: sha1:fa6825d2ed119ba2edd5af76a5fe97208a4a3d4c @@ -8128,16 +8164,16 @@ trackedFiles: pristine_git_object: 3d9e5ae81c9eec14348f87958bd35d08ce03b90c docs/models/inputkubeeventsinput.md: id: 2bfb59d442bf - last_write_checksum: sha1:1f4d8273dd17e67fcfb1095c6ebdb9c84b56cc94 - pristine_git_object: e30d34883be98a5051606fdecfd4226ce52bdf45 + last_write_checksum: sha1:4962e0be21940c92fc39e0a71e35e89c6e5101e4 + pristine_git_object: eac1ccc4300aa85031e6ec9cee9a79fd34da4e76 docs/models/inputkubeeventstype.md: id: a483764b8a74 last_write_checksum: sha1:6eaba04c086170af83dc4d53347266d2981f989b pristine_git_object: ce63aa836ddf4cccdbfecce6f04af01e6024c94d docs/models/inputkubelogsinput.md: id: 4efc9fb46237 - last_write_checksum: sha1:4bf935926a045830ad625814426d26acb19e7627 - pristine_git_object: c28e4d5440b6c3535278a5202f9f0370ab5c3135 + last_write_checksum: sha1:655a8c701a880b0c2016db6da931eebbea867767 + pristine_git_object: 93071e37ac0880216807c445591232102aeec9ac docs/models/inputkubelogsrule.md: id: ff4047ed4d05 last_write_checksum: sha1:5929ac6dc36176627a16a53e3fd1ca2850d8f1c5 @@ -8148,8 +8184,8 @@ trackedFiles: pristine_git_object: 56cadc0eb218364af6592544a2e08dcfcfe279bc docs/models/inputkubemetricsinput.md: id: d3cfe34c5ce9 - last_write_checksum: sha1:e4123b15a8bbfe10ed49df7bc83137feeca553f4 - pristine_git_object: b6f81545f875e7f0c35babcfdd14dcb6c770e649 + last_write_checksum: sha1:a438458533ad044809c43e14460fa6209eca1bba + pristine_git_object: 1f5ae8d3413c0eadfa49d5d19cdee674135f454e docs/models/inputkubemetricspersistence.md: id: c8357e51932a last_write_checksum: sha1:40282868e141dc02e798c3ed3c59142c7f369aca @@ -8160,16 +8196,16 @@ trackedFiles: pristine_git_object: 8862f17982bb76f0972a161fa32f619cf842f347 docs/models/inputlokiinput.md: id: c32177b62879 - last_write_checksum: sha1:7bf8af9eec3214c45192a4b76f655cfb06e4dad6 - pristine_git_object: 72b2a3f6604393ca2a46157ad2cb7c9a4694e91f + last_write_checksum: sha1:bbd0af7336a30d32d2b4a1bde9c0d5a3fb8aebb5 + pristine_git_object: 8ee1c477fcfccf41ee27f712627faf1f728e80b5 docs/models/inputlokitype.md: id: 035b5467ffd6 - last_write_checksum: sha1:5ee7ba149e677796a036a6f4d484fd9b1d1996fa - pristine_git_object: a43ffadcdd43966ca1ec66011d5cd8690635ac08 + last_write_checksum: sha1:45aa447951dbd2294fb39352f1e45b0f2fd60255 + pristine_git_object: 19cb67ee1d16d7d80b5c30d084de9e5d6865f509 docs/models/inputmetricsinput.md: id: cfb5b4ac98af - last_write_checksum: sha1:890e793cf140d29644088bce2fe1225e74aaeb41 - pristine_git_object: 89addb61a88f3054a78bfdc3d3002998a8609473 + last_write_checksum: sha1:9e1552aaf58f50edbe5396568881cb12852a580d + pristine_git_object: 8dac233b6ee9b9f9824831cd83092ed7c9f3d49f docs/models/inputmetricstype.md: id: f5c06f1eaa3e last_write_checksum: sha1:595f3df10a5414016ac334c80f6c03ab0d53529a @@ -8180,8 +8216,8 @@ trackedFiles: pristine_git_object: 572e35b7dfa36a304de506eccf5b11d3c6b3921f docs/models/inputmicrosoftgraphinput.md: id: 5bc2172360f5 - last_write_checksum: sha1:75e214b45c2ae6135442a1598c5a84b638848541 - pristine_git_object: a8ff13e9541eebee3f234e9278a34f798d1b9764 + last_write_checksum: sha1:c2c8fa13da038b41a416e752a95b5afa25ddf117 + pristine_git_object: 6ed81d7d6e15712563d2e50ea1f3cef08801f74d docs/models/inputmicrosoftgraphsubscriptionplan.md: id: 96f4525585dc last_write_checksum: sha1:cd35a4c0e17d74fb0e163a0f6a13277e6df57b42 @@ -8192,24 +8228,24 @@ trackedFiles: pristine_git_object: dac3b1d500456e0e3554346360be578b8e68968a docs/models/inputmodeldriventelemetryinput.md: id: a07a4520f563 - last_write_checksum: sha1:2f61955ed9b0cc31533a35a640e92ff7f7f19bed - pristine_git_object: eef32f3df0ff9b790527b3e0a6f2b20962361cd0 + last_write_checksum: sha1:6315a7045550c2e1bb8a23549a3dcb8d0608e613 + pristine_git_object: 1feb68318b9f8bf7eda4bb98bc94009943876cef docs/models/inputmodeldriventelemetrytype.md: id: 2b222bb926ac last_write_checksum: sha1:663742c6843b8cad42b0fbc63e8f0e3e828fe668 pristine_git_object: c57f19fe01c9b21ff6d98ea76d3b0322049285a7 docs/models/inputmskinput.md: id: b3731009559c - last_write_checksum: sha1:c9119254d77aa06a2bfa32fbd078eadf7af72776 - pristine_git_object: b69915992583d8ab6dd9b351b467eca0e99db9f7 + last_write_checksum: sha1:5b3df49b831a5c9eef4c25489eb6f3c24361641d + pristine_git_object: 55d8b679ace356844a3093d702198a8904d93f4a docs/models/inputmsktype.md: id: d726422d829d last_write_checksum: sha1:9d89626e214c038ff59b9cffcc6df8a7e7e57ffd pristine_git_object: a3b092e86b20cdaca8c163fc672ef1eb7569baa4 docs/models/inputnetflowinput.md: id: 600d014d4367 - last_write_checksum: sha1:47c69203409b8385a2c272aea09435c8b14eeb76 - pristine_git_object: a26353cc0763db40bb23f9a9472f3cc6be96a169 + last_write_checksum: sha1:923c8b78469e978ca4704b8cb50e43d102cb96f9 + pristine_git_object: b674e108935d43dcadc79a4cf70164d29b25612a docs/models/inputnetflowtype.md: id: 4e4202ce9c3a last_write_checksum: sha1:7948c3d0e15d22ac8e11855745c25f6d29512df9 @@ -8220,8 +8256,8 @@ trackedFiles: pristine_git_object: fd9ffd65deb4353d7d92c290f7c350b82f5dca3c docs/models/inputoffice365mgmtinput.md: id: c29e2a6b828d - last_write_checksum: sha1:470bd98cdd2543c7e486fcd1e899ba56a9e8d5cc - pristine_git_object: a1fe731b2ef645da5a819234529da4527389addd + last_write_checksum: sha1:d942470de257c05ff0958fe4a715041133be5cf0 + pristine_git_object: b6e8ae08b7f5985c1cf2e0fa4bc11de192ee5a53 docs/models/inputoffice365mgmttype.md: id: ba3c917ec61e last_write_checksum: sha1:556d23b03a0f1374ad90b00538678b0b73a11a21 @@ -8232,8 +8268,8 @@ trackedFiles: pristine_git_object: d8a8a84c85955ba7b7c6e445dcbfa415e51b5628 docs/models/inputoffice365msgtraceinput.md: id: 24e9250590e0 - last_write_checksum: sha1:c8c417aaf49abb61aca249275d134afa9bc09d76 - pristine_git_object: 5219de6354854b891d61ff945b411362633a8f65 + last_write_checksum: sha1:61d1f47acc1bf2a536202594aa107f90033e8b7c + pristine_git_object: 8694c2bfe95506141d2aa2127a7bed04e3763ab9 docs/models/inputoffice365msgtracetype.md: id: 431fc6a6df7e last_write_checksum: sha1:f2779e1e252116eb6898dfc15dd88c92661ee7ca @@ -8244,16 +8280,16 @@ trackedFiles: pristine_git_object: c206cc39cfb4e061736934d387e2b9e0963330f3 docs/models/inputoffice365serviceinput.md: id: 05b4bb670221 - last_write_checksum: sha1:30d7de5ac9e67e8d1a9d4bec4ca18669705ac0c7 - pristine_git_object: df3a52bb187fcaea27a93299c6ccec788ae6cc46 + last_write_checksum: sha1:bec5f9758f4d2ce36355b4b80abfd109c4eb9fe8 + pristine_git_object: 76d34caeed8ac7de668838ccc9e77e0ce9ac6ed4 docs/models/inputoffice365servicetype.md: id: 01dbdf120206 last_write_checksum: sha1:d9dd253be3cd67a59c9149707d7f88e21c9bd38c pristine_git_object: d34834a3b26133643e546ccf6c68ee85f04c2fc7 docs/models/inputoktainput.md: id: d14463ffe30a - last_write_checksum: sha1:da015d764343e71a46a1a6050e2a08c66ed2771d - pristine_git_object: 2266f45c0a8b90827f0b36be988a7c06d116da7d + last_write_checksum: sha1:b8f61d07318fba40b60e336c7293566655871f41 + pristine_git_object: 1c1378f8e7a3b6f3fda34622925f298e459d9643 docs/models/inputoktatype.md: id: 23e8f5355344 last_write_checksum: sha1:e71f6375a240052fdca9ea147efdc1fe26fcb328 @@ -8264,8 +8300,8 @@ trackedFiles: pristine_git_object: 535ca52936995682c4a3d95f08a78496797d3f57 docs/models/inputopenaicompliancelogsinput.md: id: 86a775045d31 - last_write_checksum: sha1:b6258cbd034c32b5fbfcee4146b6ae7128eac199 - pristine_git_object: 79e7078b67a610610f49b5a757467bba3450ca1a + last_write_checksum: sha1:6a299ba25fe9f8a854c5c1babeda095a1574ad22 + pristine_git_object: 2918d1fd8f2581e15c66bab873d20a554f560fe4 docs/models/inputopenaicompliancelogsmanagestate.md: id: 88221963df05 last_write_checksum: sha1:772782ab715bbce00e5e7cfce8db19f2eda9bf98 @@ -8280,8 +8316,8 @@ trackedFiles: pristine_git_object: 646224125fb2d8a798f442bf7cb91e1d1b8364cf docs/models/inputopenaiinput.md: id: 88eba12c551e - last_write_checksum: sha1:3c34b75f501bc638d9c40e710b5aee8f40b81498 - pristine_git_object: bf97a446aeb22fe5a20a061b18be344a7db421b8 + last_write_checksum: sha1:81f87d505d4b919539b5c5ea1cf4eb9468bb3120 + pristine_git_object: e31f925983e75b58486b28febd137d7edd047dbc docs/models/inputopenailoglevel.md: id: b4e7a3c35684 last_write_checksum: sha1:cd05856df926238d54911ed9e0187a34854f6835 @@ -8312,8 +8348,8 @@ trackedFiles: pristine_git_object: 280c8781dff6f3a0b42d6e5309394597785a4623 docs/models/inputopentelemetryinput.md: id: 560be1f89cb2 - last_write_checksum: sha1:3f926966bb40937e3309c934dd958b670e50d8b9 - pristine_git_object: f61da838202c5e1e97a3db406560aede813113c0 + last_write_checksum: sha1:a96b6f99611bee949e2784481e0d328ea6783d55 + pristine_git_object: ca8fc9c8688aa3378c8b794c2a6d1d21fdb9b9d6 docs/models/inputopentelemetryotlpversion.md: id: 552338309ce7 last_write_checksum: sha1:550096d0ae1480f3d0b662538fa05e4cf142a81f @@ -8324,36 +8360,36 @@ trackedFiles: pristine_git_object: 9bb5f5c5dd90db86b157e4526441519a426a320a docs/models/inputopentelemetrytype.md: id: 33adad65556e - last_write_checksum: sha1:7c5e59b2a9d028b05cb000043fdc6975a3c90004 - pristine_git_object: d7b69c56e388736743c891d0d2806ee8fed61d22 + last_write_checksum: sha1:2bfa7c85e929e62ac741fdc0401215f90a09b237 + pristine_git_object: 54f478db25e7a3284d0fc36268a80356aef148c3 docs/models/inputprometheusdiscoverytype.md: id: bf99132228e2 last_write_checksum: sha1:92189771a95de601387aeb4f285f41a2e58a2da5 pristine_git_object: 8daa9348ab042b738cc2c6109b2e1d58dcb40d4e docs/models/inputprometheusinput.md: id: 6e6c8c002a88 - last_write_checksum: sha1:8771fc2d52b5a7a1ad1d1b8ca994072940167a04 - pristine_git_object: 76e9ce9875f2950ff3201d0d220383ff5e03ddf9 + last_write_checksum: sha1:6b2b95630da0f6dd5607ef8f4329c53b65eea4f4 + pristine_git_object: be37683cf7ebfd3a7964d1e783ae2269e7e894ff docs/models/inputprometheusmetricsprotocol.md: id: 0baf5f016581 last_write_checksum: sha1:e9b0955d7bb204efda0f8a1e16e72bea1cc62186 pristine_git_object: 2ce9e30d6b552dd0b2e52778ec89c0a1165c4d7f docs/models/inputprometheusrwinput.md: id: 6388fb2fffd9 - last_write_checksum: sha1:82fc3464ff7a1fc1a32cc8679e0b4321378c6daa - pristine_git_object: b7954593758ac602d0c87334f5326c42bcdda139 + last_write_checksum: sha1:0a0032e92ad528d959161a429846c9db62f77f58 + pristine_git_object: 0c1bb989037bec8dd0a4b1d063107565604e1159 docs/models/inputprometheusrwtype.md: id: f1d8f5b388b9 - last_write_checksum: sha1:4d92411af12340935ab04bb1907dd46299b5fbb2 - pristine_git_object: 1cb246e7ac8e2e86a16ada7c338ba982e18a3b2c + last_write_checksum: sha1:0d1a4e2bb901eb564f5fc824183afcaf49afe0b2 + pristine_git_object: fe1895910137908431f8384c6b14a9d09d2dc410 docs/models/inputprometheustype.md: id: d27f30c3423f last_write_checksum: sha1:4ecde56a9fa1781fc747412f70d91559d9601f68 pristine_git_object: f0b819059a3026b89122139baf11c41d9b638ff8 docs/models/inputrawudpinput.md: id: 881eec3dc394 - last_write_checksum: sha1:24d99d8aae84069aa2ed0dca7b596b21af860511 - pristine_git_object: 972bb28047cb65baa860f61922d2b8c7d064ed37 + last_write_checksum: sha1:2177dbf4a521491063386f09c5d4f01269165be5 + pristine_git_object: a2b0149e34d320b1a1421594ce9c31d8a57d03d8 docs/models/inputrawudptype.md: id: 10e225997d0b last_write_checksum: sha1:58ce413f2b9b03555edb7d6e25b8fd294e68e392 @@ -8440,8 +8476,8 @@ trackedFiles: pristine_git_object: cc570ef38282325651b9a3a6dad786fdee088c23 docs/models/inputresponseauthtokensplunkhec.md: id: 36be83fc0976 - last_write_checksum: sha1:46a6c9d99214a2c1c006cf304735999b1bc8aae9 - pristine_git_object: fc2da5187693d6a3dc9b38c2d9a896d796beef77 + last_write_checksum: sha1:bc18900b788021bf066a283353e082d4aa411917 + pristine_git_object: dffc2483eeeac4421371140677085a417aa9b5bc docs/models/inputresponseauthtokenzscalerhec.md: id: 6ab330cc86fe last_write_checksum: sha1:42ec2fb27d78726c93562b048e2e8cb0adbc6516 @@ -8604,92 +8640,92 @@ trackedFiles: pristine_git_object: 2ac7c07cdc9d396bf48a475931e941ef3c424b8d docs/models/inputresponseinputanthropiccompliance.md: id: 5b4a209a7a4a - last_write_checksum: sha1:e4539b1657291ccfcecdba3094c2acee8debc990 - pristine_git_object: b397e44cbe77fff4bf2123f2b9a8619b798765f8 + last_write_checksum: sha1:4414cd61216aebcc202d11ceb68b9853327eeefa + pristine_git_object: 526ab425c9ff0b80744041b8c577bd9fd393b9e0 docs/models/inputresponseinputappleunifiedlogs.md: id: 690bee993e0e - last_write_checksum: sha1:6b254e442645ad75cf8e3782ecfd52e5ff2f711a - pristine_git_object: 309dcd311dc8287ad3f763612b6680b24a537998 + last_write_checksum: sha1:495664a932c0bed1deb357ff3669149633537f9a + pristine_git_object: cdfed01f28d0723d5ed137a4f71e7295b00b28c0 docs/models/inputresponseinputappscope.md: id: 93ac1b08a7ac - last_write_checksum: sha1:ef9b8c2702d8fe96eb38a4e6687f22b1689e6a63 - pristine_git_object: fe03f671d7340c32a310aaeb4b1f2030f8e5235d + last_write_checksum: sha1:6574a19c7a9171f662190d3950ce9285692aa406 + pristine_git_object: a6c207d66f18524047e206d0756c1ba6cb2e5087 docs/models/inputresponseinputazureblob.md: id: 4b0af8d73765 - last_write_checksum: sha1:cadde4c1c38cd79a6d005786b2565bb8e545d02e - pristine_git_object: 02a8e2ecdb0df6743abc6eccf62f7c88fe143b62 + last_write_checksum: sha1:a9f963bc830b770f3870a9adc29e9be620425b2f + pristine_git_object: 26ab9a161aca5c3b22bcb4cd0d5dfce06d731b1b docs/models/inputresponseinputcloudflarehec.md: id: f96e1955bd24 - last_write_checksum: sha1:d483d0947f7112311393b3e6d6179bbee3173ca4 - pristine_git_object: 1cc5818b1046cae99f7f026096f439147f014fb7 + last_write_checksum: sha1:77e4faa78ae3eb59c136b4937d45984b81823c6e + pristine_git_object: 3f7344d472331293276687a88c6b3f3619d16c6a docs/models/inputresponseinputcollection.md: id: e4abbf6e006f - last_write_checksum: sha1:5fe973fdc37bcdb90078f9b079524d1dd3326ada - pristine_git_object: dd3c6b9a212618d2468d9266218be5f3ccd1a3d6 + last_write_checksum: sha1:83d477cffe13d03f933a7f19d2e7910445ddc63a + pristine_git_object: 62ddddb089d0a0664abb7a14534b3ef306c582e7 docs/models/inputresponseinputconfluentcloud.md: id: 2c823147d296 - last_write_checksum: sha1:0082f311d8573bab25f4ef30c89b4183a9ed9aa3 - pristine_git_object: 73880f01d94a73d2aff344a656d599c2f2b5be4a + last_write_checksum: sha1:383fd7a57328e8c7cd7d34bf6cd3fad8de272c7f + pristine_git_object: bc0fdd64a8d03833d3a63fc431f02f26023918c9 docs/models/inputresponseinputcribl.md: id: 12ac139fe1e4 - last_write_checksum: sha1:9d920c34d6c79d1f1ffcaba13597b3fbb681b7d6 - pristine_git_object: 5e0c59baf7fb3bcf3a0eac2d1c0e5258f374e775 + last_write_checksum: sha1:3f5a1ac8f279df6a06726dd0a8fe243175da8987 + pristine_git_object: 92d709914f752a242de52460aba9febc89204374 docs/models/inputresponseinputcriblhttp.md: id: ea15b1a97b87 - last_write_checksum: sha1:ed4bcf5df6354a517083d8adc999491acdfe196a - pristine_git_object: 39656d524507286de685002db80c45e50751f315 + last_write_checksum: sha1:0643ffad49d6378410d4acc071ce56492c3d395c + pristine_git_object: d1fdd7ac928fe3435c8c19b27c5ca6ddb1629df3 docs/models/inputresponseinputcribllakehttp.md: id: 70d83fc5feeb - last_write_checksum: sha1:6217f2fb961a565b9061dc5bd309119a776f272c - pristine_git_object: 35e9eb8033dd387891a3c361fd08bc5af1720f76 + last_write_checksum: sha1:f5b0b5259e91bb58022d77d250745c533d08e7bb + pristine_git_object: 787fcf88e265519230050d21175c4aed2713fe8a docs/models/inputresponseinputcriblmetrics.md: id: 3425edb3472e - last_write_checksum: sha1:2c5244ab0d22827514b11973f5d822c90cf8d318 - pristine_git_object: 83f73ed3052189e986365587fe9275504ae38d0c + last_write_checksum: sha1:a569667af2844b7cb5798592d915e1a457caadb7 + pristine_git_object: b8e72fa78a408720b37ed5f6ddd559b854b000dd docs/models/inputresponseinputcribltcp.md: id: 4291c90a0dcb - last_write_checksum: sha1:603e8b540c0390c9de17f0148b58949244db8846 - pristine_git_object: e894412fc6a59d14da60756b4a17f099afd2f92f + last_write_checksum: sha1:22985e455e04da41c825a07442ed393f76495b13 + pristine_git_object: e31c2a6c1f366468b7d3a66492be1e11ee06278b docs/models/inputresponseinputcrowdstrike.md: id: 0f0cab0228b5 - last_write_checksum: sha1:9940713f54002b002e1ab8ae06ba9217ca247ee9 - pristine_git_object: 3bb51358be61146da2b99783c4ba6dcd5b629d80 + last_write_checksum: sha1:7daf9814d6398c68c50e11e29209345fe89d7cc4 + pristine_git_object: dd2bdc0f077f7cdd3b60c4a83d9ec81122368734 docs/models/inputresponseinputdatadogagent.md: id: fa30723ba7dd - last_write_checksum: sha1:ad38e4cbb9be3d1a803696193e7aa2208f214c7a - pristine_git_object: 65a16bc62c8c011be7c31784a7a57fa66b51affe + last_write_checksum: sha1:a13e91e6698d259b114c4cc8545617e3f020e597 + pristine_git_object: 3683fe7aa64260bdd445c88655331e971d3bb706 docs/models/inputresponseinputdatagen.md: id: 8a31a1c700b5 - last_write_checksum: sha1:0eee1fc9f1e65491c7bcc05f969f1366da584422 - pristine_git_object: 9041ca5a78643b832ab1885062c80387ba169426 + last_write_checksum: sha1:16c300559d84fc8a30d19fa52c4a5754ef6ed05d + pristine_git_object: 502bcc7af82f4b6de8b273de0eab6756e9bfafce docs/models/inputresponseinputedgeprometheus.md: id: 5a1994e497f9 - last_write_checksum: sha1:87fa597bcde3d6f4dd31f3a8b26999394f48663f - pristine_git_object: 6f9a785bdb4060d72dbc200d02f0bbb6b3b467dc + last_write_checksum: sha1:97f38a8071975762463dfca7802264a490037ba6 + pristine_git_object: 1e3fa978c51cc0804f2181a9a4cb188346cc63ed docs/models/inputresponseinputelastic.md: id: 0b1b3eecca51 - last_write_checksum: sha1:9a381d0e4e721ab4e896de6cba15c1ceecb6ba6d - pristine_git_object: 0d8e941e1c3411dd82a281084bea50e8b982fe91 + last_write_checksum: sha1:03d1ffe42255667286bec5a8daa2c1028bc2e0cf + pristine_git_object: 48cd2ca912c40cae1a1510cafb04f05ac08909fb docs/models/inputresponseinputeventhub.md: id: d3c7cc25bf8a - last_write_checksum: sha1:216870225e7eda5e45640854586ab911c7c19068 - pristine_git_object: a126b8a4a405ca9c66dd9b72d8158f25a9e5e557 + last_write_checksum: sha1:33eb8cf04ef72df229a30f22214a0af8f0fa5341 + pristine_git_object: b75afa90dfc629bfec7b15eb4f3bc45d372e2b89 docs/models/inputresponseinputeventhubamqp.md: id: 01db0073929b - last_write_checksum: sha1:6b5def506d8a83005c36ff3d4b7b4aeae84d2532 - pristine_git_object: e333f24b82544148c301943cf0a30ce192654cef + last_write_checksum: sha1:d6511e3b4499922952628297ce26fd6157924f61 + pristine_git_object: ffdd8012e3562c1063653652bb124d66a09a1aa7 docs/models/inputresponseinputexec.md: id: 5539f422fa3c - last_write_checksum: sha1:f9a4c87540b335253e5094dcac77d8b174ddec1d - pristine_git_object: f673981da671fca87eed9b99ef9e1355f1e1b92c + last_write_checksum: sha1:7cc7a7af47e0d6c6ac27536b6df171f6421bf27e + pristine_git_object: a533ec37e0477d349b53d4cbc494e15041d13bd8 docs/models/inputresponseinputexectype.md: id: b5ce24b5a309 last_write_checksum: sha1:a46924f0e9c3416482c1c6464c9307e5be0e70e9 pristine_git_object: a6a382a400d6d3561c1294eb9931836e418597dd docs/models/inputresponseinputfile.md: id: 41ea16bd1ce0 - last_write_checksum: sha1:4f14329800f34b4ac054e5f2496253e68b05b22e - pristine_git_object: 5f8ef38f530fbba6f7939bc972006125966efcd7 + last_write_checksum: sha1:5d0985f0c5a393fe0491681fb52676b9de57e087 + pristine_git_object: 8529ff2c678136c86d6f15d8cb33fd6acd170ba2 docs/models/inputresponseinputfilemode.md: id: f863e30c3fde last_write_checksum: sha1:132fd9c48423351dabd63bc30875c7216a4519e3 @@ -8700,44 +8736,44 @@ trackedFiles: pristine_git_object: 3ad9d202165e27516991565c303d6ee7108a016f docs/models/inputresponseinputfirehose.md: id: d84b2819c9eb - last_write_checksum: sha1:0a2e6cf717dac6896bb154ac9b89d311ccc0f301 - pristine_git_object: 1750bae177fd95670e5175de01e3b792edec7d7b + last_write_checksum: sha1:0accc5cae6d70f8b31a04f912765c3585820574b + pristine_git_object: b749394d3c9d911fe6176d9a6be4cfa4cc7cc9ed docs/models/inputresponseinputgooglepubsub.md: id: 9ae9fc3a9e0a - last_write_checksum: sha1:7ff3c9975138fbf9814c7be27852c6a88bd5b794 - pristine_git_object: 86be2fa459333a9093b91cf3acedef800b19aac9 + last_write_checksum: sha1:4b1a0bbc75d4350401c2c41f3fd7b3419af4ec90 + pristine_git_object: b26b9603ad82415e143721da648363370125d85a docs/models/inputresponseinputgrafanagrafana1.md: id: 2e2b99e7216b - last_write_checksum: sha1:6cc76efc3fa585e8d9e6eafe5b70279f04b65bb0 - pristine_git_object: 328e8c69348be74ef6956116075059b6a7cb72f6 + last_write_checksum: sha1:8a257498510f151de5316aaaf0ccffc2f14c4d32 + pristine_git_object: ea6842793ffab941bbe4ae4e9eda858c73bc249d docs/models/inputresponseinputgrafanagrafana2.md: id: 654b82d14a98 - last_write_checksum: sha1:1630cb73addf823424ca5e78fc093886e412fa4b - pristine_git_object: 4c6a186d642057bace45b9094a77eaf2db98522d + last_write_checksum: sha1:ac69d0a1777f0965b2d1014587a963aa198d4ebb + pristine_git_object: 9c81c7222ede61c8569619d2d6472b9bdcc5fe45 docs/models/inputresponseinputgrafanatype1.md: id: cf2630457598 - last_write_checksum: sha1:4da0c12419e4b5bcc348e2351e79a2ad2d2b8f74 - pristine_git_object: 7c46f24790aa462ada219e335cfe3c9d339080df + last_write_checksum: sha1:eb50ab323c974b68e7794021f60fcd89534b3188 + pristine_git_object: 41b2ec8e81ab4788d9f92f7a8066c39e89aee184 docs/models/inputresponseinputgrafanatype2.md: id: 2e16c3373ee8 - last_write_checksum: sha1:159b03defaca1179f709a733fd0b5b95eda154f8 - pristine_git_object: 36b5efa76a2d09d4ebfd721da1de334c69704d59 + last_write_checksum: sha1:7abf57e38df796c60953e86585924f55145882f9 + pristine_git_object: 9c8c2adee4c552d107d459e2473b2c11abfc2b80 docs/models/inputresponseinputgrafanaunion.md: id: d6be2a13c3e3 last_write_checksum: sha1:0bdb4c4664aa0e5caee0349d2dc4fd6a7b677c08 pristine_git_object: e0eadcd4e129a07be231b40e63251943823b8ba5 docs/models/inputresponseinputhttp.md: id: 32896a022b5a - last_write_checksum: sha1:3dd7c5cd8704f41b702803871d5909fcb1291193 - pristine_git_object: d1ed48940f666a75b96863b96b59f06d7546f093 + last_write_checksum: sha1:042e4cbefeb7e81e33c56938d49733cde8b2f2bd + pristine_git_object: 4abbb69334e87905cd24dffb6afce1a56206c488 docs/models/inputresponseinputhttpraw.md: id: 32031f994955 - last_write_checksum: sha1:4e8081662e6144462cb2ee7dfa3272e86d6f2a17 - pristine_git_object: 7c203e0bd21c1918c23eebec83529ad629a07ccc + last_write_checksum: sha1:76974de1a4074e28ce01eb952c1cd24ec1d65e8e + pristine_git_object: 46126af0bfbf04d6db867b83c101a83ea0de3c3f docs/models/inputresponseinputjournalfiles.md: id: bb6fee8f5d3d - last_write_checksum: sha1:a6180dc1c89101fa6822419726ef25f0789f17fa - pristine_git_object: b64ca01193fd5ce77acf321ac54befaebc7ca835 + last_write_checksum: sha1:11b4d242104c58356ab4f958e15f897b641b04b0 + pristine_git_object: 3033722c385dbcb5114ede11092750bf20622aeb docs/models/inputresponseinputjournalfilesrule.md: id: 8a2f6e89540c last_write_checksum: sha1:bf6da25766418c3eae9b27815361390949ca06ce @@ -8748,136 +8784,136 @@ trackedFiles: pristine_git_object: 892e78594964c09bf5377d71be79a7579cd0f7f3 docs/models/inputresponseinputkafka.md: id: 9efbb11bd1a3 - last_write_checksum: sha1:e0f68a5254813a5503165623101a990437d05399 - pristine_git_object: a63c64bb63e94048dfd19691b7f3fa3e158ea2d1 + last_write_checksum: sha1:f0ebe56dc959448086e29e689f1ed90efa4967c4 + pristine_git_object: 990232a782712d90aa0293f1c95d6540be9bdcd3 docs/models/inputresponseinputkinesis.md: id: e6f3819a50e5 - last_write_checksum: sha1:85079dbca83afc78a9fe9364c6a418b21b9f964f - pristine_git_object: 18d27354e02cdb8921dd58a879a33547120ac8bc + last_write_checksum: sha1:4495c04f8d81cc2e0e393dba282e2b1da83f8b09 + pristine_git_object: c90cd622575a7e30ea2986b695bd795b919480d3 docs/models/inputresponseinputkubeevents.md: id: b4769513d502 - last_write_checksum: sha1:472ff306ae07ff989a759f33b464a650bdb4142c - pristine_git_object: cdfe60671715768fa25c8ec34103609d0ebeb1ca + last_write_checksum: sha1:80b81164debad8de4f02e709435f61ce44b179a2 + pristine_git_object: 0cc8b8ae5f902c84af47e04e8900c1bec1afef6d docs/models/inputresponseinputkubelogs.md: id: 67c40d04a05e - last_write_checksum: sha1:ecd097842d8165d5dcfe275ddcd52cb8fef310af - pristine_git_object: afec39eb8f5923bf2b6e3a880a71aeab66cb4e79 + last_write_checksum: sha1:71301b1fcb8d0d91edfee3f32c6e2516a96f1c67 + pristine_git_object: 4c9edfecc4344ae36b5a138ecc0a23bd8fb77deb docs/models/inputresponseinputkubemetrics.md: id: 95b8fb6d2ea4 - last_write_checksum: sha1:86f40adc92c7e377a0ded73b5e0fac221b443c72 - pristine_git_object: bf62910821171d5f33c68111b7e51a144d2ab594 + last_write_checksum: sha1:ec92dc92bb130a7ece7ec789eacf940eb87e7e17 + pristine_git_object: 9363563789a09bb13e8eed15a08dbb04ee641277 docs/models/inputresponseinputloki.md: id: 1c1184c4d280 - last_write_checksum: sha1:2531d8eed19e5f22d27367e777466dd20746ffa5 - pristine_git_object: 87c6151945a4c218858f1fa650fbb32953359716 + last_write_checksum: sha1:6a1f6a50eb9430fe10608a6c704d9c3733c3e8a3 + pristine_git_object: 190eb1d38a4903d5315f2856944288f6cda56611 docs/models/inputresponseinputmetrics.md: id: 715cd601b436 - last_write_checksum: sha1:f0c3c33b3df91f32adcf9c15b73b4facb091a4b4 - pristine_git_object: 3c4232b2f6d64723eed55cacf71efd15f9b231c3 + last_write_checksum: sha1:6c1232180022a483a4707e8471b125677bd63fa3 + pristine_git_object: 7683ba127c3405c3e90ef096007c13f0ba07b0d2 docs/models/inputresponseinputmicrosoftgraph.md: id: 2e3e68f3c3ba - last_write_checksum: sha1:dafd822d5034d5a5123e1e7da6486e159ed707a4 - pristine_git_object: 707ccc82767a6528aa5480f5ac55aa8559356d35 + last_write_checksum: sha1:73ea3218544db2cd9c38ad7807104df732267ee7 + pristine_git_object: 36ac06e7a1ea1638826ea80e1442f632c9db027e docs/models/inputresponseinputmodeldriventelemetry.md: id: 297dab7ca90e - last_write_checksum: sha1:c32ae9fdc17cb419bfb4b6197cf78474bf6fa67c - pristine_git_object: 1f9c51bc4fb2a35ec1661f717d86a536c33b639a + last_write_checksum: sha1:befd8a6ca6414edf45583d855ceb5bf39fd856c5 + pristine_git_object: 2479995e4b2b00e81f5cfcc5a9f83d5ecf878a4b docs/models/inputresponseinputmsk.md: id: dbbf2620f7fc - last_write_checksum: sha1:aab279cf292fe7926bcc530827f70454c700b9fd - pristine_git_object: 3a97c0c73d1d89fcdf6200df40700769c5aa4680 + last_write_checksum: sha1:c1da885ccdaaf4c9b3321ab7c6e81baf8bfdc1f1 + pristine_git_object: 86a7e66165e0fc2e5df33a675c6aa2e401a05d5d docs/models/inputresponseinputnetflow.md: id: 72fce0f72b6a - last_write_checksum: sha1:db714f24225be84163a9286196723b0fe2488c9c - pristine_git_object: 7cc3940f227eb604b9d173d0921ece3b40565319 + last_write_checksum: sha1:4d43bd2f37ff18c402ba5fbe56349b3a89843280 + pristine_git_object: 5d9efebd57b5472b8a9132112b6f88d3ccfb151b docs/models/inputresponseinputoffice365mgmt.md: id: ae6863a95463 - last_write_checksum: sha1:89ea71452c82826510d68957866dfcc2818c2bc7 - pristine_git_object: f0a0b281e09040cbb3425b5990cc1021f62a3f27 + last_write_checksum: sha1:3bcd3f971374f3016e8fd317ac8af549a10aead4 + pristine_git_object: 103c35b6f154040f164329f71b71064b7c44313b docs/models/inputresponseinputoffice365msgtrace.md: id: 1bb749900061 - last_write_checksum: sha1:b02f10fe47ccdb5a7d55a8546adb39c4d13d81d6 - pristine_git_object: f3ef361872856a562c56726622477003605c578f + last_write_checksum: sha1:44e8f278797061f70ed7c69c5360be1153e99dbf + pristine_git_object: e8257c755561ce3646739df52c134e908949a11d docs/models/inputresponseinputoffice365service.md: id: 31584a7bca59 - last_write_checksum: sha1:67a6807c4d81d9aa4b7db9959b93f2df0db46d54 - pristine_git_object: 53fe561191ec5505019c765aac3795ac1798f7c7 + last_write_checksum: sha1:0ec61a806ba3f73bc0bcf612bd4da1b016bd0d52 + pristine_git_object: 81c0598255cb3f87bd9fa490392b706c1979276d docs/models/inputresponseinputokta.md: id: 247ab9e351b1 - last_write_checksum: sha1:77c4ecd72031814561eb464051713aaa01be5a07 - pristine_git_object: 69b890a11d1b063370e541f233b0668144c1c86e + last_write_checksum: sha1:40cb40fbf4d15838277c36f0223aa79302b93784 + pristine_git_object: 1f28c7529017d44b3a22c222f1e476fa7338da5c docs/models/inputresponseinputopenai.md: id: dc27ff96e4fb - last_write_checksum: sha1:f9b78386d4ff66a2fd738650e0fe588d2e33e9a3 - pristine_git_object: cb0c81fd6548c3985f64da1508728a3ef9fb7e99 + last_write_checksum: sha1:719174b7553c1f177801d92e530390b2f1a155e4 + pristine_git_object: 8932eba9685e5201d0df91ad1ebf0be85402914a docs/models/inputresponseinputopenaicompliancelogs.md: id: a3a7998c4b02 - last_write_checksum: sha1:a895192f68a65d9b78db44e3c1d46a447f7610ce - pristine_git_object: 0c1ec9af7ba8d24feb84fc8bbd84808c22e0c157 + last_write_checksum: sha1:425ba5117dabd1dae811636681c2c9479bd4db5a + pristine_git_object: 08714cfeeb39a112e6c5536b56063ce1888e120b docs/models/inputresponseinputopentelemetry.md: id: b8712177bc5a - last_write_checksum: sha1:53ef561936526c4a170d7719935abd628e4b514c - pristine_git_object: d53f73c7265d79c947127bdde508ef1553d03bf8 + last_write_checksum: sha1:571b2581c78cd061a8c237dfef8be16894dc6ba7 + pristine_git_object: e29d70ea9f4e783d790839e15e9e102f4505dccd docs/models/inputresponseinputprometheus.md: id: 43b251fad9b5 - last_write_checksum: sha1:a6817484a306246020508ddeacc5a50670314082 - pristine_git_object: 7a68b0ec0a019e336b41d04f90328d3484d27e8b + last_write_checksum: sha1:29b55bb4ec5539f1e3334de1a92ac0945fbc4fb5 + pristine_git_object: 2862dd72ae6edae1d51dbdf5554f8b1c0fd6406a docs/models/inputresponseinputprometheusrw.md: id: bf7bdf36b510 - last_write_checksum: sha1:664763af1371f69dfeb6e44e6c4ad9d00b6d20eb - pristine_git_object: df36442de25a04005f613d43bbee7e77ae294fd6 + last_write_checksum: sha1:8af86ddcb3f204167d8256062da22df8b61e37b7 + pristine_git_object: fbed40a42c5b55958180cea2c98e08927efedf8e docs/models/inputresponseinputrawudp.md: id: 2cd092b2b9ad - last_write_checksum: sha1:75f468293d5b120fd31fc627e4030b70b4358b74 - pristine_git_object: 3d6f36cf1a01e53c5f7ae64d3d99e3d461bd7520 + last_write_checksum: sha1:3e74b35dc9a5866420ad9fd20d536319ab1bf6a3 + pristine_git_object: 5adbf99492a30a321cc97782acd80caf642d588d docs/models/inputresponseinputs3.md: id: b85de4592447 - last_write_checksum: sha1:e866ff1b64488ecb96bfb4cac32c9f36bbd9811a - pristine_git_object: 0934e0b218d89280d91a7a93c71d9d690ceb4b2c + last_write_checksum: sha1:1ead30d469ddb4db71def5b6252d34193db53278 + pristine_git_object: 8a6add49299892eee99221a657a0623bdaa5707e docs/models/inputresponseinputs3inventory.md: id: a4f059f4b232 - last_write_checksum: sha1:8b3f0970440728e1d2f854910e8424fd92a14a7a - pristine_git_object: da9047dfc8867c1917a65b289a2ce725dd554347 + last_write_checksum: sha1:635b634d6d74708183ab360e9a0b2d59d0aafe21 + pristine_git_object: 5ce1bea1371faf4f7356ed04163184e25073fea6 docs/models/inputresponseinputsecuritylake.md: id: 26402e9ba01a - last_write_checksum: sha1:363887d49e723728931545233fdd83e746b78a42 - pristine_git_object: 2ee6539476787aabf97f40d8d17c8464c06265e4 + last_write_checksum: sha1:3a4405573efdd223159eb540af38a8f5709ab78c + pristine_git_object: 2c02d05c40d2d2c8dd69b43b40113f09cc8840a4 docs/models/inputresponseinputservicenowtable.md: id: 68bb88ee164c - last_write_checksum: sha1:92a04c213428456b93157e1cff13a98327ca87ef - pristine_git_object: 86d12d6efcb799b75dbd1594bb155275f746a133 + last_write_checksum: sha1:93b34faccd91b32601e73767f84eba0a325d60c4 + pristine_git_object: f3cdfb8d1bc2ee61826e10a3ec82931a9f2aaf38 docs/models/inputresponseinputsnmp.md: id: 80be6692199e - last_write_checksum: sha1:d2e405874c1e424ef046261170e20eae5063a692 - pristine_git_object: 327050980796abbbb183781834c2b6ac879acfe3 + last_write_checksum: sha1:ded24730c34ffb9ed7450ad67d473eda5ab30f65 + pristine_git_object: a8c55b0105c51ebdc0d07ed9c68bb620de99a7c3 docs/models/inputresponseinputsplunk.md: id: a0fdab04c301 - last_write_checksum: sha1:ba57b200c4919afb5996b5d363c30ef41bdc3761 - pristine_git_object: e67aec8223b6d182f5853cfe70e67cfc2a1d0c08 + last_write_checksum: sha1:f387b97f5a178dbee149c5ef71a6bf52f4241076 + pristine_git_object: bf10214a6a4f455a379f36fcb025699913f06af8 docs/models/inputresponseinputsplunkhec.md: id: 0acbcb91a3ee - last_write_checksum: sha1:6157f010287fed00ba724d1cad0917cfef5c7130 - pristine_git_object: 4940f9ea8f6112a58231ae7d4e1b1c0b31c87d00 + last_write_checksum: sha1:19687f1a192cfc0a97648340d4c76aedbb3f9674 + pristine_git_object: 6a454aacce37d35cd538cff65e4d0bb1eaef4295 docs/models/inputresponseinputsplunksearch.md: id: f2444d56ae10 - last_write_checksum: sha1:db3d59fe0456aeb3be94924b0c453f5c919a7b3b - pristine_git_object: d5b3bb79bb6859e9aca55f51e07fe1f5930c3a66 + last_write_checksum: sha1:bd423b2300838f6b4f41629218e54ee35da530ba + pristine_git_object: bb601086f7e5c4412fc37d7644fdb957a068ca7d docs/models/inputresponseinputsqs.md: id: 0f2dc0253f4f - last_write_checksum: sha1:709fb25b008e8512b0a49bd5b20371e997ebea87 - pristine_git_object: 26f04228cc987bb661a5c953a17ab31c9d5d2bb8 + last_write_checksum: sha1:15b6509a640eeff657a3db67eaa7ff4f0973c47e + pristine_git_object: 0d8f5776d521e5e8410d14f60950b588b6f03c74 docs/models/inputresponseinputsysdighec.md: id: 2677b4c290c5 - last_write_checksum: sha1:58edf284d74f9d5444e48dab37074dde3d168663 - pristine_git_object: 63030fea5941ba055bd8707aaf0be49370e782e6 + last_write_checksum: sha1:2a26f04b6408f411a8bef65707459b23a1c0349b + pristine_git_object: 35c906488427eba8af57ca7436efbd68f041625f docs/models/inputresponseinputsyslogsyslog1.md: id: 7622100ea2e4 - last_write_checksum: sha1:17df8068adc31755536bdb4a376892cc4ce7cf9b - pristine_git_object: 183a151855ef22138dbee1e3f7f24da1c0bb80cc + last_write_checksum: sha1:306c25e88f1213ed63cb9e6e4830c3ad685f88aa + pristine_git_object: 95a23dc75e814d037c08c423b6e9fbc84e03e44d docs/models/inputresponseinputsyslogsyslog2.md: id: 0dc7e321cc17 - last_write_checksum: sha1:800e5df72278616eafb9b581bb7dac05df60ef4e - pristine_git_object: eac4b22d96f7b75cb137b5f9d4ea6f22b6adf8b9 + last_write_checksum: sha1:e8e0ccfedfee4a66272096b318fc6b9392fe7e10 + pristine_git_object: 994575a6c36ffaba64e8f879692e2f4c3d85fabb docs/models/inputresponseinputsyslogtype1.md: id: 6c2858dbb929 last_write_checksum: sha1:a28ac691d3a1209d52342366b43ddd32ddd9db85 @@ -8892,44 +8928,44 @@ trackedFiles: pristine_git_object: 2d2a321776f4e6af10b18b417fe29c0b8dfce792 docs/models/inputresponseinputsystemmetrics.md: id: 82bbb136ef01 - last_write_checksum: sha1:7e83c4f20c20a78b029e2f44984a8351ee1537de - pristine_git_object: 93ed6f76f85ef7a24a9e638a4b94cac262a05677 + last_write_checksum: sha1:d9c424e4679c288f493c1df0ed5823c4047a3eec + pristine_git_object: 44bc41dd6071af05d13c6ec8683a80261954a670 docs/models/inputresponseinputsystemstate.md: id: 15acf4165392 - last_write_checksum: sha1:26e62ad4ab06048753d44d3475ef61cf5810bdd5 - pristine_git_object: 3bf1d103898016aec988b01787072578ee2f71da + last_write_checksum: sha1:166e6f1f975a63f4d898b3237d60849a2a495dff + pristine_git_object: cff38fbdb2dc804fa481cd782789ef310c7c9b67 docs/models/inputresponseinputtcp.md: id: ad1be6317600 - last_write_checksum: sha1:76e227d887227fe2b997cec22ea0bf93bb2b1f60 - pristine_git_object: 1fba7b947e404baa674c5cc43debae22a2c43590 + last_write_checksum: sha1:91ee63d02738b9a544a7d90fd32f91dfda22cd8a + pristine_git_object: f361e9b8d0f0314c12a1e565f5f9e003899dc4e8 docs/models/inputresponseinputtcpjson.md: id: ad932982073e - last_write_checksum: sha1:2cc2e81a2086c8a8f5fe535c9c88bc2a1aefb99f - pristine_git_object: defa07f937c8eaf96f6965d9ad9da0a2d390f697 + last_write_checksum: sha1:9b7b557c11d514cb3a4b2f067310d0bc4fb850c3 + pristine_git_object: ff986917135ab091c114e751acd43f47a1c70ebc docs/models/inputresponseinputwef.md: id: a975c793c310 - last_write_checksum: sha1:7c99567d80f67c40e6b32d809196b9c1b74250ab - pristine_git_object: 78a9b3386a9337b0122901770bee5403d186f005 + last_write_checksum: sha1:f001e9d88308010a07b89959dbab262efb0d1eff + pristine_git_object: ddd880040331f046a4d1c6b57e8ee18fa37833a3 docs/models/inputresponseinputwindowsmetrics.md: id: 746cda32240a - last_write_checksum: sha1:97600e2503552dd74ae1dba149adb3352cbd3524 - pristine_git_object: ea1d165b03b701440080b6a2c49296c389cd4f37 + last_write_checksum: sha1:9774dba2d98a3ef7cd5c43f429b797938d6bc8bb + pristine_git_object: 1cec68ef112480e1888d7576b58dabe4280382b2 docs/models/inputresponseinputwineventlogs.md: id: 87b74b9dd640 - last_write_checksum: sha1:b50fbaa67dec271c03f2bf30585397084472624f - pristine_git_object: 53bf52f3838eebd712d0d207d150c4faa083d8e0 + last_write_checksum: sha1:44bed373b0789991e200d80c89b868e230d95d99 + pristine_git_object: 58ee0555b1d2b42780b71df7c0e513af20466665 docs/models/inputresponseinputwiz.md: id: 98283c848b73 - last_write_checksum: sha1:de8c58237da8b5f931084573990f954dbc061ba7 - pristine_git_object: 1f4324fce5de44759937a4db4af398d16bba4464 + last_write_checksum: sha1:fd71f4f5182b1add0adb7d8145b4c07d48bfc710 + pristine_git_object: f2e30a285fe3dec55e612c4aaf68d2fee35736b3 docs/models/inputresponseinputwizwebhook.md: id: cca05de9005d - last_write_checksum: sha1:bcccb07c316b6df19a9463990d20baf38924cb61 - pristine_git_object: f4126f3890eb7e8c17e9712bcd739ff9add2cc8f + last_write_checksum: sha1:23340deb0179d57678f95732b2066799e285053c + pristine_git_object: 31e06fc2247d85537d2e593eab064c160f861361 docs/models/inputresponseinputzscalerhec.md: id: 2d9f6138d565 - last_write_checksum: sha1:65e2cdbfee80be4c697f03abded8c491df564b48 - pristine_git_object: 6d82ec48fe8ccf87260f8569a05622052da50966 + last_write_checksum: sha1:916f8288968fb296ad053137e6ebf466a5a1fe8f + pristine_git_object: dfd6274a7955939eb58b2c10d3db3e41cfa7e6c8 docs/models/inputresponseinterfaces.md: id: fad3339a6251 last_write_checksum: sha1:ee9bc9d3bc978ddd96e91e9f731412d2fedc080a @@ -9188,8 +9224,8 @@ trackedFiles: pristine_git_object: e8bbbc716ed6494c9fe72d1baf145330135757b8 docs/models/inputresponsetypecloudflarehec.md: id: d090a876e539 - last_write_checksum: sha1:356850a43dcb8ec4846f55d7ec0ed35225c4b2dc - pristine_git_object: 95bbbffba24b998ab5deaa17d9784a3b14de8cb7 + last_write_checksum: sha1:3d77d8717903405f1810ff08abf6642b28b977ef + pristine_git_object: 049e0cb9a72d71f7b21ef964d3be96d792b196fa docs/models/inputresponsetypecollection.md: id: e784665fe2cd last_write_checksum: sha1:da7e87b7d33813d316b5759191544bf7911be737 @@ -9204,12 +9240,12 @@ trackedFiles: pristine_git_object: 19f32459b8bbe3e6a9c4a0d0a4b00c4bc4816f38 docs/models/inputresponsetypecriblhttp.md: id: cb902ae4163c - last_write_checksum: sha1:6caf58d69861bc2fadd6dde9688af4d229a570e1 - pristine_git_object: 0a2ce976e620538b383bf5fb2ad6dc9ebd84d58e + last_write_checksum: sha1:5c517ccb5162422ff425a49fb585158b955c6aa7 + pristine_git_object: 96f984242f8e02e92429dae1cb323bfbafca7757 docs/models/inputresponsetypecribllakehttp.md: id: 5d65520dac5d - last_write_checksum: sha1:84ac147cbb66da439e063e5738ae71380dad9477 - pristine_git_object: 164f7314f59d7034362bcb65b70e5208ec4e32af + last_write_checksum: sha1:2da1d1956db601e3a0cdefe72ba0b018489665d2 + pristine_git_object: ab7d8c66f4dfeca56883b2ef69379a54f5e2cc11 docs/models/inputresponsetypecriblmetrics.md: id: 3721f71e0d56 last_write_checksum: sha1:86545f857c06b80cd1eb06bbc2153a2d788412ee @@ -9224,8 +9260,8 @@ trackedFiles: pristine_git_object: 1cdd613c47b0052efb4e3b267ecdfadd8a538937 docs/models/inputresponsetypedatadogagent.md: id: c646039e1d01 - last_write_checksum: sha1:1836cad48fa23d2b8335808a49e35c9ec39102d6 - pristine_git_object: ce99f581311deb534fa775da00ec8f064a637c8f + last_write_checksum: sha1:976c5a4a1607e17c83d1f23cff24e9522d7ac402 + pristine_git_object: eef5c470cd7206a873df31229f52b81e09156764 docs/models/inputresponsetypedatagen.md: id: 31ca451b8d12 last_write_checksum: sha1:b24ddc21481371c17ab4b299a218827870dab657 @@ -9236,8 +9272,8 @@ trackedFiles: pristine_git_object: 0b82397e5e7fdeeb44a22e5ad62de19efad8b7f2 docs/models/inputresponsetypeelastic.md: id: d11a4089be08 - last_write_checksum: sha1:ca5e955aca3d49aaad54a10c10d0d5fa4f46a076 - pristine_git_object: 72b5ec26dd1ebf9faa1be2dfdd91dc36e6786564 + last_write_checksum: sha1:2b4bc5f4543c21501ef23e8acdf8aad857669cac + pristine_git_object: 4fbb63b88ab7c5443d5d93ca9e2c5d93a2557aee docs/models/inputresponsetypeeventhub.md: id: 1f5220732199 last_write_checksum: sha1:01877dfc577c50cd299452f34027998d8df1dbd1 @@ -9248,20 +9284,20 @@ trackedFiles: pristine_git_object: 8d9e7051f1b14bd897bc623311f7f72cc6d4ad97 docs/models/inputresponsetypefirehose.md: id: 5bda99057be3 - last_write_checksum: sha1:4f44b084020e114b410bf23ae076cc3b618c4d18 - pristine_git_object: 7966384aa3f97036081c5961d26078608acd4d3b + last_write_checksum: sha1:d9b67f1081086ac99c1b5e2ce0027530a9cc98c6 + pristine_git_object: 677ca283dd424bc6fcab717a4e35cf736e66a927 docs/models/inputresponsetypegooglepubsub.md: id: b570fceed35b last_write_checksum: sha1:58b0f9589222970f7e7d5cf784adbae55aecf5a5 pristine_git_object: 6fec87125326f3d5c23f85948d79fa7dee3df512 docs/models/inputresponsetypehttp.md: id: 1110919e6328 - last_write_checksum: sha1:1fa1344bd8142585f4e57bd9a77bc6189c4e37ce - pristine_git_object: 325391cadfd36710669a34cc6d3dc7d9795efc38 + last_write_checksum: sha1:f49ced69daf514d68f7ce73adf4f6682134029a0 + pristine_git_object: b5ca392aea4845461d4af8629e1d735aa27d0a1c docs/models/inputresponsetypehttpraw.md: id: 95f7c481cbd4 - last_write_checksum: sha1:5bab78983e20212915ed61803ee83b5e260c0a6c - pristine_git_object: 16cbcf9bbfa0c4ebfff2924bc1bbaa9e6c8dc0cb + last_write_checksum: sha1:16893adec517010bd6fa82a5d92dc5111b4d2360 + pristine_git_object: 313f2600972fe1cfbd98842e89704f0d1356f07d docs/models/inputresponsetypekafka.md: id: f99687836602 last_write_checksum: sha1:da4639e1639acd8f3bf2f9555b90d7c544329f17 @@ -9284,8 +9320,8 @@ trackedFiles: pristine_git_object: 87535ee5c406ecfe1bb5324401bc9b8bf57cf3d6 docs/models/inputresponsetypeloki.md: id: 0107333da80f - last_write_checksum: sha1:b10b4b069441dda09ba2f89419d61bcd506c2979 - pristine_git_object: 37003cdfa46bae879245fba841d8d63c297265bb + last_write_checksum: sha1:e3db485e53e69150953804f8e829f96157c402d0 + pristine_git_object: 39ae07ea3e5c0928ffaf676c2fe6d89d45ebccde docs/models/inputresponsetypemetrics.md: id: 714d361dca73 last_write_checksum: sha1:4db40cb61851e9d62f7ee09a8931f261cfad1086 @@ -9332,16 +9368,16 @@ trackedFiles: pristine_git_object: 4a5195075d6ee01b673b4dc90d106a58daa742e7 docs/models/inputresponsetypeopentelemetry.md: id: 44ba43d9dd52 - last_write_checksum: sha1:5ef2e41be7db363f54dbd78f7cb3626f4cfd2a85 - pristine_git_object: 4c2b8f857468be86b2fcad8665faf91b40ea9298 + last_write_checksum: sha1:724212e44795c200a315c8c4c35f209f29125919 + pristine_git_object: 3b593622bc96ebb6a769f9312a2c294ab2eb2346 docs/models/inputresponsetypeprometheus.md: id: b4790c887f52 last_write_checksum: sha1:36037f89d3f32635368170f2f6fdd137f823d890 pristine_git_object: 6e40c1abbe8db288ceeb251d3b4b6c72bb83dcba docs/models/inputresponsetypeprometheusrw.md: id: 3a513bc9fe6f - last_write_checksum: sha1:d362a1ba3522017a0446759e0195471f4aaab76b - pristine_git_object: 8632d6518c398da1302254fca09e4ab8fe34c64e + last_write_checksum: sha1:eff18e31fbdb87f5557eb57c2659739d8f493a93 + pristine_git_object: 7aeb0bc0c13f670e7bf4bd31e5f92f8d23083201 docs/models/inputresponsetyperawudp.md: id: 12639dc1b5a3 last_write_checksum: sha1:a98bf8cc07e9890bc7fa2c112ac1e74b8d7a0960 @@ -9372,8 +9408,8 @@ trackedFiles: pristine_git_object: abd513746e1a31b5acc595ca236750730a02c098 docs/models/inputresponsetypesplunkhec.md: id: 10498c822921 - last_write_checksum: sha1:745efb374895b094d27d4707dbe0be2a4a5daef3 - pristine_git_object: 1d2a566efd433dc96dd1b3cc77eb6b69e7b774b3 + last_write_checksum: sha1:9658833c4598ff497e7a52159cdedf0bad0ca4c5 + pristine_git_object: 9886e35b84350473af313b03b139071d16d70594 docs/models/inputresponsetypesplunksearch.md: id: 5866d528fd0a last_write_checksum: sha1:dbdceee1770202eb8435e3c4405575646b7d5067 @@ -9384,8 +9420,8 @@ trackedFiles: pristine_git_object: bef1fc204ea413f9ba16e7762ecdf019bde6a42e docs/models/inputresponsetypesysdighec.md: id: c7173d9ae327 - last_write_checksum: sha1:b1ac6f3c46ccb8caa225505e49d456328e6af2d7 - pristine_git_object: 6db92234e80aad50420379dd2868eeee1b2122b5 + last_write_checksum: sha1:a428119c4483a17a9e8e3a220c5be7315bc86c16 + pristine_git_object: bf78a72db6c01bbe06e02ceaf2541245a0a5684f docs/models/inputresponsetypesystemmetrics.md: id: b349ad2b1257 last_write_checksum: sha1:e2b48bc73c181bb855377be7c8cadb6d13467a96 @@ -9420,12 +9456,12 @@ trackedFiles: pristine_git_object: 205efa2ca99baec166470b09dc1d5a7033a81bd7 docs/models/inputresponsetypewizwebhook.md: id: 51c87a812fb0 - last_write_checksum: sha1:4ddbc0a5b10335577c0a200cffc986593919c5b5 - pristine_git_object: d030ca00b08e8f25e21bec3c8a5ed884b8a287b1 + last_write_checksum: sha1:9cbf07a7c3d33f086dd219880a9457070b3f5e67 + pristine_git_object: fe004951b67e535a8d44e1dc4099c675795a76f3 docs/models/inputresponsetypezscalerhec.md: id: 4436e6fbb360 - last_write_checksum: sha1:321fd7109080be8820a2e32db9a4d00f18098ddd - pristine_git_object: ee487b859f253b4a6958b4700af6799850552f5d + last_write_checksum: sha1:50598ec1f521f5d29f45df434a4ec5a27414bcd3 + pristine_git_object: 7d51dd381b607de5e36d92481b56cc5bedf08fc3 docs/models/inputresponseunixsocketpermissions.md: id: fb38c1c50163 last_write_checksum: sha1:12b075e6e9c26258041065d6577784bab5085bb8 @@ -9440,12 +9476,12 @@ trackedFiles: pristine_git_object: 239b401e468560196849251e01880c9108d39885 docs/models/inputs3input.md: id: 99897af623c5 - last_write_checksum: sha1:88bab174c775f411ff5de93b8138b442fc1a8f08 - pristine_git_object: 1707337ab9b575085ec743b2c6fa6702f82d05c3 + last_write_checksum: sha1:c5199f4db2acf28b789b20a53f10e12b68c5246a + pristine_git_object: 86e2d725c56fbf1305a418e952259340ec01ad71 docs/models/inputs3inventoryinput.md: id: 8210fbb7cbac - last_write_checksum: sha1:2fd9618bf3f20442336f2420287f03430c3a54bc - pristine_git_object: 5d6b2331e837a5967a9daa77b6dcc7ad7b79cd8b + last_write_checksum: sha1:b7af55cc08c02c553be4a7502983b1cc5ba95aab + pristine_git_object: 25e2eafcec4cf6cb02b262c811e9c39bf476fc61 docs/models/inputs3inventorytype.md: id: e2f1705fde98 last_write_checksum: sha1:b7a89c2d75ca950ffd81ec34de2a9afd4792b832 @@ -9456,8 +9492,8 @@ trackedFiles: pristine_git_object: 4e238f767841f533c68f8a8362edc5738d719136 docs/models/inputsecuritylakeinput.md: id: e987c57b2913 - last_write_checksum: sha1:7d10898d0d0250b9055fbe338e7ff4800c61e3ad - pristine_git_object: 9204172d6b70bc68afc72bb623ab25865544aba0 + last_write_checksum: sha1:f1d01e8d7da37be1d0f6d76296fb512a64b911a1 + pristine_git_object: 845ed894a4cb341f4611e65838ad9053fa4f1901 docs/models/inputsecuritylaketype.md: id: 36d193dfca24 last_write_checksum: sha1:5bb5fb2183eddb74414596919cbc50d41ccd0535 @@ -9472,8 +9508,8 @@ trackedFiles: pristine_git_object: 6a3702c8d633ac9102ec9690e74ae10be0a06eae docs/models/inputservicenowtableinput.md: id: b96c40c75128 - last_write_checksum: sha1:ccaee0e8fb20bd501c4fd65fc503efafb5077075 - pristine_git_object: 22e501ea38da2023328403f3cc1153976eead79d + last_write_checksum: sha1:9f9589b101a2ad2da382ce608735c28354fb5e69 + pristine_git_object: ed8e41454defb3eff50ec4e9a40059db72aec000 docs/models/inputservicenowtablemanagestate.md: id: f6ea5fe9e276 last_write_checksum: sha1:cc36afe0fb097bf0685fa4e3baa321752a6f4425 @@ -9488,8 +9524,8 @@ trackedFiles: pristine_git_object: f8e8a26a6782108f9993938b596e0241868f5114 docs/models/inputsnmpinput.md: id: 84ba1c44e6f7 - last_write_checksum: sha1:8ea527e74c864802ce193abfa88b6b174b6154f3 - pristine_git_object: 20d950fc83be7c23d4e8950ecb25bc8826822ad4 + last_write_checksum: sha1:2898419c4b968ecc061a8ec6b7d793c71de59f27 + pristine_git_object: ea9c50ed2067df18dcce1fa26923bbd2f5284caf docs/models/inputsnmpsnmpv3authentication.md: id: 3cb3c8b7d7c0 last_write_checksum: sha1:3b164b856a66956951eab86bbb11ebd0cba48c40 @@ -9512,24 +9548,24 @@ trackedFiles: pristine_git_object: b3025acefc243e35506eb4e644bb5d1110d9d036 docs/models/inputsplunkhec.md: id: 6f0f9ba65c23 - last_write_checksum: sha1:fbe180f6ea71cac29c770c7431aff4f54e324acc - pristine_git_object: 1db2d4a1cfb91fae303ac4fec7ed81edb9637f9e + last_write_checksum: sha1:a9da7e3f26b82b96d70aaf102db9218b1fcde72d + pristine_git_object: d305807911183024d96827aed96565fc0856dbe7 docs/models/inputsplunkhecauthtoken.md: id: 1c8d0156fac8 - last_write_checksum: sha1:6bb6eb98332a00f8d6420e7a43cc80380a68f276 - pristine_git_object: 60df3851467690bf90f3f6606c15a6bab1aa9a1c + last_write_checksum: sha1:a4511a70572d62054002784a4c8186621f84b8f2 + pristine_git_object: 7da53e6ec8a52d95bada69a294acb1924015e3ef docs/models/inputsplunkhecinput.md: id: 6404de9c4ff9 - last_write_checksum: sha1:ac914b313830701c202e022ce7e7211b8e20bfd3 - pristine_git_object: 80baf9544e46f45f86b9c65794242dd856ce2f83 + last_write_checksum: sha1:2d087f94e1996c430ae144b49fe1951f8aefe74a + pristine_git_object: 8c394bbb43adeaa14590be64b7052ad3a111ef78 docs/models/inputsplunkhectype.md: id: 9721fb059b30 - last_write_checksum: sha1:56e4deb83bb78974f5ae3add8f2978e375b30b73 - pristine_git_object: b32f54b986d6436905b2281839201bb5f9c92e55 + last_write_checksum: sha1:2e4235df36b7160fdb0e134410d6f9cb18b09236 + pristine_git_object: 658f2ea7a165048e3874c27ef1fcb9e3d391b2d3 docs/models/inputsplunkinput.md: id: 691797551dca - last_write_checksum: sha1:63e8d217d0b92cf4e98c87bc0536892e294918c3 - pristine_git_object: e8dddec326201c989c81f5c32605c6df042d644e + last_write_checksum: sha1:b8bc1432f131d9f9ff92c06259e2764577326d8b + pristine_git_object: f65597412ed6f19457079f58cd6456e13a4c2e25 docs/models/inputsplunkmaxs2sversion.md: id: f2b767143c5c last_write_checksum: sha1:9674669765b2be48ed1330fd94531f60023e2778 @@ -9548,8 +9584,8 @@ trackedFiles: pristine_git_object: 5fdbadb2bff19005b1830a0e7b9edf963355dcfa docs/models/inputsplunksearchinput.md: id: 84577ad3ea1c - last_write_checksum: sha1:674593b5a5b3c4953f9b325bc3ac8249da8b4fde - pristine_git_object: 1f46c998972367fbc4e54e85a1dee7796b8206c6 + last_write_checksum: sha1:44c8543c9ed1a96144a85eb39953762d6d0c235d + pristine_git_object: b8d1836795299b59113bff91073f9961c9b50f1e docs/models/inputsplunksearchloglevel.md: id: f7d8be542809 last_write_checksum: sha1:2e215e76a3acf09f084e94e2b12fbc4a0a072d66 @@ -9564,8 +9600,8 @@ trackedFiles: pristine_git_object: 6c02f79588eaeb0dbac3562ce135e48a3afea40a docs/models/inputsqsinput.md: id: 3b20c4ecb524 - last_write_checksum: sha1:c4367664226150e2f00c8a0692a0b267932c265d - pristine_git_object: 4b23d4fff3ea460aeebd92fb4e7388a6525e04a1 + last_write_checksum: sha1:94cf5995bb39ea53b8444586bb179038922645c0 + pristine_git_object: 6e125a9772d1295444b3fbc9bc4f9b436fe08c13 docs/models/inputsqsqueuetype.md: id: 1e849312572c last_write_checksum: sha1:af6d11dd5026d55346203c70344dcb19b4579e22 @@ -9580,24 +9616,24 @@ trackedFiles: pristine_git_object: af6b3b029abc566cf632e35b16a5b9c8b58c788b docs/models/inputsysdighecinput.md: id: 8960e4cd4d3b - last_write_checksum: sha1:4cef8a5edf76af8a2a64632d4867f47b4e894682 - pristine_git_object: 005d787f1c3ae789ad6a32bb00ca7ca3cc654ffc + last_write_checksum: sha1:6a4ee30846a9988dcdbcdcd310d0d1b1693b8815 + pristine_git_object: 77521f8f14a2ffd5a362fb82bc9a5dfdb3984222 docs/models/inputsysdighectype.md: id: 123a1d9a5cd5 - last_write_checksum: sha1:91f1ab26b6b199f6e4e6d1a8362960f4e0d0c9e3 - pristine_git_object: 2c8b651b4db67332260086b375e5b80e77b58fcc + last_write_checksum: sha1:3ae6836eee4e6ca909d340295a987c325e88042b + pristine_git_object: 6c4e8f72f57966a777b2e21a2e3ecaa79d4e2762 docs/models/inputsysloginputunion.md: id: c2664620dc59 last_write_checksum: sha1:92e4c9df013897315cca2a1d0a520087d95febd2 pristine_git_object: ece4988b207cda04219ad687bad31193cbef89c5 docs/models/inputsyslogsysloginput1.md: id: f09aa6afe151 - last_write_checksum: sha1:cfb6458049d69f839ed21a8c5074231ed2bc1dfa - pristine_git_object: 482876285ed0887a70e26d4730076f73b06142a0 + last_write_checksum: sha1:216e376a1925cdb0d0e447c2b51aead4896ade22 + pristine_git_object: ffa515c6799d65e6b40c28201346538871bae932 docs/models/inputsyslogsysloginput2.md: id: eccfd53f0167 - last_write_checksum: sha1:7bbc44b896f85a410d42d2e14bca8ea03308e78a - pristine_git_object: 16ffd585648044e32583e63575b8bec7f7967591 + last_write_checksum: sha1:4f8746d91466211e08d8c1c2c4a68a0d1f0f2865 + pristine_git_object: f10b7277bb9bb8f9777b2858274f136ade4ef291 docs/models/inputsyslogtype1.md: id: 0aceba177ad5 last_write_checksum: sha1:8bd607a6d9a28885a79acd68ac287c88791b5b92 @@ -9644,8 +9680,8 @@ trackedFiles: pristine_git_object: 0526c3b6699af2ca26207ab1ba9e525b7cd76f3d docs/models/inputsystemmetricsinput.md: id: 6dff301ee5cd - last_write_checksum: sha1:3190ad348e3fa5cb67a57259dfa50ac9132324b5 - pristine_git_object: 4c2b56019c2babf547265c1b6f1437643970fa96 + last_write_checksum: sha1:bf46a9a602f5fc472a9037a4df79440c9cc9a4df + pristine_git_object: a116545db98d753c3d791c33cc1e6eb56e6151de docs/models/inputsystemmetricsmemory.md: id: 617348e98f43 last_write_checksum: sha1:252af570f84e505faa913e8571c198fbfabea038 @@ -9704,8 +9740,8 @@ trackedFiles: pristine_git_object: d0c41988c1fae51a27e9446149c85705a395f2fa docs/models/inputsystemstateinput.md: id: 09d54af79528 - last_write_checksum: sha1:3bcfc1e379b2b782a5b1274a79debb0de40a2ea1 - pristine_git_object: e87f97e8797414d77fe488d5c8cfdf9f1015af80 + last_write_checksum: sha1:9f223e310999c8f528cb771c909a90512ae5906c + pristine_git_object: 11b34bc3e4ca16be26cdf67f0a9b8980d333da99 docs/models/inputsystemstateinterfaces.md: id: 6f873eb46978 last_write_checksum: sha1:876c15af913e533af9ee6dd85c8ee39296a1dd1f @@ -9740,12 +9776,12 @@ trackedFiles: pristine_git_object: 64a56def0a5b81985406c88acf2797c2c0f9d03f docs/models/inputtcpinput.md: id: c221c8d03669 - last_write_checksum: sha1:124540f3c689031b9667fc31a5be3ba4ec97df44 - pristine_git_object: 76d9ad90b1f236b1556d1ca7e47d61636df4f228 + last_write_checksum: sha1:d9d058cb1c02af46d3cf21473d3bf62058b70819 + pristine_git_object: 7515fb3110d5136483ee218522c7d528ed6103c1 docs/models/inputtcpjsoninput.md: id: 01d76d7ae89a - last_write_checksum: sha1:794954a465b7bc16d7dedb567a5a052a47f3ed10 - pristine_git_object: d16801207daed342fec2393210f907626f898029 + last_write_checksum: sha1:3e0ef2b8579547bed6b8c31638ea8aa4ea4f974e + pristine_git_object: 072fec98fb8e7f33614e9730cd39db20dcae32f9 docs/models/inputtcpjsontype.md: id: f8545b522003 last_write_checksum: sha1:198d5245a8d5245ffbf09fea10c2077e3ef401ae @@ -9764,8 +9800,8 @@ trackedFiles: pristine_git_object: 4c92fffe1fa3177e66f1a707a6bb3c1c39cbe5d3 docs/models/inputwefinput.md: id: 9a341658be6f - last_write_checksum: sha1:513a8fb6c8470a221985ee90b8a732d93db6e65e - pristine_git_object: 98f3872876bdc01e0c3e4e0e4e966ce46ab5722d + last_write_checksum: sha1:fa85fc1c007bdce7553e8bc839205b8453b2f001 + pristine_git_object: bbe9efa5e41ece7b045e27f8b938a6ab37570f69 docs/models/inputwefmtlssettings.md: id: f03d139303b5 last_write_checksum: sha1:24e3055f268a76692941189e91b4b51edb9ea59e @@ -9812,8 +9848,8 @@ trackedFiles: pristine_git_object: c1fafc727e0f0360071aaaf71ffd33c2dd050a06 docs/models/inputwindowsmetricsinput.md: id: 2ad404daa8d4 - last_write_checksum: sha1:faea31f243c2a79bbadc61f93ae379b234a4e275 - pristine_git_object: 5f7d14741fbba834d66a133ece8c3cf5d25bced1 + last_write_checksum: sha1:1e07b3dd76728c4934e01467c26b1797443cc3f8 + pristine_git_object: 4c817a5e3323dc3131efe1fc9346fda5eda4f382 docs/models/inputwindowsmetricsmemory.md: id: 7665ffc0c3a8 last_write_checksum: sha1:cb4cea4d11842fa5d8fd33414221a2f74522c42b @@ -9852,8 +9888,8 @@ trackedFiles: pristine_git_object: c62f7423d8bb4a9e4ce07918a76fc1e7146cacf6 docs/models/inputwineventlogsinput.md: id: 58257175913f - last_write_checksum: sha1:e109061222a65524437feca99adf733aaf0da761 - pristine_git_object: be3f86576080cb62532f353a36f995d37bb489e6 + last_write_checksum: sha1:e11f8ac0b792839492390daa9aa95200d83178d7 + pristine_git_object: bc765eacdebbc431d100826ec8870a521f3d462a docs/models/inputwineventlogsreadmode.md: id: 1fa3fd445122 last_write_checksum: sha1:cc542fadfb01b302728db52ca0ca67b81491221e @@ -9868,8 +9904,8 @@ trackedFiles: pristine_git_object: ada73cdfbfa1494f3afad629e75d53b367d35b13 docs/models/inputwizinput.md: id: a1b527e40642 - last_write_checksum: sha1:a3db86c7b646f47e0fb471daf64e9261fd7790e2 - pristine_git_object: 121b0fa39f91e9baf66f6b4514b05a424d1c3271 + last_write_checksum: sha1:7e154774e623221267301e9c3e18c00f5b89a6d4 + pristine_git_object: 5dd1221dd85f1e4c57728ffee9d60807579dd6fa docs/models/inputwizmanagestate.md: id: a74ff5440f67 last_write_checksum: sha1:9922fe4ca6125e146cdb24c00ad164665219b130 @@ -9880,24 +9916,24 @@ trackedFiles: pristine_git_object: 6aededb9b37cb558f4cfd7b73f0317daf26b454e docs/models/inputwizwebhookinput.md: id: 6c81d6a8f68b - last_write_checksum: sha1:1cc9821ad42bb9e335c2ab682e4825778fb4bc0a - pristine_git_object: 7009ca9963bcfbd21850093db0fd78216b763f31 + last_write_checksum: sha1:fa6f88ffde91160ad4bb38f55a0a2e9be81a5af6 + pristine_git_object: d18ceefbbe0815d151b100d052b26106786c8d57 docs/models/inputwizwebhooktype.md: id: 4a55d744a3c3 - last_write_checksum: sha1:91bf5634e6fc88b267af4e8be5c9cbdd10beb610 - pristine_git_object: 9a59ebfa6ea1a5057343ad1cdaeb9732d40707e9 + last_write_checksum: sha1:6476923e686559a4dd9e94f1045fd5e973391e5b + pristine_git_object: 740b223e920ef0f02ab36ce4d18cd4518951d2e4 docs/models/inputzscalerhecauthtoken.md: id: 520153cb1e37 last_write_checksum: sha1:12b289de83682c50a22915dd3940d120cbbce5e9 pristine_git_object: dde8187060f07cd628f7032ad3aac52554fbabd2 docs/models/inputzscalerhecinput.md: id: 351471cbc4b2 - last_write_checksum: sha1:73194961224bce4f405c9c222fbfbf6bd69b571a - pristine_git_object: 614831edeb45a425227cf9b557f7426d8d82fe4e + last_write_checksum: sha1:5dae087d44630cad2e60d3a52ef8564090fdd4c2 + pristine_git_object: 5e1f9ac76ed53c1d8bb01cc9a4929887400fe992 docs/models/inputzscalerhectype.md: id: a6c2a8166584 - last_write_checksum: sha1:10c8c66f89bc800a768c0f281103599505e7643d - pristine_git_object: e02688939e4ca1d0ffa36daed4f512677098e4df + last_write_checksum: sha1:7463e3cf4144a04d8dbc943a8c0a5d0232e42bd4 + pristine_git_object: b9be481f822893e031ee86e2ef211c706150609f docs/models/jobinfo.md: id: 2ab73ab8c9a9 last_write_checksum: sha1:e6601af961403b433c093939bdb33a2ebf2dd205 @@ -10082,6 +10118,10 @@ trackedFiles: id: 043e473ea7fa last_write_checksum: sha1:eb1fd45b139ed1890e2f968a250974e3786e9257 pristine_git_object: 8b42721cd9b7b17f840e12265115fc678415ae87 + docs/models/noactivehealthoverlaystatus.md: + id: 99e546c62134 + last_write_checksum: sha1:ab6f2c0edc89dc7c65f5e52740ac4823e85f5cd9 + pristine_git_object: acb0b9ddd1c218442b75b1c86948b4af6bdcd578 docs/models/nodeactiveupgradestatus.md: id: 7c400e743893 last_write_checksum: sha1:600ddcca6b4f02ca450acbb2bd74ae9a7089d389 @@ -10232,28 +10272,32 @@ trackedFiles: pristine_git_object: 1d582629dac6e050bd3f2b41d8ed3265d13ce5a8 docs/models/output.md: id: 376633b966cd - last_write_checksum: sha1:f77204d45f848d5ba7a220ef81fa455f50d8edf8 - pristine_git_object: d9c452eaf115833fdedf74dd792205f08f4b0981 + last_write_checksum: sha1:e48188e302290323e66a39f5a01386b0bea6b4a6 + pristine_git_object: 2c6b72f2b27b72779d8004dc0fe26d9efd492c39 docs/models/outputalibabaclouds3.md: id: 8fbe1415f28b - last_write_checksum: sha1:ba1f4056f8f836dbbccb8d3221cd98b82a86f7bf - pristine_git_object: 2061665272077ed5af0652374f7ac2ade03724b7 + last_write_checksum: sha1:dbbb56cac4ec78cd8e276866435eb160549c2a4a + pristine_git_object: ac7d67e5ee675e7244de57062a2020c270648099 + docs/models/outputalibabaclouds3authenticationmethod.md: + id: 9d49815ddef2 + last_write_checksum: sha1:12c85f196073aae3ce9a6c4befb321c42d93e7ba + pristine_git_object: 6d6a865e3ef0b20de0dae9a5a829b78a0c859e3c docs/models/outputalibabaclouds3type.md: id: 0070dcf5d38e last_write_checksum: sha1:37aad5a80868a82bb6bba2d04d15b520f6df0f82 pristine_git_object: 70558a83acdd97fb4867880067ca24281565f37d docs/models/outputalphasocs3.md: id: 375c30910874 - last_write_checksum: sha1:4482e2540b9465046d5067f06c047a1d77e67f2c - pristine_git_object: aaa9e47acada657a1be8207bfb1754cfbe92e075 + last_write_checksum: sha1:2eea0221257acf4765069b7d17391c0ec0ed8c39 + pristine_git_object: bdc3be7e6c7121a93506fa1b4c354e6b4028f34b docs/models/outputalphasocs3type.md: id: 74988b0ba7bc last_write_checksum: sha1:a8a824b941d6e89b1edac199afbbc98bc703c28c pristine_git_object: b247d5118116821c7355e70480cd648e07b9de43 docs/models/outputazureblob.md: id: a995af061056 - last_write_checksum: sha1:dbbcde7f95709ecb4c933e22be48185825aaf56a - pristine_git_object: 22a2f35d4d7e771e4b986ae725e031dfc8d43dda + last_write_checksum: sha1:1253b61269eda33f75a80b7c3ffa5986fb7a435d + pristine_git_object: 6dc176af0cc4275ca462b501ee1dadd1ab92d90a docs/models/outputazureblobblobaccesstier.md: id: 3a25e6e0339f last_write_checksum: sha1:7fea750a32540f85b7f5614551c1ca2f603eda90 @@ -10264,8 +10308,8 @@ trackedFiles: pristine_git_object: bd2853e428c9c420b7da1ac4f358cf0d8d0c24f9 docs/models/outputazuredataexplorer.md: id: 69de7df3be04 - last_write_checksum: sha1:2789ff4ba7142e90ae30d98f3f70149c6624713e - pristine_git_object: 4c6eadc19124d4332daa5c5cebb7ca054ca6c215 + last_write_checksum: sha1:0cb37b2f3ca2e984ed865058ea9438ff2089ad67 + pristine_git_object: 52ea0c57d812240755cf75d856eeb78fdfd57fcd docs/models/outputazuredataexploreradditionalproperty.md: id: 9646dd0195fe last_write_checksum: sha1:571a367585222b5cbee15990192d7a4b9149ab09 @@ -10312,8 +10356,8 @@ trackedFiles: pristine_git_object: c6b8cc63d44a4e37b17d0d9250169053283303cb docs/models/outputazureeventhub.md: id: 0b25d7680512 - last_write_checksum: sha1:b2460964f78bf8fba2e9be0046bb215a6f348809 - pristine_git_object: 94b150304a39223112a1af68fd22d6a4d74d72b6 + last_write_checksum: sha1:f652612b7662d9acf6fbda90ca74e77830ca6f29 + pristine_git_object: 04b3d7e66c33c934b34d66977821099664254dce docs/models/outputazureeventhubpqcontrols.md: id: f8686af2d667 last_write_checksum: sha1:386a6dafb44921dae66e73c6c8f1efc4378b601a @@ -10324,8 +10368,8 @@ trackedFiles: pristine_git_object: 30fc2388564df03f49af4545bcfbad1672241471 docs/models/outputazurelogs.md: id: 3d5350ea3402 - last_write_checksum: sha1:35be2ff4922b136558bcfe69760dda6f2a76ccc1 - pristine_git_object: c18ac5628dfb4a3165d9ade2829af0b4c81b6a80 + last_write_checksum: sha1:bbbf000ad1ed31586de0fe5e1a0c6c0982d47b9b + pristine_git_object: aeac80188d987dba9744dbca7a30688677a10955 docs/models/outputazurelogsauthenticationmethod.md: id: fc135926667d last_write_checksum: sha1:cfa899a7f733eabdbc315d0986e16908d33212db @@ -10340,8 +10384,8 @@ trackedFiles: pristine_git_object: 6005aa54f614d49f8c17f79216d9023863022c39 docs/models/outputchronicle.md: id: 2c75111afd39 - last_write_checksum: sha1:2e1921ffccabd41dc5321b483a872ddc68c3e0eb - pristine_git_object: 4f88f9b1345cb88357f4b7dbde1e87e5083deba4 + last_write_checksum: sha1:8468af5addc84613331ebd4370c45aa4cb32a959 + pristine_git_object: c5edb7258c8c5b60099111e63b450104a7d8a58b docs/models/outputchronicleauthenticationmethod.md: id: 4a92fbd31026 last_write_checksum: sha1:d8333fdf934429a53c6378594c11546942c6534e @@ -10360,8 +10404,8 @@ trackedFiles: pristine_git_object: e8fc3055c477d48bea6e9ba080d838ffa5bf6038 docs/models/outputclickhouse.md: id: 819da4daa8f8 - last_write_checksum: sha1:8bed26762be4404e4b2147127043837cd7ff00b4 - pristine_git_object: f691a79bf3034daf7de0d1da2dea75436f8a453a + last_write_checksum: sha1:d3612c4b84bde1886a4ad761d7f2ac8d689fe1b8 + pristine_git_object: 1db6f851d7ac04d81654ba3cbf896f7c0c6089e7 docs/models/outputclickhousepqcontrols.md: id: c354fae2369d last_write_checksum: sha1:85196f8e2507adee495220e90f47be237457aeb1 @@ -10372,24 +10416,24 @@ trackedFiles: pristine_git_object: f6568f533754836e1a3836e470b5f2a9e5838baa docs/models/outputcloudflarer2.md: id: f2abd18362ed - last_write_checksum: sha1:c1f02d397b08202ad1b01396e7945f177fab4b4c - pristine_git_object: b165bd3c227ade8e16f56f771bdacd0c0e6b519b + last_write_checksum: sha1:f254e776cd5407071d14696191d91724192f2067 + pristine_git_object: a8523fc5ea2e4f510f7a1c950a07763d49acee86 docs/models/outputcloudflarer2type.md: id: 100e785c4260 last_write_checksum: sha1:ff804f39e20a7859189219b06031553f4ea7b373 pristine_git_object: e6f9989c24bc73c5c86864340efd170bfb8e9257 docs/models/outputcloudians3.md: id: 91f019fc244c - last_write_checksum: sha1:6ec5f08d3288d4a22aee614cb355b4bc3b8b3a3c - pristine_git_object: acc9847872ac68b047ecdb10706741b1ee18dd7d + last_write_checksum: sha1:31ed6bee2bc4265d06677682fdb7f43e02b7c453 + pristine_git_object: f6dabec68cd26f52ab027f418f384728b37a0789 docs/models/outputcloudians3type.md: id: be962f9906cf last_write_checksum: sha1:33f91de874950137992a1bb755e6da1aa86fa177 pristine_git_object: 1b56178805d9b682ab70612bc78d4fe77589de84 docs/models/outputcloudwatch.md: id: 33a516dcb918 - last_write_checksum: sha1:cacdf842d18bd76e93e0b72623dad1a0479500a7 - pristine_git_object: a94b915106133c22ba2ccf7a25d11645c007f3a2 + last_write_checksum: sha1:f594fcf10153434669a84bbf084bc1c0f3ef8490 + pristine_git_object: d786249ac24ebdcadf863db65b64a0201f9fd718 docs/models/outputcloudwatchpqcontrols.md: id: 689af93027b7 last_write_checksum: sha1:60f6ccc469f249e793220b92b17bba82bff01990 @@ -10400,8 +10444,8 @@ trackedFiles: pristine_git_object: ccfef2ffbe453f4a24d9be06e886a71f67f18a83 docs/models/outputconfluentcloud.md: id: b8002227130d - last_write_checksum: sha1:22bf532e988f300591e5427af59a64a14aca4b27 - pristine_git_object: 0b313c008174a6572f1f10c458a53a5ec20f1395 + last_write_checksum: sha1:56475b589970393ea8d828dd75ca705b3ee8a29a + pristine_git_object: 3b97fb64830700ca872acda977130fd2b22b0f1b docs/models/outputconfluentcloudpqcontrols.md: id: 7afcfd478a8d last_write_checksum: sha1:29d03941ca2bf97c62184a470bed496c68800a1a @@ -10412,8 +10456,8 @@ trackedFiles: pristine_git_object: 7cac56eb5255b06583e5cc9a953374fbe94bc87e docs/models/outputcriblhttp.md: id: 689177ba3b47 - last_write_checksum: sha1:597d9ce6a218698be72db280ab434d049200a9b9 - pristine_git_object: 01570bfa3b99d548cca833b09a5880ffed0eae3f + last_write_checksum: sha1:3ad80b9ca42ef7c30c99f3f2ab762449e5d895f6 + pristine_git_object: f9b767cb9c193b53fe66e52c6cd743a1ee0bb315 docs/models/outputcriblhttppqcontrols.md: id: fa5cd17b0dfb last_write_checksum: sha1:6888b437254ee121f0106c148feba96d41c20434 @@ -10424,8 +10468,8 @@ trackedFiles: pristine_git_object: adf8e5041b35bc6578e7fd47b83cc210107cdfbc docs/models/outputcribllake.md: id: b90e8719d73e - last_write_checksum: sha1:183ade4c02053763f8998dad20c63fa86f6fae45 - pristine_git_object: 6f87c0f901ea6cfebdb158cf03732f688f0fff86 + last_write_checksum: sha1:5fe68e4076ebc2831f48312edf5b71efcab2ad7d + pristine_git_object: 4f5cb5b4f0a08097d1487d37f9d47d9b48bbfb66 docs/models/outputcribllakeformat.md: id: 09c52708e170 last_write_checksum: sha1:d2910b9de11b0de41645ae9688159e8198a8d15a @@ -10436,8 +10480,8 @@ trackedFiles: pristine_git_object: b78a95c3f74ab4421ccc842add107833bcc66423 docs/models/outputcriblsearchengine.md: id: 0ed418fdd6c7 - last_write_checksum: sha1:15cb400db3bc55697d822bea74ca8ce48ccd2712 - pristine_git_object: b9dd340e7d82274da28e5df11062e433eee287fe + last_write_checksum: sha1:45dfe22f585766b0f7f888ba414fc832d7bb5cc2 + pristine_git_object: 49cd4b066e1cb1ad2ea4df1a5a06d27d97ce1595 docs/models/outputcriblsearchenginepqcontrols.md: id: a7983f68b41a last_write_checksum: sha1:d2e6603c49d0ef7bdd9da1904e0d93e20cc96d84 @@ -10448,8 +10492,8 @@ trackedFiles: pristine_git_object: a173d4e1232a758bc53652e8feadf6657490201c docs/models/outputcribltcp.md: id: 7d25803eb5cb - last_write_checksum: sha1:800c079f2d75bc513971634a229ec72d39ffe70f - pristine_git_object: b31e36d34819a0b9178be6498d371a15075db69d + last_write_checksum: sha1:a463c83e833a24f304b1ec785221db0c21b8a69f + pristine_git_object: a6fc0bd7e0561a05d555aaa022cde3bc67b8f588 docs/models/outputcribltcppqcontrols.md: id: 55e5d9f1b42e last_write_checksum: sha1:f9d663af0855e401a716abc5292e9dec8eab2d2a @@ -10460,8 +10504,8 @@ trackedFiles: pristine_git_object: 9682e0ca3b1a0eabd7556cc76aa59269e348877e docs/models/outputcrowdstrikenextgensiem.md: id: 5a40577338d8 - last_write_checksum: sha1:38bb35eae48d82468a02bec0f37e47bb3ed4b66f - pristine_git_object: 5625708ea6087f3d54ba3b4151b19f6b7507fcea + last_write_checksum: sha1:24281d830a64cb4bbf463a362342b0466c94a92f + pristine_git_object: 64d021b02c8499f6972cccede7f4a4a8bdceb8cf docs/models/outputcrowdstrikenextgensiempqcontrols.md: id: 03faf876730f last_write_checksum: sha1:23ee7a28d1244694a0b1a8d8cd9e366775508037 @@ -10472,8 +10516,8 @@ trackedFiles: pristine_git_object: 75a7f794bd8ff5f4f1f6edff7d15c578dd4cc40a docs/models/outputcustomermetricsstorage.md: id: 5059bc8850a2 - last_write_checksum: sha1:6137a30bae8643801cf322d8f04136631b9c4384 - pristine_git_object: 8444373c6fd2abd97c2df0adc71be617aadcdbcc + last_write_checksum: sha1:11f45f8b932ef4a5b6e13ce0b27559c47e7e4f1b + pristine_git_object: a1b325a45c0f50a16e031b7edab8735cab535c8c docs/models/outputcustomermetricsstoragepqcontrols.md: id: 1e89db3ee33f last_write_checksum: sha1:00bdada29ed7525b1a6ee84602e33730f2614644 @@ -10484,16 +10528,16 @@ trackedFiles: pristine_git_object: 793383e3439e8cb6a97af3f3694fd1573223c37e docs/models/outputdatabricks.md: id: 4724dc10cd94 - last_write_checksum: sha1:eefad045e0b3255e23056e9546c034de7d7c84a2 - pristine_git_object: eec5660bf95f45ddc7f76e6c376364e1b88db38c + last_write_checksum: sha1:e117d7cf8a4b7790a4aeb310d84ec59f65e23703 + pristine_git_object: b20d029a127156e4ee1c0bb8bc59664e94c9a89b docs/models/outputdatabrickstype.md: id: 34b123ed0c4b last_write_checksum: sha1:63a93176909c464b3b1bbf30d7ba85b12b52f44d pristine_git_object: 1bbe3adcd4bd5ade60e91981264a6fe165b5c39f docs/models/outputdatadog.md: id: c5607e162b7d - last_write_checksum: sha1:2936f8ecc24f9de3e945184ac2956b380f34f526 - pristine_git_object: 35231026141e17dbb765102c03a1b229f40e3d65 + last_write_checksum: sha1:15034b1f8f30ee1929054e1ec547c165064039fd + pristine_git_object: 99e2c5a423e7fd2f689d7026cc2db8d47cc9e2f0 docs/models/outputdatadogdatadogsite.md: id: 8188c241f6e7 last_write_checksum: sha1:00b243829be95baed9d14647e5ffbea8383dfd2f @@ -10516,8 +10560,8 @@ trackedFiles: pristine_git_object: 8fb54aa700ca06bcf8927a2515355c0d6b0ab62e docs/models/outputdataset.md: id: f3ae581be23f - last_write_checksum: sha1:00e56c409e6d21c1ec6f9530c6da3c2c5cae01d3 - pristine_git_object: a3f381d5aea6dd97431ee0df3deb4878024f2bad + last_write_checksum: sha1:35b8dad98be4d271182c4ded3f66a40b550f155d + pristine_git_object: 8b6907bba864ce1f40c934456bf5b77cae60e981 docs/models/outputdatasetdatasetsite.md: id: caeb1dec4813 last_write_checksum: sha1:e80c475c361772618fe4aa251981f39bb7d6ef2d @@ -10544,8 +10588,8 @@ trackedFiles: pristine_git_object: aadada1f96924fd85e49f83e5002d1a047a96c26 docs/models/outputdells3.md: id: 43b61033de23 - last_write_checksum: sha1:04be84a3c552f1f439b9fd85e3d6efe10fb844f9 - pristine_git_object: 601965f172eb78ef9dd75fbd873b7d2345ba6485 + last_write_checksum: sha1:174f167eeed603db6b9c5a7f697fc6c61f506f6e + pristine_git_object: f941c9dce06a22fe4079759b44a4be3be302c0fe docs/models/outputdells3type.md: id: 94c52bbe6187 last_write_checksum: sha1:0c81863aa30cb6ff13a6f451569ff4ccd1da4539 @@ -10560,24 +10604,24 @@ trackedFiles: pristine_git_object: 76f6e0125613f4a4e0732415544babf2f77c2318 docs/models/outputdiskspool.md: id: dbf930dccf93 - last_write_checksum: sha1:830ae8ed15167015d5f26918ba139ee666f3549a - pristine_git_object: 2005b84d7e42666be983ef10d1bc910ce9795797 + last_write_checksum: sha1:77954eab419124fe41b5c36fc9b1acf3ddf74234 + pristine_git_object: d8195f96c533b660323d1ce5b520ea6a5a0bb9dd docs/models/outputdiskspooltype.md: id: 955b992ad931 last_write_checksum: sha1:bdc4029c6cd7ff203e899148473399e0e33aa1eb pristine_git_object: 13515bdf11fa03abcd699cd597831f7510fa7554 docs/models/outputdls3.md: id: bfe004572203 - last_write_checksum: sha1:3d698844f1c7a75209e381b2353bb074f929e605 - pristine_git_object: adc153e78826d61fe14a5dd267b666246b469b73 + last_write_checksum: sha1:edb6a2a39fffe4d6987c7af27967f4b532ffdd52 + pristine_git_object: 0cece81c3f491a0a01c6407317a89018adf93ecb docs/models/outputdls3type.md: id: 96bd2140c2f9 last_write_checksum: sha1:c45848c0c9dc1295dfbe725bb6631fd83324084f pristine_git_object: 43f8046329aa7ede09d46d88e516b139dc73fbf9 docs/models/outputdynatracehttp.md: id: 2173c2e4a2f5 - last_write_checksum: sha1:e33cea7926e93201e2bc95d58fc1c13475f3d969 - pristine_git_object: 64f18e83d12047cf02785c4b5cce8e6eae21911c + last_write_checksum: sha1:6221cf79e2f8562ef4df90932fc49469be76b1a1 + pristine_git_object: f20ede43dcbfb27d30a5806b356358c2dd7e5466 docs/models/outputdynatracehttpauthenticationtype.md: id: 41fb300ea369 last_write_checksum: sha1:ab7e9ec07fbe0dffda4bd77da513a432d9cd81a7 @@ -10604,8 +10648,8 @@ trackedFiles: pristine_git_object: dc2a44fa2af14591f2b978978f335042b537bf46 docs/models/outputdynatraceotlp.md: id: ce1902556ff9 - last_write_checksum: sha1:30e6ac08ad4e4c9244669432886323599ee0c4eb - pristine_git_object: bc09339a03b28a8ef208c010228a4cc5f3abed0d + last_write_checksum: sha1:753b5e7efe89854561f59add171ea753f6e40391 + pristine_git_object: 645c53a1ea653c9640ae3150f2a4b47be99c051e docs/models/outputdynatraceotlpendpointtype.md: id: 5c7404e064a6 last_write_checksum: sha1:1ce1ea610dda34a2712a365c33cd79aaed6e1ead @@ -10624,12 +10668,12 @@ trackedFiles: pristine_git_object: 7dc75e42f92211372316aee563a17e7434fe9a9b docs/models/outputelastic.md: id: d87aa23d2d0d - last_write_checksum: sha1:f9bde151464bea3db25d6e92a8d16308f147c331 - pristine_git_object: 817614f43f844a05ce7ee6b219921c4f4fb3268d + last_write_checksum: sha1:481e23c4fd7480a800dcc82d76cfd9d33547f973 + pristine_git_object: e65da5375682c163823efe50fb4d9333d6183915 docs/models/outputelasticcloud.md: id: a2d12f7e8323 - last_write_checksum: sha1:2fe4580e62dc514bacc56d35491bd5d4934dd761 - pristine_git_object: c45e27f1ec73409b867d93216f422099479393df + last_write_checksum: sha1:e0d5b309db646702abcdc8b4ef04994e15a8bfdc + pristine_git_object: ff4086dd517c44f632d7d6d9625a2f7021fd9259 docs/models/outputelasticcloudpqcontrols.md: id: c556e2fc75c2 last_write_checksum: sha1:811c7efab192c4725c30eb699251bc98f1804e84 @@ -10660,8 +10704,8 @@ trackedFiles: pristine_git_object: 9e401aacf3b3f5adbc08f23c83fc14f67f62b648 docs/models/outputexabeam.md: id: 3994111083ee - last_write_checksum: sha1:965e47d6bf28c9aa741c81c97f1a6c9ec7e27eca - pristine_git_object: 87e24d5e20932a58587d0f34097bd65ddd699076 + last_write_checksum: sha1:52cae2a334eb550d2c3ae94f0ddefd5ab9fb28a9 + pristine_git_object: 4e3fd2251fa3b49be1706d1d62d2d7051bcca82f docs/models/outputexabeamtype.md: id: 614d02cac237 last_write_checksum: sha1:96ddcdbe766e35e5237b2656755a922fa19b0924 @@ -10672,16 +10716,16 @@ trackedFiles: pristine_git_object: 3d18a98d7605bffef27165038e86845e7e5e7bf4 docs/models/outputfilesystem.md: id: 733abda7d3a2 - last_write_checksum: sha1:2606b9819508611c94818c58fac20e5f07472c4a - pristine_git_object: d51948f71c0ee82f160f3ada969714d99ad8ccd9 + last_write_checksum: sha1:42cba4c9b29b94c70006b32726331e18c6df02db + pristine_git_object: b9ff379bdf0e1f58397a5214cd8ee841513f6d40 docs/models/outputfilesystemtype.md: id: 9e74c64dc72a last_write_checksum: sha1:f8ea683e6cdb6082111e22520b77c4ac71c86cdf pristine_git_object: 8d0c13805bfaa7bd7fd453a384d95d537f3e3fc8 docs/models/outputgooglechronicle.md: id: 94619dc3adca - last_write_checksum: sha1:393c9b4a868dde82e0300117d530a254117e86b7 - pristine_git_object: 806d027efe1be351193cdb6900b2ca73689c50d8 + last_write_checksum: sha1:a36ffcd15fdfe0d977be71782605d6e8f115d54b + pristine_git_object: ec9ca8db5a95a92f642d08a9732f239183aef3cf docs/models/outputgooglechronicleapiversion.md: id: ecd24d3e8279 last_write_checksum: sha1:c45f6e313d2e05c6dfc9bb9464ab06e777b0f027 @@ -10712,8 +10756,8 @@ trackedFiles: pristine_git_object: 458900e93f2b58f485771f67de9c8f1ea068fdc4 docs/models/outputgooglecloudlogging.md: id: 95f6a474a242 - last_write_checksum: sha1:c87f1db5a15d1e0a12326b84cd81aa39d5ab3956 - pristine_git_object: 4a4de6a520607d663795586d1cf183c2f87b7489 + last_write_checksum: sha1:cb0f49a577438fb0de1c5032a86149d3dd0949f4 + pristine_git_object: f120b608a775e4fed23c7ec1e26125860aa50d68 docs/models/outputgooglecloudloggingloglocationtype.md: id: c4781ee80b75 last_write_checksum: sha1:4746a84c0e4830f488c2b9e3ff2f4568e06d4cb1 @@ -10732,8 +10776,8 @@ trackedFiles: pristine_git_object: 6743061cdaa7bd433eafd0de292403b9af8967c3 docs/models/outputgooglecloudobservability.md: id: 8a2bc04ea225 - last_write_checksum: sha1:d524de050c08921796cc60464b88343c8d01d61d - pristine_git_object: 961f99351cfca3e9054b63e55251f0aa6caf82fe + last_write_checksum: sha1:a79ffcdf4788240dcbc373df7a09462471f745a3 + pristine_git_object: 741bf0703b03e0d446b8f46a80cfb01ca3866ede docs/models/outputgooglecloudobservabilityendpoint.md: id: 9803f82c3233 last_write_checksum: sha1:b2b2b47eda4b7ac0dc8b4622cf26ad8ba7378080 @@ -10760,8 +10804,8 @@ trackedFiles: pristine_git_object: 8bf74322f9b518c2da84dd333833fa7cb9a71802 docs/models/outputgooglecloudstorage.md: id: 336c1580f008 - last_write_checksum: sha1:d29edd9dfe37d8ed79a2778b59f321b1e8fb3fa2 - pristine_git_object: 2e463e91627fb595bfa1a973884402a761c4d9cd + last_write_checksum: sha1:7a1bca64ba198550d611b2c9acacbc3e6dee83f4 + pristine_git_object: 01657ce75626260a2db0d6b2f7b4cc087a3d0b1f docs/models/outputgooglecloudstorageauthenticationmethod.md: id: 1beb4055d203 last_write_checksum: sha1:2a4f099eaaca9b16eb204cc3809664b2183859e9 @@ -10772,8 +10816,8 @@ trackedFiles: pristine_git_object: bf8608f61cfb1389122ddb99d22dd0e11180908f docs/models/outputgooglepubsub.md: id: 7a34d15b99d0 - last_write_checksum: sha1:1e7d0c64996543c9b49fa617d8bfea22c45c2097 - pristine_git_object: 6a571d074c8b5745ccbb417a63763c56e1b1bb8c + last_write_checksum: sha1:fdce094b462fe0e6a90c39a78874c97cf505bff9 + pristine_git_object: c2751f9f9493e0d642c377c9986110496c8d0809 docs/models/outputgooglepubsubpqcontrols.md: id: 2d9289aafcff last_write_checksum: sha1:78c1a8b6fcd85d01511eea67c76dc966e5030839 @@ -10784,12 +10828,12 @@ trackedFiles: pristine_git_object: 7063851298539e9a069d49bf6c142b626da68c56 docs/models/outputgrafanacloudgrafanacloud1.md: id: 47024c76a9ce - last_write_checksum: sha1:0b4f5dd264d3e757f6e128dda71fdad5234c4439 - pristine_git_object: 7775d864e4c944fb5a0396491f1b168bf1d91476 + last_write_checksum: sha1:a448df59e15e9111436d9eb9532c544f49c4f80f + pristine_git_object: cc063bfdb92f98e340affdbfc83324d0ab22cbdb docs/models/outputgrafanacloudgrafanacloud2.md: id: ac4083195ffb - last_write_checksum: sha1:e4c81e01b7174d9e21a871a685bb30a029ea54b8 - pristine_git_object: 0c6041931d16836178ba1a58a80eff2e018a514d + last_write_checksum: sha1:a46524c4e35a7a4d0722109d0cf0c4c399bf4731 + pristine_git_object: ae1e02e3523acd03293d763a6ed148da86054576 docs/models/outputgrafanacloudpqcontrols1.md: id: 3697afa4f562 last_write_checksum: sha1:3ebfaabcba07b4c8afe9e05253c57e275fbb50f4 @@ -10812,8 +10856,8 @@ trackedFiles: pristine_git_object: 57fb4178d4f1e55e577bc1e55ea32fc325073bfb docs/models/outputgraphite.md: id: aa2b17306120 - last_write_checksum: sha1:3fdc283f50d88966439f393316415ddaf771c38c - pristine_git_object: bf1a3b148b06ab5bba0dc430b2288b7386f8e502 + last_write_checksum: sha1:60d032b463d8d6269b2f64e73775646428b315b5 + pristine_git_object: e125bce3bd1ceb83b842539397fbcba0ccb213be docs/models/outputgraphitepqcontrols.md: id: cc76e181c87d last_write_checksum: sha1:59cd8113f169693a863fbdce675459f4de560c9c @@ -10824,8 +10868,8 @@ trackedFiles: pristine_git_object: 465f316028d1136fb75be423e368ceebbc5abf1b docs/models/outputhoneycomb.md: id: 8a160c53f913 - last_write_checksum: sha1:258a31f681923321dec5d23e0e282e62ed887b10 - pristine_git_object: 3d38c3ef7dc272545f2341407c8f37efdbe82699 + last_write_checksum: sha1:015bce0aefc814e71d033d3479e503536b66b28c + pristine_git_object: 1c29321a3ea5c1a5d70bdaed3f1081ce2a38300b docs/models/outputhoneycombpqcontrols.md: id: 965d8dc8d2b6 last_write_checksum: sha1:5cd089043179c6ae518059a550997c94d0955aa1 @@ -10836,8 +10880,8 @@ trackedFiles: pristine_git_object: 396e81e64391c6c64c858f2abddea46ffe26d324 docs/models/outputhumiohec.md: id: ae7fda9850a8 - last_write_checksum: sha1:c4eca0abbb86337d70cc9bad145b37b4deb8c31c - pristine_git_object: 013ec56592f4bab24e86033e3d33b6bfed4c04ca + last_write_checksum: sha1:8114b984b4398592d9dae3ce7f6d6fbcf24ac7f4 + pristine_git_object: d5cecfefdeaec62b67d4c4bcf6f5413ee5013981 docs/models/outputhumiohecpqcontrols.md: id: 08c95108c1ee last_write_checksum: sha1:0c6b4e24979dc9547f943e880a5bb77605b97b94 @@ -10846,10 +10890,18 @@ trackedFiles: id: cee6dba3d06e last_write_checksum: sha1:1dfbc35fde6b273a6452a8e5790e2b164cbaf57a pristine_git_object: f1fb9bc6066ea989c080a6a1fa44f0549741c092 + docs/models/outputibmclouds3.md: + id: 9c5409b53c8e + last_write_checksum: sha1:5f1e80ffc8de5e2ffd9686379ff42a621a145272 + pristine_git_object: d90eac183b3a71238eae2122c883aef35b8ed26c + docs/models/outputibmclouds3type.md: + id: a7fc09d1354f + last_write_checksum: sha1:c9fb0fdb67f6f9d9627bf1360ad7a4df8b497713 + pristine_git_object: b667c7061fa5213b1b770eb4fa06acce42f4ecaa docs/models/outputinfluxdb.md: id: bfc39c854c06 - last_write_checksum: sha1:d1d7da19e6d6de4a572f59307f156246279df10d - pristine_git_object: 32c56b658ba69f41ae10bbd708d1c420f373ed2d + last_write_checksum: sha1:95c1fe0d204ed2fdd68ece98a99917798824eb95 + pristine_git_object: fd65d1b5dcfad764c5e2681e46e87490bcb55f42 docs/models/outputinfluxdbauthenticationtype.md: id: 9c612d5de117 last_write_checksum: sha1:e932e46b6c89e7b17a4696c6783e969852324916 @@ -10868,8 +10920,8 @@ trackedFiles: pristine_git_object: 6fbf00ff40381644b253aa69906e200e3a72e550 docs/models/outputkafka.md: id: 385e76c3769f - last_write_checksum: sha1:5c04ca1d86bfdc2496dcf150cbddb1663fa5c188 - pristine_git_object: 413c3e7032fbf3a752d19cd42b8fb52c083b4729 + last_write_checksum: sha1:56953f1e765698b70f5b0f95d634cd441d532b82 + pristine_git_object: 4c95f99270e425d263577e6980a0aeb1e42075f1 docs/models/outputkafkapqcontrols.md: id: a6c71c7c399f last_write_checksum: sha1:c853748ddde937e18c6e7c0a7e57766a2f8b8b7c @@ -10880,8 +10932,8 @@ trackedFiles: pristine_git_object: 8b759abf1e4caf51f1d0ef4de2d1f1fe63792452 docs/models/outputkinesis.md: id: 07506ada2df1 - last_write_checksum: sha1:7bfd97f8d82c8f9ee5f80bf23f391931ebd2cf4a - pristine_git_object: 2a0231012f9669091ad669aed55bea416ffe34ea + last_write_checksum: sha1:55d739b209a84df4bbe7058cd9de118cb14d0426 + pristine_git_object: 6249d9a6bebcea8d727c66a611de5b109152524a docs/models/outputkinesiscompression.md: id: 1573a91c2505 last_write_checksum: sha1:015fd05c10ca844807dbeb9145327997a8884ee6 @@ -10896,8 +10948,8 @@ trackedFiles: pristine_git_object: 806ae4fc4fd36f71dc76cf8923c58e5af03fc266 docs/models/outputlocalsearchstorage.md: id: b5b97101ef13 - last_write_checksum: sha1:1f7671cbb8938428bc821964f52e8b161944122c - pristine_git_object: 760c0837c55379186326bc756371d28b1f954c68 + last_write_checksum: sha1:14112192015e23753e7e2f38f28ed428e3a1c6cf + pristine_git_object: 295b697b353b1a62158397a207f46b3e7bc62775 docs/models/outputlocalsearchstoragecolumnmapping.md: id: 107b5f3a9e3f last_write_checksum: sha1:f17d8fb9e71e5ce97af9e8347280a816f8371033 @@ -10924,8 +10976,8 @@ trackedFiles: pristine_git_object: 20b764b321a1a03e2dbd26b6029f59b2b6dda28e docs/models/outputloki.md: id: 4cf3d24ecc2c - last_write_checksum: sha1:b9d82212eddf5dcaa75f7008e526de5d956f08e1 - pristine_git_object: cefce9124b201711c13626a3ca509ebf2a4da6bd + last_write_checksum: sha1:8ad0bc30fe2dda38522fd26998e5479b5eea58b1 + pristine_git_object: 81cfc3e6a89ff1d37c3fda387971257e1d0fbfd2 docs/models/outputlokipqcontrols.md: id: ed6ba4f2708c last_write_checksum: sha1:054bbcb7ff410b702b1abe15645a4d9858cd2cd0 @@ -10936,8 +10988,8 @@ trackedFiles: pristine_git_object: a55662d76b7ac5f97de2e610a80b174219d2e786 docs/models/outputmicrosoftfabric.md: id: 703f4926503b - last_write_checksum: sha1:0b3165e5806830c44f257db9fe5b4447e5bd9979 - pristine_git_object: e24ecc4ca51e4c94570c3e4b6fb0117b28310bc0 + last_write_checksum: sha1:3ebc9c75ed91c421a43225ac57f6fa7a10a01184 + pristine_git_object: 86e730995d150f723201a46c31e6e222a486a903 docs/models/outputmicrosoftfabricauthentication.md: id: ef6acf5e2d67 last_write_checksum: sha1:fbc708b54cd3a988160b3521a4bdb39db27ca656 @@ -10952,8 +11004,8 @@ trackedFiles: pristine_git_object: 2bf02c82fe93ea67e6df651847576c8d9a2bb8c2 docs/models/outputminio.md: id: fd1514cd9203 - last_write_checksum: sha1:d0f8c0d2fcd3f3e270f63b8835106b9e059657b7 - pristine_git_object: 6d69f46e49ec3425f3642d767362d9e290743893 + last_write_checksum: sha1:69bfd9b6324d42cbf5163c3bcc2b4e3d89cef206 + pristine_git_object: 08818234eae3e2bbac6491329af3e6264e95e26e docs/models/outputminiotype.md: id: b68a36222d45 last_write_checksum: sha1:6664715681c33306d29d7fd51bf0c99d99afb43a @@ -10964,8 +11016,8 @@ trackedFiles: pristine_git_object: e0ec34b06ceb2b2a75eb5d09e439c605efb9d6f1 docs/models/outputmsk.md: id: bda393102264 - last_write_checksum: sha1:a4d0af2eb0c325c3df2b8a15801ce4b19a2373db - pristine_git_object: a82465f2efe574ea27e952244260ccab244fdd71 + last_write_checksum: sha1:9e46571a6cec639f365d79644ca4ca6e655bb79f + pristine_git_object: 848bea8a4adfdcebe38d3276b7d1d4d6b3e38b4d docs/models/outputmskpqcontrols.md: id: 3a7b138e7cfd last_write_checksum: sha1:7fdacc9bdd612213029c59db0de9a86bbe2d51dd @@ -10976,8 +11028,8 @@ trackedFiles: pristine_git_object: 83fa2172884202cc89376713bef166c6cb3ed4c1 docs/models/outputnetflow.md: id: c2ca51aea7ca - last_write_checksum: sha1:4e19894eb023cc5437eb046d522080dafe75c5cb - pristine_git_object: cb333dd7a5d7cb9a3c1784495821a921c8f2dd4c + last_write_checksum: sha1:8f885d9fc4ed38827d6261a0880536bf8dd53429 + pristine_git_object: c1679472f4f2bd855582a7dcf5b8c6c6eb834aca docs/models/outputnetflowhost.md: id: 73a9bc818a91 last_write_checksum: sha1:93930ca6bab32c0175183ed2e7769b065b9deef1 @@ -10988,12 +11040,12 @@ trackedFiles: pristine_git_object: a9aaabb4f657ebae427ed6521c56f578ec508075 docs/models/outputnewrelic.md: id: 198f7fbdec40 - last_write_checksum: sha1:fbb823a68c7981a93ffa7e3989c48bab0feb8774 - pristine_git_object: 07a485185b8181e2987218e1e5175a96ea9356ff + last_write_checksum: sha1:0cd5813ec43db1befc6c0834281e52996497c6cb + pristine_git_object: 9c8e6dfc82683fbf130414b3df08abbd06fa658e docs/models/outputnewrelicevents.md: id: 89dd9e0d5531 - last_write_checksum: sha1:445529dc865b60ecac6b97b16e9225ff4a10d8fd - pristine_git_object: 5fc4447c01795545cd600a7d83b64b22217b9c66 + last_write_checksum: sha1:66761681197036ad27df294d70aa7193600c5c57 + pristine_git_object: fea33c8a5cf4ad19c91654df0c8a97d6d7e0f7ce docs/models/outputnewreliceventspqcontrols.md: id: b65ff57343c1 last_write_checksum: sha1:e5b712e187bfdfe6988a1a7614169e3cd57a84da @@ -11020,16 +11072,16 @@ trackedFiles: pristine_git_object: 7900b658fa6191b98764954d728ae27db4cd71ac docs/models/outputnutanixobjects.md: id: f4d6f7589b5a - last_write_checksum: sha1:f68781b47256dbcf9488750d8ad4664638a8f8e2 - pristine_git_object: 5ce0d7beba7224a6871d8cf6f2fa4a9538905f66 + last_write_checksum: sha1:037cecf0c1799fd5bc967d89ec917b1915de0adf + pristine_git_object: e968e04c0ad2e6e4e5b89e09a83eedd232fe850e docs/models/outputnutanixobjectstype.md: id: 529e019a8131 last_write_checksum: sha1:aa1a155459afa180d4a0221291153ca3f3ca8470 pristine_git_object: 283ea651607257503aed99bf4dd918cbbe73736d docs/models/outputopentelemetry.md: id: 6263ff05f7c5 - last_write_checksum: sha1:d25097fb0e6eb8daa4d8e95f463d81cac9690434 - pristine_git_object: 4720024d8cf038d1903de706f0283b2b28f6619e + last_write_checksum: sha1:c17ef0c41983961591869b7192d5c8150cfde5f5 + pristine_git_object: 80db605298986192e6050bf3a349d139542dc94e docs/models/outputopentelemetryauthenticationtype.md: id: 91a224844d3f last_write_checksum: sha1:e1d597b18b3f85e453bc0084a9c58d318f8b7b85 @@ -11048,8 +11100,8 @@ trackedFiles: pristine_git_object: 5a90efded49ef49160c42fc39b2879a610c98556 docs/models/outputprometheus.md: id: f60f2df44715 - last_write_checksum: sha1:4bd3bbcc4cbb90ea9b59a8e0394029403a46df9d - pristine_git_object: 72766e8206604b7fb2c9df46ecda9a1ae17032d5 + last_write_checksum: sha1:3ed5a4c021f6839f574217a6f0431d185da4664b + pristine_git_object: 280bef1101ad7493731a577eb7a4039dd0e7b12c docs/models/outputprometheusauthenticationtype.md: id: 42686e8586f5 last_write_checksum: sha1:94f643bb4c9cd1254b80ba14f6150b294c2483b9 @@ -11064,8 +11116,8 @@ trackedFiles: pristine_git_object: b5f26f20513a80e20c7aeb872e0148c1dbff638d docs/models/outputresponse.md: id: e09d17192e47 - last_write_checksum: sha1:ad6ecbfa4aa4880d9796715966b380d4ca10e372 - pristine_git_object: 38a597a11696446956cf06cf470cb2bfedafbcc2 + last_write_checksum: sha1:b42c3e86ca7018498cc7b015b2c09c837a143d11 + pristine_git_object: c01728393f79a9b01ed9a4f7a70313aa747f24a9 docs/models/outputresponseadditionalproperty.md: id: 9fe152894a06 last_write_checksum: sha1:2dbdb19d57d3aa6e7295aaff2db05169d8cd0ba8 @@ -11082,6 +11134,10 @@ trackedFiles: id: 60ae73e1c507 last_write_checksum: sha1:49957b5a3186bc9b16497daed3e109fd042ebf4c pristine_git_object: 502f2356e6dc6037ad71aa9f1be1c327d8d7c6b1 + docs/models/outputresponseauthenticationmethodalibabaclouds3.md: + id: e79986a8d47d + last_write_checksum: sha1:3de614c4e9db1294eb442870b4202c098eacdf3c + pristine_git_object: 192672b29db9c69d7a081358a572f51fbf51053a docs/models/outputresponseauthenticationmethodazuredataexplorer.md: id: bd1549525a74 last_write_checksum: sha1:6f684ee09393a9769920a6c218a6312879b64718 @@ -11268,160 +11324,160 @@ trackedFiles: pristine_git_object: 57096bfc0d34e05e53c87c3f56cbe1c272e0815b docs/models/outputresponseoutputalibabaclouds3.md: id: 8d45296de875 - last_write_checksum: sha1:8b1a3c4366a8c39b4ce2aa0c41d3e137466400c2 - pristine_git_object: 332ebc2935d044e72133b7c9a6cc542b9b744211 + last_write_checksum: sha1:326910e3f057d83070e32b16d483aae1e7859516 + pristine_git_object: 7e0d013c83c2926a47102d08a142fc0769f4a2f5 docs/models/outputresponseoutputalphasocs3.md: id: b6dbf8b7551e - last_write_checksum: sha1:87a95b601fe3991f93c05b892239c1186551bac2 - pristine_git_object: 229294f8c1c37219fda9c1b359c66cab80b48c78 + last_write_checksum: sha1:8ddc4319618f615545e552df56bea02ef8e11f54 + pristine_git_object: 67ce9f29e7a47df61e1db285a3d683df8752440f docs/models/outputresponseoutputazureblob.md: id: cd66eeca0c92 - last_write_checksum: sha1:5681a65e593fb57b87e0d212d47ead0f4c481c20 - pristine_git_object: adbddf0a2034d6d4fd477f24aa66314a07e9b521 + last_write_checksum: sha1:535558f1ec0ecf244ca437d67f7310fe0ccb7ab3 + pristine_git_object: d0fa94860cdfebd761302e3f15c788f4b9bb8acf docs/models/outputresponseoutputazuredataexplorer.md: id: 6709dc53e281 - last_write_checksum: sha1:9de0743877ab7e5a81457ec326e56b8d427122dd - pristine_git_object: dad46f3f4067dc54e5a4b9aee6dd5fb7f8fc7559 + last_write_checksum: sha1:7f64c778e856525cb1faf2e9d897fe76044ce509 + pristine_git_object: 2153671e71ca3d49dbd7915db1c4bfa0d9ac3988 docs/models/outputresponseoutputazureeventhub.md: id: b44a571d1a9c - last_write_checksum: sha1:1be840670fe0c4eecb8790aad19c9ad0c68eb3bd - pristine_git_object: 4872895717df45c96c5ac20e0b6f4bcea888caa2 + last_write_checksum: sha1:3c04b0c1d85bb0fd6b5340736f0c256eb5d9c6bb + pristine_git_object: ebdc6dccd6aeaccc490fd9e8b931e2bc63f1ae11 docs/models/outputresponseoutputazurelogs.md: id: 7e530e119f7d - last_write_checksum: sha1:3da9e48c8b23e9bd26d6c3482e03ffa0dbbc3225 - pristine_git_object: a212e7281d053743655c978655e32a86e8d7dbcd + last_write_checksum: sha1:673ce93f99d76024abd7feb7bb28f81e8d82de39 + pristine_git_object: 669a79f4eb238802737a233d5e2f2e215e581f65 docs/models/outputresponseoutputchronicle.md: id: 4d691b29b4eb - last_write_checksum: sha1:a37c0f905029552b422c31987a46aa0c5d92b28e - pristine_git_object: aa4f3501514d789a6a00a70c1cafcfb3396b8456 + last_write_checksum: sha1:bc66709b1d5de9fb5827a25136bceba3b7ae30ee + pristine_git_object: cf2f84fda9556780ac8f00b3307345af33bcc31f docs/models/outputresponseoutputclickhouse.md: id: 87a9c5e49123 - last_write_checksum: sha1:afeed6279a1cb44d6e6e3f9588fec8f374582bf2 - pristine_git_object: 41ddafc1c4c1f854c29310ce00cdc5750012ac88 + last_write_checksum: sha1:bbc5f5316d1a4ac263fd484af0ec88fc14cbd009 + pristine_git_object: 3b5db2bec8d3048d9161d8188a4d923437508ce2 docs/models/outputresponseoutputcloudflarer2.md: id: f6222b2f3631 - last_write_checksum: sha1:324bc673b40d661bf90d466451f1fac51e17c0a7 - pristine_git_object: 7f98c3bada68736e61b705ab500968cf48457917 + last_write_checksum: sha1:c71d7666521242664987cca3a8bf36dbd4d1e51b + pristine_git_object: cbd7a4693a8135e7b792a7a08785fe957347a621 docs/models/outputresponseoutputcloudians3.md: id: ba0ba5f4a497 - last_write_checksum: sha1:4024f81040a748c167a90e704a15d40e101e3ce6 - pristine_git_object: aaf1ed9badfa2121a1cd4212ae29ef81fde1b3d7 + last_write_checksum: sha1:9370ae410b10fc601a0cbec893536e29be0420a9 + pristine_git_object: b17497fff29753b5894acea196f8dd11d6cfa6b6 docs/models/outputresponseoutputcloudwatch.md: id: 20b3ba45ca98 - last_write_checksum: sha1:099abfec0299c27238df3aac87ee7922c7bcc23d - pristine_git_object: 208bdde9d5ac3f6e5b7f4f6badcd557e9a192b08 + last_write_checksum: sha1:afa66664bd9d739b4ff257c75ff46bb65c509714 + pristine_git_object: c1cf4024d3d05f73f977314c19accf30edce247c docs/models/outputresponseoutputconfluentcloud.md: id: 7514bd6e96b6 - last_write_checksum: sha1:1789cb42eb274193de86cf269fefcdcb89ee047a - pristine_git_object: bc43b9a357fdc52fc921b567b639d05c616cde0f + last_write_checksum: sha1:04b38918325360cb3d62d3028c9d4e29f2721cda + pristine_git_object: 977cbfdc0ac6abb44a4c536717697acd2ce2c67e docs/models/outputresponseoutputcriblhttp.md: id: a09cfabc4ef2 - last_write_checksum: sha1:157672c92b3405e693be17324652fd7687fafb7e - pristine_git_object: 26cebfe7fd502dd3fde779c23d2aa60766906ba6 + last_write_checksum: sha1:f409fdd2613b66080dab6345dabde4e147bea254 + pristine_git_object: 20e6de8a7f7ed86d7402eb232e1ff2fce58534d3 docs/models/outputresponseoutputcribllake.md: id: 74c60dc553c4 - last_write_checksum: sha1:9a7258a247045670f3672c15af36520d7ed7c48e - pristine_git_object: a40233aa8ecdd6129917c28ba659beb3f591501d + last_write_checksum: sha1:b983f08ff0033bb0bfcdcbc1a04160a639267574 + pristine_git_object: a55185cc8d877e9cbffb390b83cce2202cad19e6 docs/models/outputresponseoutputcriblsearchengine.md: id: eb2778b30827 - last_write_checksum: sha1:742deb711e90d26e44320d7cb81be5a01e02d162 - pristine_git_object: 8de290935314347d487300f8aa6758fa10530949 + last_write_checksum: sha1:52dc9f8fba31bba45fa358bffdde47a8816be32e + pristine_git_object: 3c40fcfade4104ba6eb076df5ed08b9ea5b597cf docs/models/outputresponseoutputcribltcp.md: id: e78272be4efe - last_write_checksum: sha1:045bd1b07f81e94d1ca71d4d42010d13e80a0d44 - pristine_git_object: e0761bb33ac6b63d3bc0bf25a3045edb1d63ee68 + last_write_checksum: sha1:dc4b2eb8ab9c5995e824e03f3b6c4e47817da1fd + pristine_git_object: c195ca5435cdd3a20d56a21ed18fd95a2baaacc4 docs/models/outputresponseoutputcrowdstrikenextgensiem.md: id: ca115b05146f - last_write_checksum: sha1:441a2027dae4a01c54da1a5febe7706f20d2d8b3 - pristine_git_object: 2e7c2f83f60d5e75f9f7918e6c61189b95ce95b6 + last_write_checksum: sha1:36d5c9112d933a5bf009e8627aa569fc24eafce5 + pristine_git_object: 828c89da78300f4d60134e2410d3c3fb59529338 docs/models/outputresponseoutputcustomermetricsstorage.md: id: 2d6f0e487d83 - last_write_checksum: sha1:ed5840498c6d9f7d5b2e651afcc906cd583547b8 - pristine_git_object: eeb2ad5291d1fc4749ea098e0d8047fe4e5deede + last_write_checksum: sha1:fc03df437debbe06ddecbe9a6fa901d5d432d2aa + pristine_git_object: e6bac2a96f2bd46a394d0a0e6b179838ed436fab docs/models/outputresponseoutputdatabricks.md: id: 7916815682f5 - last_write_checksum: sha1:afd9150f23436fa3013a92a852f639517928b0e2 - pristine_git_object: c270f0235f92b864813b48a83dd9b9e8aa49279d + last_write_checksum: sha1:7d65ba20708b9a4cca942cf11790df57ab919807 + pristine_git_object: 8a210702f8908d93f814f3960752e27ad7e5988b docs/models/outputresponseoutputdatadog.md: id: eea4ae807211 - last_write_checksum: sha1:9f3ee46d92d0476f1568b14156030ad8ee61c13f - pristine_git_object: d0a92cdd7c2a270d191e6e41bc56d3cc1155e985 + last_write_checksum: sha1:2c6878b0924634dd999a22504b42c48215d66dd8 + pristine_git_object: 7c950e99b0850e5285277e7681099ca809b25fc5 docs/models/outputresponseoutputdataset.md: id: 3746ead5fb63 - last_write_checksum: sha1:9131f0d4444d9b672c85b3ea88d33e1804d34dcf - pristine_git_object: f17374b21f39ed10fa1c2c7c1aff80f77bbea70f + last_write_checksum: sha1:e87efff88a39ef21813d633c30c6352ac6158851 + pristine_git_object: 3bedfcf5997fe03a7da1d90642b5017f6b9c0bb1 docs/models/outputresponseoutputdefault.md: id: d20ced2bc8af last_write_checksum: sha1:0671c0f2fc6693f83bdad65965b104658219d6ec pristine_git_object: 4c070d043758c5478a7971ecbda3966470b7c2a2 docs/models/outputresponseoutputdells3.md: id: 515523ac75e2 - last_write_checksum: sha1:447099217ca7ebfe6b67fe9675d2760679cea953 - pristine_git_object: e84687fbccc945e92f4db35c198dcbb53aa4f042 + last_write_checksum: sha1:0c7ac93c5d2e66e17b0d6fd5f172c2eb4de02812 + pristine_git_object: bd7c97766816c49f861bebac53ef8ca3cf470442 docs/models/outputresponseoutputdevnull.md: id: 3e29df8c9d60 last_write_checksum: sha1:3b11bcdf6be900ee70cf6fb09fc37abbd9c1adb0 pristine_git_object: f0cc8258e336dea9b4ba1b921b15b1c15cf0f835 docs/models/outputresponseoutputdiskspool.md: id: 902a5903bac3 - last_write_checksum: sha1:a7ee125436e739d5faf5b1fce4122988a2361fa2 - pristine_git_object: de9863aef98e824ce989884a012c16c72ffada6d + last_write_checksum: sha1:be86a8da675199e1757c2ab31eb4f78a1dbad0ed + pristine_git_object: 0bc976cde7c077be7105a09db638fb05878c0af0 docs/models/outputresponseoutputdls3.md: id: a1d78ba9edcb - last_write_checksum: sha1:b6812ea75266d8097f6657f4effc04c9908e9dd7 - pristine_git_object: 4d99b8bec89ce6f29e99669fc450b7c75016d3aa + last_write_checksum: sha1:999312238a7b9938f662ded2e3584aacb71615df + pristine_git_object: 36c89a244eedad2ce3c7b45fb9b6286c4efec013 docs/models/outputresponseoutputdynatracehttp.md: id: a3cbb42af6af - last_write_checksum: sha1:1658a05d08bae288161c555bffd58ec24d6b4b16 - pristine_git_object: 9333b4f96c4aaedf49c5f733b9f104ee5cd8363f + last_write_checksum: sha1:5a2fc358ef8d3c81630c34cf8e6c41818c729306 + pristine_git_object: 923c5c4f68abfafca63c057fddabb5016e84d672 docs/models/outputresponseoutputdynatraceotlp.md: id: a3a6c8f6acea - last_write_checksum: sha1:ddb88f8b114e808e8b1d53d285923fc8adcaa3ad - pristine_git_object: d12ea8b91706c7218e96ef94b6d01c6fd36db0e1 + last_write_checksum: sha1:3b120524b4e4bf24dd372e565a5fc9d0789721c4 + pristine_git_object: d4fceedef9cb0febda8a8284d41e83de32ac677c docs/models/outputresponseoutputelastic.md: id: 10556fb5c25c - last_write_checksum: sha1:e607dd572c5e068a6679098b9c4fb2d8919ed6b5 - pristine_git_object: bcc0f506f50abe2141a8a2c03495efc95d978f59 + last_write_checksum: sha1:7c7709a0d9c2eca9c9a76d6fde3082102be4f50f + pristine_git_object: 25775b11f3fba8d5a1b4d88e5f52b85f795da5b1 docs/models/outputresponseoutputelasticcloud.md: id: 8774122802a8 - last_write_checksum: sha1:d900e7f5e9afeaa900c21681ba3b591bba4f4842 - pristine_git_object: 721a555c5ab15a31a9dc190c4cfdbb69ed3eea54 + last_write_checksum: sha1:2ad4a532cd48132f74bce5c4d702ffd30d666489 + pristine_git_object: e5b5956a8405b9e37c77e40e633ac1c5446426fd docs/models/outputresponseoutputexabeam.md: id: 340aa5921897 - last_write_checksum: sha1:220206a70e2355f46521230b6bd88ed6036630cb - pristine_git_object: ba48df4272fa29e46d6bbca2b27971a4fdee05d7 + last_write_checksum: sha1:5d91cead1b19ff593747de12a3090d0ee0cb3724 + pristine_git_object: fe1e837d0b9498cbf5827e5c4a9729a7676db292 docs/models/outputresponseoutputfilesystem.md: id: 15bb1c0aabe2 - last_write_checksum: sha1:efd3eccea4549661892319e54fb9e12dcd8e7563 - pristine_git_object: 559012b66c2ac541496e2033344d62c1beec0be5 + last_write_checksum: sha1:4023dc60426419021099cc51be8b42961c1f02ea + pristine_git_object: 6014365c923edcb19f8006ba096cc4b473c143ec docs/models/outputresponseoutputgooglechronicle.md: id: 54c8ae8614b9 - last_write_checksum: sha1:6fc13b3dfae1e3019ffd6aa7dc738bed31f09020 - pristine_git_object: 298fb39d00feb09842aedaa216e2cb4ba1905d07 + last_write_checksum: sha1:373828fbb628277728a2db6bf62cbbd03de41138 + pristine_git_object: b1168e20c59f1cca371bdcdae61a9592ef70a895 docs/models/outputresponseoutputgooglecloudlogging.md: id: b2f501ddfb9e - last_write_checksum: sha1:5f446feaf8722df9d86ce6b05528c4e5384a072d - pristine_git_object: 0712cdd3d3251d029ebd8cfd8d7581b975137290 + last_write_checksum: sha1:0bbd3dc9f1758cebbb133f3356413a76ff658e25 + pristine_git_object: 2f81e7364618926c7011d9734cbd82e2b4e39528 docs/models/outputresponseoutputgooglecloudobservability.md: id: cdd379522813 - last_write_checksum: sha1:91a7e7f1bf83bba9201f764d20fa746fdb74dd1e - pristine_git_object: 9406847e866c4e8c7f171240a3307e3a93842973 + last_write_checksum: sha1:094c9082b8aef14f6d9b88a25a1511a2b1a5dfcd + pristine_git_object: d3c98f4ec68e2a85ff84c26062dd1bb385664849 docs/models/outputresponseoutputgooglecloudstorage.md: id: a817d6e8e2c5 - last_write_checksum: sha1:4d7eff066a57be9382c065744eadaf242d74f793 - pristine_git_object: 5be304f1518a4d4e79da1a6c16051db8a2ee91e6 + last_write_checksum: sha1:099607117501fad20b85c38ae96c4f95d28641cc + pristine_git_object: 163a935a125424950050c5f8712c6d4102092e82 docs/models/outputresponseoutputgooglepubsub.md: id: dfc98eb0f8c9 - last_write_checksum: sha1:e5ec1de045f4600d74669ec1056390e0c4b19744 - pristine_git_object: d1e1544a691c444c018bde9f6dc3840d05922065 + last_write_checksum: sha1:5be1a6c5fe11a83420181685633c20fdf070895f + pristine_git_object: 87228be696e5c3884c46904adb76416e884bd1f4 docs/models/outputresponseoutputgrafanacloudgrafanacloud1.md: id: 285282042b84 - last_write_checksum: sha1:cc3eb87d3ea4d9303fa2b6db4eb203e443717c99 - pristine_git_object: fb891e82beb587a9f81a6e0b8e603c55456e6f29 + last_write_checksum: sha1:b48705837d5453b389ad7a401af489c9df219d32 + pristine_git_object: ceeb1588744dea8c145f3046620f5696b6020176 docs/models/outputresponseoutputgrafanacloudgrafanacloud2.md: id: 66dc96809aa5 - last_write_checksum: sha1:2d8fa6c0b9575c563af0fb5b9ee7e563835c6dd2 - pristine_git_object: 10df618a50b0f8d2a4e29724eaf8dd10c7e5e447 + last_write_checksum: sha1:52754b25f64e35f93fa642163158d9327a510201 + pristine_git_object: 7be4ef3fc869bddd713a3606317e5c9294ce352b docs/models/outputresponseoutputgrafanacloudpqcontrols1.md: id: 168e4fcb1f5c last_write_checksum: sha1:bf23fa374f8d0190c01687c479b168b34cd92083 @@ -11444,160 +11500,164 @@ trackedFiles: pristine_git_object: 02ea28ed2bf7cdd58ddfc6f862749f3c0d085163 docs/models/outputresponseoutputgraphite.md: id: 3c07c015faf9 - last_write_checksum: sha1:441a2e48092677805d9d9f38cb2961fc37338cbd - pristine_git_object: 0b4403ecfccb0d54d999c9b007658e22dc099803 + last_write_checksum: sha1:1d07b8eb3d3cb9263faf744fe1108ed5338f6dad + pristine_git_object: 0455718013b18723fa4ffd53abc754069ca60334 docs/models/outputresponseoutputhoneycomb.md: id: eb46b7ddaf6d - last_write_checksum: sha1:2aa93f12aac98c181ce9bfae7cd5e8bedd504280 - pristine_git_object: a3ab96cb767fc6b02fc46c0a5580711314515e92 + last_write_checksum: sha1:268689885fea86b174729f9f68a1cb95d1cf5a9a + pristine_git_object: 0ed9a49e674a3e896760242cc5735fb038e34ad9 docs/models/outputresponseoutputhumiohec.md: id: 245ddd98b246 - last_write_checksum: sha1:6045f12a1682ae971cd840c3290c375efb77efef - pristine_git_object: 8ebdbc254e7d3bf8b0e6346598315fb66b97ff5e + last_write_checksum: sha1:92a7f578dd3a15c1813d8111c8a62ebb6e0ca4e9 + pristine_git_object: d72cbe1b507d67bcabae09d95c940b2578f31d8b + docs/models/outputresponseoutputibmclouds3.md: + id: c6143c3f2e1e + last_write_checksum: sha1:94b5b1fb65537f722109416b9d113be13b93177e + pristine_git_object: 0abde8173a1f56ca3b63e8336b3a8adb0ab6c86a docs/models/outputresponseoutputinfluxdb.md: id: c211d4992be4 - last_write_checksum: sha1:c5b66e1b355307a3fd1f2c558641036faaee437c - pristine_git_object: fb59d4c424990b7bb22da4a81c4bff3f66208ca0 + last_write_checksum: sha1:7adf623df0da788ff6bcd04f64724388013950ba + pristine_git_object: b147de43fc5ec014c3260963e2cfda903ec0b0fa docs/models/outputresponseoutputkafka.md: id: 04a5915ce172 - last_write_checksum: sha1:4706e38ca7dd002cd51ee07a1cafe4165aa055b4 - pristine_git_object: d3038983289e46736df674a89de0bcee74c2abde + last_write_checksum: sha1:5b535fd8223bccff5dc63aeb6056998fc6042ddd + pristine_git_object: 9b4ea81e8d999945522ffc2bc4aa28ec1609b4e4 docs/models/outputresponseoutputkinesis.md: id: b92abdccc740 - last_write_checksum: sha1:fa8857fcac49b8c2b6a572811f0db2e71e78c4a4 - pristine_git_object: 1fd005c5d9fe630c8c77b079dbfa3b107007cfac + last_write_checksum: sha1:cad170e46b5bd3f26e50a806e06d86aa34212408 + pristine_git_object: bd0739edf29e3ea5a12a12d5c1d75a9b877f5818 docs/models/outputresponseoutputlocalsearchstorage.md: id: a3a009cd59b4 - last_write_checksum: sha1:b56c8fc392372ff262624eca81ed32a81382bfda - pristine_git_object: 3b2d40147cba80d17e22441d4924cb383d564566 + last_write_checksum: sha1:a473cbd2d99cb27da94bf25ce234bb27f7a2357b + pristine_git_object: 27190ede07c334606ed9e54845da10fda2289272 docs/models/outputresponseoutputloki.md: id: 55dcf35a3db2 - last_write_checksum: sha1:c5ac8b7ef75a6fcc1e2eacf482a8ae148a8928e2 - pristine_git_object: 5a75364e311ec8a1123a7ea87540828fd6bac89e + last_write_checksum: sha1:2b9ec5641ce836330606a98d479e19b34d880120 + pristine_git_object: ac4df77c49aca1dfcf196659ad8856a7531c0762 docs/models/outputresponseoutputmicrosoftfabric.md: id: 7abd738e3ff1 - last_write_checksum: sha1:d38c8cbf04cac632191a46f25a471295b32717c2 - pristine_git_object: afbd9d6de29fe0b5a2e0121b6b0ab532b0f9b623 + last_write_checksum: sha1:c7874841e90baa1250e0a57de7be748ecb1bb977 + pristine_git_object: 1059c1018bf0a41e9d8c62e20907753b34cf0e6c docs/models/outputresponseoutputminio.md: id: d723402af2c3 - last_write_checksum: sha1:134c2c21c4362329bd2aff29b1fe2d5ecba10495 - pristine_git_object: d4df7071d484989da47c3f84f23d97e547157854 + last_write_checksum: sha1:ec86fb1c7c2b85d8c4bc38a3731a93ed23d1bb89 + pristine_git_object: de64a6dbc7f9f5e0b047600fa6e86f87764b4b1e docs/models/outputresponseoutputmsk.md: id: a290868350a9 - last_write_checksum: sha1:478ad4c5d137db78478cc80b1863707b9bbb183c - pristine_git_object: 37e5ea57b9e2215f263b2bbcc3da26d42048d5d7 + last_write_checksum: sha1:5fd6ed9a623ec61fc04f49fc52028e9a41d7dc97 + pristine_git_object: 1fdc2143d480cef6f749b88433bea46f2743e75b docs/models/outputresponseoutputnetflow.md: id: 9f91b6dceca1 - last_write_checksum: sha1:288d60c25cfce015d495c0f2ea2c282340ff9fb3 - pristine_git_object: 92627c6c07cd4ce120de9513f83b50c11da03cd2 + last_write_checksum: sha1:4af53150a7f4d111780338f1d37dbef591640b93 + pristine_git_object: 02c5b0e3939d51c14878c370714d528b81205d40 docs/models/outputresponseoutputnewrelic.md: id: 5204f08fcc1f - last_write_checksum: sha1:dc7a13b722c10f1fd7684867b3eb1f148aa451c3 - pristine_git_object: 5ee53bf25a6f254853d765cd8327f0309c73ce01 + last_write_checksum: sha1:1d80f71d615ae87e0456c68e01b0ee41ed2b730b + pristine_git_object: 2fbea9cc53392a23cb89f9479471188736801a8b docs/models/outputresponseoutputnewrelicevents.md: id: 3a91c240fc84 - last_write_checksum: sha1:5cdc9099a1041f6f143309a2c5cdf6fe0a9330cd - pristine_git_object: a0e68c02d10b8739fe028e94a454bdb60383c927 + last_write_checksum: sha1:b1a822a3191af802df800e01b0ea2f941b75db57 + pristine_git_object: e01bf70b8f86c692c4fadfa892f48ac48527c5d3 docs/models/outputresponseoutputnutanixobjects.md: id: 1cb3cd9a93a3 - last_write_checksum: sha1:d6078ce61b2c73ec3fa6eedbec8b6bccd8754801 - pristine_git_object: 0c3533111ef296d87e461e74a02b0f26ac9a9103 + last_write_checksum: sha1:62c595f54283f5a1d78536cf5f61353bfafbd06a + pristine_git_object: c8082399c7b6ac436ce329ae7b3c34c63f70105d docs/models/outputresponseoutputopentelemetry.md: id: f12008ff473d - last_write_checksum: sha1:3bfb71ebfcc4a9842333687a57422783ea331f45 - pristine_git_object: 11775ec6794644045e8de46d7231924eaed3f5d5 + last_write_checksum: sha1:ad9033d0d4b1f2c3488a7493797073763f898a21 + pristine_git_object: 2a6a5e760488dcbf59e8422d6cdef1402ee1bc2a docs/models/outputresponseoutputprometheus.md: id: "483350017891" - last_write_checksum: sha1:79dddda31dcde6e42ed19a6de05dfef9478d3773 - pristine_git_object: e6fb3f2d6ad54603466cb6318ccb3fc9ff445994 + last_write_checksum: sha1:88854d7bd2a3e06ba6fac0af7fd65df263e8b44c + pristine_git_object: edf3afdbfb3914f5280846ff80023c11e487e3eb docs/models/outputresponseoutputring.md: id: f9f1ea7afe85 - last_write_checksum: sha1:75bd60ef465ab53a103c5780f6430a4a00dc5cc7 - pristine_git_object: 09f15d584bb26e12824d480799f50e31202b35e6 + last_write_checksum: sha1:8d53ed5df7a3b7a465d5b4c00976cf8f403597e4 + pristine_git_object: 3b82fcda9dec9551b7b2b746aa68d4bf18d1421f docs/models/outputresponseoutputrouter.md: id: c3e617dab2f4 - last_write_checksum: sha1:718e000c90597ae78c33b322e34891254f2d8644 - pristine_git_object: cc161931d9ee62f0e3e52b0e687233ab9f46c779 + last_write_checksum: sha1:19f28a29bd4aa94fab5e4851ecfd20749c4c7fcb + pristine_git_object: 4b679c02c51626288ac8ef551f33df5bbf88496d docs/models/outputresponseoutputs3.md: id: f665bc3a232a - last_write_checksum: sha1:da7bd6ae981c6e1d1fcc079d928b1f6d24d74ce0 - pristine_git_object: 9a3435cd0fa2b05b7086fd57f3dd60093ead98fd + last_write_checksum: sha1:af1512bdb972e16b8b6a6ab483ebe19a2f8a6e6e + pristine_git_object: d3f3d97f40c025caa8c74cecc77bb313ac4fe5bd docs/models/outputresponseoutputscalitys3.md: id: d5b943060fcf - last_write_checksum: sha1:394ae60fc695e177d6c7394aa4ef4fcd902f1325 - pristine_git_object: fd10c49aadd7fc275d4e120cab41ab2a7a7a051c + last_write_checksum: sha1:6f34f8bf055ab103ff7fde457dac281a28912ec6 + pristine_git_object: c3e8f06874e5261094a96b94cb7565a669b6f98e docs/models/outputresponseoutputsecuritylake.md: id: 063328c29a66 - last_write_checksum: sha1:7fb6b9a232b18ef77a103fdff416f28cb8ec5d87 - pristine_git_object: 4872d7725fa2e159a9f3da04dbd82eaa296d002c + last_write_checksum: sha1:06c61804acc8c0f974535587c9a4009f2741a848 + pristine_git_object: 39e0a20cdb3d4e0d8e49306a0b246eb2b3e8d2f2 docs/models/outputresponseoutputsentinel.md: id: ca3df8b8a8bf - last_write_checksum: sha1:b337340e7e51095ff849534572e55c9e24f36f72 - pristine_git_object: 218d5026780181d16c665c3d1908de1724069647 + last_write_checksum: sha1:c5ff78b6c5870e9a742a9dd976fa174c74eaf537 + pristine_git_object: 610974c2be32da9acae9ad2d62c624ce19747294 docs/models/outputresponseoutputsentineloneaisiem.md: id: 609583aadb29 - last_write_checksum: sha1:57b87b595d47574a1dc6a729cb9d8716ddca64af - pristine_git_object: 17f98d241bfd1cddc4191cf3f12547005f5e3acd + last_write_checksum: sha1:4b59da58365891a5ec9b610125a9cfb657d7e002 + pristine_git_object: f3c74708c33611133a30585ae874185e830c469f docs/models/outputresponseoutputservicenow.md: id: 6030b621ea48 - last_write_checksum: sha1:dfeb5793300890a45653c5dd20f317f6d8f27895 - pristine_git_object: 3086da83bf388b15bca3a75a68a1ce26fbbec6fb + last_write_checksum: sha1:bdb813b54309218865fc5554d57e61d2ce583a79 + pristine_git_object: d796ff24a4df36c05898ec675a2a5d3cc03962b0 docs/models/outputresponseoutputsignalfx.md: id: b4e25513f4ef - last_write_checksum: sha1:5f30ea9a96501adfec1d972998c41bf76ae4a18f - pristine_git_object: 8688946e481ac11f7ac74cb9939fcc3053957eb9 + last_write_checksum: sha1:1f708fb8f515355a3f6ae53c896f7920249670f2 + pristine_git_object: 8a39e7a4c36dbe8d9e2bfb129daa1612d1360cc7 docs/models/outputresponseoutputsnmp.md: id: 600db83620ac - last_write_checksum: sha1:4872fd837fec05847402be71a8f6c6aec56d596d - pristine_git_object: 0d1feac2190fe4fa457cd1e9808330356dfb6dbd + last_write_checksum: sha1:c0d7290c4855603f60bd2b663e19b37a2ce0b548 + pristine_git_object: 5a2cc3c4186f024b98ec03c0df9de31c99c388af docs/models/outputresponseoutputsns.md: id: 803b362feaf1 - last_write_checksum: sha1:e52863e23eb3192260b34d4ad29a31f6059fb47d - pristine_git_object: 1c1a30690184e7261ba3010f46d49471963aaf36 + last_write_checksum: sha1:81c33fa16f60c2007b7dd49620204534f1195a2d + pristine_git_object: bcf606cd5b14814f72a2618cfa52ddd0e9e05af0 docs/models/outputresponseoutputsplunk.md: id: c50af938c634 - last_write_checksum: sha1:2866a33f5b87a7a43d355143485796b69bc1344e - pristine_git_object: 3e6e95384f1ccd8e37d569e0efc414c2496c1f42 + last_write_checksum: sha1:b1ca9bf644710547f4986d5eec6b7dd6cec27ad9 + pristine_git_object: 0eddad01d26af0ab401cf28da28aa94c629a4901 docs/models/outputresponseoutputsplunkhec.md: id: 10f0a3cfb3d5 - last_write_checksum: sha1:8865175fac36848a8a69f3e7e00f867387d7010b - pristine_git_object: 426b83947a03d81e05c19845a66f3e192a1afbc8 + last_write_checksum: sha1:00f8602dd702954644a2dcb8dc0d6ea5ae7140f0 + pristine_git_object: 51f8b42d2fbb467c145a53c5532322a4b3ff1616 docs/models/outputresponseoutputsplunklb.md: id: 06aa6b6b4298 - last_write_checksum: sha1:deccd429622ab05f38ce2dc1ca27a6eedee283ae - pristine_git_object: 6d6c80dddb1ca5f0a3c8823278f4fbc9b44331a5 + last_write_checksum: sha1:a9533bb0eba512c8bf53c3d5e38664db15781c49 + pristine_git_object: a65ae74d52623b547f52b57ff15e6c685f7542c4 docs/models/outputresponseoutputsqs.md: id: edd53bffe0c3 - last_write_checksum: sha1:52e60006c870bdf9ce8c446ccf6ae75f48a24d97 - pristine_git_object: 32b679bb25c3ab6aa5dcdea8fa9bfca94b5e40fd + last_write_checksum: sha1:7c1d30049111360207e42477bae6b1efb2f56640 + pristine_git_object: e5b7dbcaf280459e234227a52abd57edc93da733 docs/models/outputresponseoutputstatsd.md: id: c325f4cd7b33 - last_write_checksum: sha1:f89ef3d5edeb77e312421154a73fb1aed5fb40f9 - pristine_git_object: e09ddf7ebafaff29d3bc16464cc15fd6d7d940d3 + last_write_checksum: sha1:f06aeebc204aaa6acfb23558c71dc0b00a1b3a6e + pristine_git_object: 736ac930f7b2d345c335930dedf1f8fbceadc884 docs/models/outputresponseoutputstatsdext.md: id: 64c739aa8fda - last_write_checksum: sha1:2655dee322371920dc82f5889f74941b4f2cb807 - pristine_git_object: 906961fb74131fb51f2f4dc98e101dc8afefb814 + last_write_checksum: sha1:3a0a14a5488d5c1f974be447ab1f94e67917af41 + pristine_git_object: 40665636df0894db9e6abb1b0795c559f7e68200 docs/models/outputresponseoutputstorjs3.md: id: 3d326fc90757 - last_write_checksum: sha1:90de7298b483c4bd9b919453af2a7a7415eaf902 - pristine_git_object: 98f46632e99e4f185536558a6f1e0df608c4e926 + last_write_checksum: sha1:04b057ce774af6b17f4547b79122fb8447f96a5e + pristine_git_object: 3a82e50ee94bf1cbca8e06f42ba5148d07921951 docs/models/outputresponseoutputsumologic.md: id: 62a391a5bb67 - last_write_checksum: sha1:cf41a50cae38c055821e81ac6cf253a8083a0d5a - pristine_git_object: a83916c3f5e449916b470bf88f1107cec9ed764d + last_write_checksum: sha1:5e09a6ae385e9fed29d672babc08a45a4938cc03 + pristine_git_object: 02b375772132fbabdb37cb1a0c3a7d9ac53dc3e4 docs/models/outputresponseoutputsyslog.md: id: 8d0cef47b1c4 - last_write_checksum: sha1:bf21af7328cbbf9b0f7e83e711c4b4f6e8a9cac5 - pristine_git_object: 10a1c6d2e579ce3e5694ad6613e53e1197f4159c + last_write_checksum: sha1:1dace34f6f0228c721e3f0485b750d5a077146c4 + pristine_git_object: 1751566f675c01b208d4acd1f778506cca64467d docs/models/outputresponseoutputtcpjson.md: id: 08d819fcd6ea - last_write_checksum: sha1:7fe8d28032c0e0e610775fcb5c37907423c78b23 - pristine_git_object: 90c4f0021cf9fe46fd21533943d530bdd8f2d597 + last_write_checksum: sha1:446f05bb007c6d4bc28d29623c3dfeb2b8376a6c + pristine_git_object: 3ec8e1a08a72cc7ee64bb1cfe3a42b4c6d163cda docs/models/outputresponseoutputwavefront.md: id: 3d8b0f0c933f - last_write_checksum: sha1:94164173687f182d03ccba458130c698405064c4 - pristine_git_object: 1c3a5176b1334570034abc5392a42aa6e198742b + last_write_checksum: sha1:218b0ead2e5124838ae4dd0080d793ab8628fca9 + pristine_git_object: 8449bae5241bfefe1e3226379c6f66259d095609 docs/models/outputresponseoutputwebhookauthenticationtype1.md: id: d979a1a223fc last_write_checksum: sha1:8c676914e2eda60588721a4e8c2d2ea000c1353c @@ -11644,20 +11704,20 @@ trackedFiles: pristine_git_object: cefe266ac4b13d90c6e839165f40e73c5efcc8af docs/models/outputresponseoutputwebhookwebhook1.md: id: 76682c9f741b - last_write_checksum: sha1:156f670631ba8f6c2afd4cf1a0c46ada451ad86c - pristine_git_object: 0ffe9751e26e105b20fa187d89d10d8363fa6ae6 + last_write_checksum: sha1:3ccbe8a45c98e720711c9b912a3be06bf7fc4711 + pristine_git_object: 185cd777cec7c3a76aabeca3f83635f3496df128 docs/models/outputresponseoutputwebhookwebhook2.md: id: c5e00d98f79f - last_write_checksum: sha1:69d4e096fb6f271e651c888602ae8b9b8b5d2241 - pristine_git_object: f084c48d457f427cc437d441d64985a4f0e47447 + last_write_checksum: sha1:6116d131ae5d3bea99f87fe861fadf450c5d1aef + pristine_git_object: 83291d5b999beb99e5900517b59be1cf34371a1c docs/models/outputresponseoutputwizhec.md: id: ad646e280edf - last_write_checksum: sha1:118b5fde2c91ae9084de8ae8da5ba401fc1bf0de - pristine_git_object: 777bfe1cf2d8e21caaaedb31fb02781009eee0a2 + last_write_checksum: sha1:ff5b881e062d67a3eec46f2a610f0ff2317dc968 + pristine_git_object: 40e1bac22de9752aeea35f90d9bd80d6250743c6 docs/models/outputresponseoutputxsiam.md: id: 4c55c9417a75 - last_write_checksum: sha1:15e74a9620c012b3fb189a14a288fb123c144353 - pristine_git_object: ca0782568f5cecc952e38312b8751a39db44448c + last_write_checksum: sha1:12db6f79616ed7093129d36a54fe72224511fd0c + pristine_git_object: a56ee9cef1784d44c991ad19797c5c36143d02de docs/models/outputresponsepayloadformat.md: id: bcff2dce44a9 last_write_checksum: sha1:ed95e936b3f433a13b2b9dd53af8d0de11e387aa @@ -12106,6 +12166,10 @@ trackedFiles: id: 58397dea636c last_write_checksum: sha1:9a1b42d6169b1892b324535ccd03f141e2fa4553 pristine_git_object: 97070705d9d2d91c89c0ae00a5af1642c1f8c6c2 + docs/models/outputresponsetypeibmclouds3.md: + id: 33b1944123b4 + last_write_checksum: sha1:c2fb234332b24d044f7b9d55ac792b6933da114d + pristine_git_object: 98fc2dc84ba198f29878fba0ca69630eda2b6cf3 docs/models/outputresponsetypeinfluxdb.md: id: 9fa34f785e37 last_write_checksum: sha1:7cfbc994c2b69c1cfe2b999e8ca366bb0639c730 @@ -12280,8 +12344,8 @@ trackedFiles: pristine_git_object: 50bb06a2b40cd12199f2870220e8d472ee132c68 docs/models/outputring.md: id: e9ee1e70885b - last_write_checksum: sha1:2924fa9a59ddeea0c7085829b063bdb968c1704f - pristine_git_object: 79c3af9d3019a5517fd72ab49d927e4f55237163 + last_write_checksum: sha1:57a2264948b31548b6079083bf3b006e22c42331 + pristine_git_object: e4acb663b0e825b9a86a7791f2a41300ac163f49 docs/models/outputringdataformat.md: id: 76d45d0b5953 last_write_checksum: sha1:059a155962ab2cc479c617acc0c6a79407a04f1d @@ -12292,8 +12356,8 @@ trackedFiles: pristine_git_object: f41adad5284591b4aaf0c1d2a30f741110c12b91 docs/models/outputrouter.md: id: 7bfc543c12e7 - last_write_checksum: sha1:aaa318357db057592eed00718ba6b56253de6dd7 - pristine_git_object: c125bf772a5375a9696e3645916bf0b5376062a4 + last_write_checksum: sha1:ed58f8ae4d12f0bfa51ea96696de96cbef99ac21 + pristine_git_object: 97e8ada2138c4ca75c0c05da327782547ce80af0 docs/models/outputrouterrule.md: id: c284a0e80882 last_write_checksum: sha1:d290d02eebe0ae6e56e985e0818ca48680c1fb71 @@ -12304,8 +12368,8 @@ trackedFiles: pristine_git_object: 61d585525ef8cfb8878772b453e38beb90399d1e docs/models/outputs3.md: id: de258647639f - last_write_checksum: sha1:1bf111501dc2f2996c6c79f46d00c0bb1be8ee21 - pristine_git_object: ea08f842dfa7d3881157cf29c7cce637dfe9c150 + last_write_checksum: sha1:b2ebd706935781dc365a6c41a99d598c023ccbc6 + pristine_git_object: 6af9d7293877501e87dcd14f34130708faa1eeb7 docs/models/outputs3type.md: id: 4ee46854be19 last_write_checksum: sha1:f33681e9a98200aac36ec4c66534e577cebb7512 @@ -12316,24 +12380,24 @@ trackedFiles: pristine_git_object: d744e5e7bc7128cf638bc414e84fce88592b7d4a docs/models/outputscalitys3.md: id: 1602f76a0074 - last_write_checksum: sha1:76e7b0eb84da93d4987f3be7af7844f97db94988 - pristine_git_object: 80fe42f052703473f0beb75694654311338db328 + last_write_checksum: sha1:219d741176d7299e88e6e4fd773f580f54eb9e05 + pristine_git_object: 9fa16777ecacf8be3fba6c6817e9e67a580e6753 docs/models/outputscalitys3type.md: id: 6fb89645c5fe last_write_checksum: sha1:4eae7a9c6d5d85ca90e823b75a6ea41f4175304f pristine_git_object: 90a23d3c17a4d022144e6e092f005e9477cfc5a9 docs/models/outputsecuritylake.md: id: 083797d0cf6f - last_write_checksum: sha1:f6d12b9ce555412591910d911b30fc49baa6df62 - pristine_git_object: 74ce1408d561bbc688f7e68245328eed026bccc5 + last_write_checksum: sha1:9902fa961c84b6e0a9ce5e36e66da516f409151b + pristine_git_object: 383b253505d6babbabcbf944cfe282aeda780847 docs/models/outputsecuritylaketype.md: id: 02b5d2d35c93 last_write_checksum: sha1:f3dff0aca69de9712d1c49c3d4d661402e62dd87 pristine_git_object: a221dc097701b5e252ddc2ecee7d5ae337851bb1 docs/models/outputsentinel.md: id: 03b521a73712 - last_write_checksum: sha1:3339a3e94c5e266aff5e29a50340496120db6f78 - pristine_git_object: 078ab218a5eb7b69db991ff38268997c7a68a80b + last_write_checksum: sha1:8b619a4196c93652c4779018b86eb746aae2f469 + pristine_git_object: f84fa0e0c9800936ce028024deb5c7cf4006437d docs/models/outputsentinelauthtype.md: id: efc800a43d2b last_write_checksum: sha1:e3ed0983b594227945e0d51cac35ff943748443f @@ -12348,8 +12412,8 @@ trackedFiles: pristine_git_object: 505bbf3a174c2b941c44d7dc2a60d23f5f375e5d docs/models/outputsentineloneaisiem.md: id: 8c9d239317ee - last_write_checksum: sha1:bb2b7a4826e94cbc413719e39c4e0fc03d8ee717 - pristine_git_object: 1cdef647d21532634db45facf25da8c1df857215 + last_write_checksum: sha1:7f79107999bf877f4bf64faf1970951785b3b22b + pristine_git_object: c03a075affb56861f3274c86cd5fafc5bdb270f4 docs/models/outputsentineloneaisiemaisiemendpointpath.md: id: 5c34286659c3 last_write_checksum: sha1:d58fc0bf28d327dac755029abc1c70f0c531d60d @@ -12376,8 +12440,8 @@ trackedFiles: pristine_git_object: b989fcdba181b3d41dfc7505e7c0e3023d893eae docs/models/outputservicenow.md: id: e62654485a98 - last_write_checksum: sha1:000b8b7642ecfe42310d4d44e1527904e9b518d4 - pristine_git_object: 34a3126c305aabdb5e5345321b65ce06a8e01c3a + last_write_checksum: sha1:d40157ee8e34119a10c8ae125f0ca106ee9fa2e5 + pristine_git_object: a8343ca65cf039acda4cadd4e62221249562b858 docs/models/outputservicenowpqcontrols.md: id: ea42f6ab6dbc last_write_checksum: sha1:508714db19406fb55bd6e7d71dc02e155ea6d34e @@ -12388,8 +12452,8 @@ trackedFiles: pristine_git_object: bfe64effe6b0e9ccacf31c243d5b12988137c347 docs/models/outputsignalfx.md: id: 2ce4012a829e - last_write_checksum: sha1:29f4199deec00eee09077c0c5d670c1c591a5def - pristine_git_object: a313a93c169d8faa768f66139ceaf531bc1d860c + last_write_checksum: sha1:3a2527d1236cd5e6b60ae74259d7abec419ae42a + pristine_git_object: e5ef607d892246377b8eac32855fa5dd7b7d4e2a docs/models/outputsignalfxpqcontrols.md: id: 870b52f48d02 last_write_checksum: sha1:0a94092e7e5de20c0f9126b08abbfc9350a9c546 @@ -12400,8 +12464,8 @@ trackedFiles: pristine_git_object: 91091764cd6e70e32cec46146b61f9c2825c89c4 docs/models/outputsnmp.md: id: 89faf1584358 - last_write_checksum: sha1:ccc8f5e63c5f6e3cdc6b7ae5c830e457adc38af5 - pristine_git_object: b2fc28fe905404d0028144cd92e6e2993b6c339a + last_write_checksum: sha1:cb33d5b681a673cace67e8ec81e4f1272f86082b + pristine_git_object: 1edb1ad496b262f7495a49b63d17c8a85dffab81 docs/models/outputsnmphost.md: id: 86d7bbfe976b last_write_checksum: sha1:f3efb36fd35a9c368aa12481adbe9440e54353c2 @@ -12412,8 +12476,8 @@ trackedFiles: pristine_git_object: b27909aafe2f844930a65a91d0b366f750b1628f docs/models/outputsns.md: id: b60eaba50738 - last_write_checksum: sha1:b2a369c85acb771617347fb0d26b5c5dded8487a - pristine_git_object: d22f03e41542e23df6fc787457ca6246c25f2904 + last_write_checksum: sha1:516e6f5211f447e8ea1d0861925eb55a39679d67 + pristine_git_object: 10053ab4189e65bbc3e9ee09cca94cb6fa641fe1 docs/models/outputsnspqcontrols.md: id: 925b86a0a808 last_write_checksum: sha1:43618cdc7f36f8b50238595f84a14e800066d49f @@ -12424,12 +12488,12 @@ trackedFiles: pristine_git_object: 45830463e22ddda95b1c3d04a5752a3d38b6646c docs/models/outputsplunk.md: id: bcf587b5fbfe - last_write_checksum: sha1:5e91544e5776146473b510202789d88c9dab3590 - pristine_git_object: 31e7bcfb9748feca53632db5d812a548e82410c6 + last_write_checksum: sha1:29e150724d7309590e605f69a615ffd7dc8b0ef3 + pristine_git_object: 5e1a0dd0362f1027e59beb5466bd79ab17384895 docs/models/outputsplunkhec.md: id: 90814512ad31 - last_write_checksum: sha1:e3c436ef65edf019e340007b546bd27209268f2a - pristine_git_object: aa89a52ffae5c9c74195983730cca639b2e72dfa + last_write_checksum: sha1:040e42aae528d23764a06b4e1be4d5eb648c2dc4 + pristine_git_object: 56fc344f2a1795641f8f9c54b12e3ac3b8f92119 docs/models/outputsplunkhecpqcontrols.md: id: 2c28284f1a2d last_write_checksum: sha1:93150a996ee52f1134df8e8846959dffd5a6275f @@ -12444,8 +12508,8 @@ trackedFiles: pristine_git_object: 7f19a3bc55aeb22ed851c5ac65f3a20c35dcb7ce docs/models/outputsplunklb.md: id: 16f55b0ec424 - last_write_checksum: sha1:72bcd82ef299fd36d504ef8cc73326782a749aa0 - pristine_git_object: 67f39180519195a6bb21dfd37a5679f5ca87035a + last_write_checksum: sha1:846ca184deea8a7e18e9dd243d0b950ef8cffac0 + pristine_git_object: b59ee5d5cb781c8c41dc02440cffa9e10fcd56b5 docs/models/outputsplunklbauthtoken.md: id: d942f69099f2 last_write_checksum: sha1:5135d399ff06d3a4253985edc36dd000cfbe789b @@ -12472,8 +12536,8 @@ trackedFiles: pristine_git_object: 5f5f684764d9e9fe2bea90935c28ae974ef928a8 docs/models/outputsqs.md: id: d120c4556956 - last_write_checksum: sha1:21c7c3681cec976209eb792f1754d97253f77a88 - pristine_git_object: 1d3f84bfae6e50ee7b0b3b5fc2a125f963a18a3b + last_write_checksum: sha1:0431807b3b3ab5a2b2c180df116215fc708bb2ad + pristine_git_object: 39041b432137171d8aad73137f5933c07fcefc2d docs/models/outputsqspqcontrols.md: id: e899cfa81f7e last_write_checksum: sha1:197409b9c0621b72ed0f942383ce5dfa688531a3 @@ -12488,12 +12552,12 @@ trackedFiles: pristine_git_object: af8f41b4d72e519ca59a31739e75b5ed0a45aee6 docs/models/outputstatsd.md: id: f604a1cdc9b6 - last_write_checksum: sha1:b66ea38f7b0606bd8cc321e8040a2c8363d85a78 - pristine_git_object: 7412c64594fcd2c071a1ceece9948c61bb08e7eb + last_write_checksum: sha1:ffab43106d19c4b888c4f5c405a2d418ec8c744d + pristine_git_object: 4b8ce275181e186050474d8ca581c539f51fb14f docs/models/outputstatsdext.md: id: e205fd872ea2 - last_write_checksum: sha1:99369110c10c7bd9ad87efaea17c0c71f1ff01d6 - pristine_git_object: b052b76aacc60f1827770571dbf04952b1d991b3 + last_write_checksum: sha1:78f3cb1dbb595df60c459a24f0fa803de60ce2ce + pristine_git_object: 2ba980f8f5c37a4a723f83372f8ebc19ebb457e9 docs/models/outputstatsdextpqcontrols.md: id: 781d1b751391 last_write_checksum: sha1:63304d5c05f71be333f067d2ebb8cd45e6e39943 @@ -12516,16 +12580,16 @@ trackedFiles: pristine_git_object: b36d11618384773f377d4fd9357a00a22bf190ce docs/models/outputstorjs3.md: id: b42e1003484f - last_write_checksum: sha1:6cccd6848716a791c931339b0758e21f711cd762 - pristine_git_object: c619ea4e01fd378bd28556af29263ed518f84ea2 + last_write_checksum: sha1:e9067a2a64c84a7b8dd0b6e67c4294ab680bbcbe + pristine_git_object: 65151d1318079a16cb1af38b9dab34b8493f869b docs/models/outputstorjs3type.md: id: ee9de7381e43 last_write_checksum: sha1:815f6583563891fd34b5afda118e39c5ed3b680c pristine_git_object: 25d4dbc5b8740a5e2d4720e3ac48e6ac0768954f docs/models/outputsumologic.md: id: a71dc7200316 - last_write_checksum: sha1:a9837c1965b12b9d53083272ff4d2b99e749de5f - pristine_git_object: 8456d3d4e016e83d8a7f3d73d466c5638d2b1c98 + last_write_checksum: sha1:c14b5226df092de923f334de96372b8fa72ce9aa + pristine_git_object: 9206dbbc446b927a5112daa1bfb1243aec473493 docs/models/outputsumologicdataformat.md: id: ef00f7359efe last_write_checksum: sha1:46fa987bccb8555582b9d453b8f2bfb7b32c8329 @@ -12540,8 +12604,8 @@ trackedFiles: pristine_git_object: 4a172efcb464a7d6020be13236079563b8581fdc docs/models/outputsyslog.md: id: efc962179ec6 - last_write_checksum: sha1:108f6cab7a89f9d070388286824a3762a3c4e36b - pristine_git_object: 107d1d805fd8e41e686957dc24d52864f92947ba + last_write_checksum: sha1:b724aadf2b6a15182735eae82bdd207c91d53a31 + pristine_git_object: 94b0550e149d486554e703005f31f99424ee5e4b docs/models/outputsyslogfacility.md: id: e87d45d48a13 last_write_checksum: sha1:374ec4c0d954873e2ef30cb78715dbbe404ab3fd @@ -12572,8 +12636,8 @@ trackedFiles: pristine_git_object: 049a27b514140951a90ea3b9e008b1c42545eac7 docs/models/outputtcpjson.md: id: c065e344e101 - last_write_checksum: sha1:96d3495075363e9ca739df4a0079f8a29df329d4 - pristine_git_object: 0c7c6669e9e57e7df00d126b39b0ab3f088a9a37 + last_write_checksum: sha1:6ad775442582b3d00ff0ca8af39885862cc3eff9 + pristine_git_object: 3668d232d554216db97534bc6d9416f1a6d1eb0e docs/models/outputtcpjsonpqcontrols.md: id: e58eeb861f60 last_write_checksum: sha1:811f10ad135e809380d6bd102ec9c2ff2a2f6005 @@ -12592,8 +12656,8 @@ trackedFiles: pristine_git_object: 6d4fe1f6548a8b9122e863daeb06d5dc255a7549 docs/models/outputwavefront.md: id: 73fa435fcd95 - last_write_checksum: sha1:fa17f3723f1692ee6bb239a5c07abf2cc3d07141 - pristine_git_object: 22511fe58bddf6bffcc8a08bf1cd7c5a1b14d194 + last_write_checksum: sha1:58b06b1dba0e4e3e2890bc66c519704e8855293d + pristine_git_object: f95cf551d2f28a2347eb88ace2f522dec757785e docs/models/outputwavefrontpqcontrols.md: id: 8e7d762552e0 last_write_checksum: sha1:6cbd032bddb7c83e953ff8518e7fe6c9150fb731 @@ -12648,16 +12712,16 @@ trackedFiles: pristine_git_object: 40a0b92f7e646d10462f5673a27800ddc8c6dff4 docs/models/outputwebhookwebhook1.md: id: 4d526c93080a - last_write_checksum: sha1:81469e854cb7f47e8a8d60bf604903edf4a0986f - pristine_git_object: dd3612bde916926847a9af220a9c558a7aff7bbb + last_write_checksum: sha1:210bc94d9a00626d647de0cd7d080120408b8a23 + pristine_git_object: 168d46bdee79ce7c3d6eb37c0dd4c26541813abb docs/models/outputwebhookwebhook2.md: id: 1eb64eccdabd - last_write_checksum: sha1:ea3bae07092085557b7f656378800c1feb3d883e - pristine_git_object: 32bd5f04d994bfdfa05b18090dad7c305098a90c + last_write_checksum: sha1:85eee169b2b9d4288033dc9ff13bf3e3af6736ae + pristine_git_object: 266f33bd88e1b8d0ec410bebea703f60884edf41 docs/models/outputwizhec.md: id: 199fdc64c53d - last_write_checksum: sha1:d216de71c6c7281317a067eab5c4f2792e1e34b7 - pristine_git_object: 1c91ad145bc605408e581dac9f3e610b8cfd4f6b + last_write_checksum: sha1:66a1af8f7c3a7ab318abe17337d3862e0ce4a093 + pristine_git_object: 9474b399e614c9b565b1c663bc0cdc43e61e6239 docs/models/outputwizhecpqcontrols.md: id: bfac6a997922 last_write_checksum: sha1:e6f6a3aa150b57304c4a966836753c562b6fb9cd @@ -12668,8 +12732,8 @@ trackedFiles: pristine_git_object: 3662c3e0d3d4fca9f3c94cfa8b684b1a4381807b docs/models/outputxsiam.md: id: 9bad986249b3 - last_write_checksum: sha1:e2f8ed2a5028cbcc02e58ddfc29db1a6f2214e86 - pristine_git_object: d76018f7c5ade85707061a14d998cbd443e4be3d + last_write_checksum: sha1:4ace627c606be2e2e37ebce8d97c70f4ae92423f + pristine_git_object: 5633a16f7e377830252f80ae46825142d1b193ae docs/models/outputxsiamauthenticationmethod.md: id: b0bb0586f169 last_write_checksum: sha1:90d49619ff4903d4099d84b09f46f1fd7774858b @@ -12692,32 +12756,32 @@ trackedFiles: pristine_git_object: 220b723b0199a05b16878fd18d1e43cf2ea23d9c docs/models/packinfo.md: id: 1cc26c7e105b - last_write_checksum: sha1:d5b75542bd3b6f60274b8592b4c73bafafa47a5c - pristine_git_object: 7b4651324abb892b03a6945834eca170301d98cf + last_write_checksum: sha1:0c1384fbf1925b39706127770ee18183bdaa1423 + pristine_git_object: 2c59bd26f4b74f9f2f16ced8bce2f68fe98b6000 docs/models/packinstallinfo.md: id: 78d53c382d88 - last_write_checksum: sha1:6cf81e439e810fe1dcaa551884a936db6a8bef04 - pristine_git_object: 66dad3480c01f75017a7a441980fa396eccbdef8 + last_write_checksum: sha1:a6b854b1bddb7e867dc694d661e7eeb140c08489 + pristine_git_object: 4fa94115e0f315cdb7864436dae216fcfbcc3007 docs/models/packrequestbody1.md: id: 3845abbc326d - last_write_checksum: sha1:94728e221433482f4b349c8205fe02153285b454 - pristine_git_object: 5138b72fd00c7cd3ac0c879afc3dd68f8ea4c8d8 + last_write_checksum: sha1:27d682be8a2d1d16dfa5bd8e3498a105d96a0c4e + pristine_git_object: f47201dd9dcdbe3a65b77336f4b825b5ff12c6d6 docs/models/packrequestbody2.md: id: 2b11748d6796 - last_write_checksum: sha1:77d85da149ec900706cf82970129fcc2852698e5 - pristine_git_object: 0e28f832cad5ee2fa6e42d6b0734c841c283218e + last_write_checksum: sha1:4eb43cf77f16a35997e0cebb84b9102d7a2b2c01 + pristine_git_object: 5c071f5bb6c7b0cee1ae295df297a55079e4081f docs/models/packrequestbodyunion.md: id: 09bcce03aa14 last_write_checksum: sha1:ae1dc04b4f73c669533f0708141379f1900a2cdf pristine_git_object: dbf9d77184c6c8dc695d3a57d05cfd82d8d70626 docs/models/packuninstallinfo.md: id: a9e8e31a0559 - last_write_checksum: sha1:1b23fea4fad30e583d88b44e1f5669100ad3a874 - pristine_git_object: 140c723f273df19f0d52895509688ee14f285e87 + last_write_checksum: sha1:e55c9dd410bbb76e918b3f7d9228af21725ec1e7 + pristine_git_object: 229c026c4fef253568d17f371d97c4eac5974f92 docs/models/packupgraderequest.md: id: 6290d587ebfd - last_write_checksum: sha1:828eacf801981b7b085d821a5c2ba2f45d3e7471 - pristine_git_object: fe24e4758547a935b4bc7811170cfdb96962186c + last_write_checksum: sha1:f76841bf82c5b50ca6b9dac57bdde00902683a97 + pristine_git_object: b9161213202177ed6f449c7153ba6e44a63f5a64 docs/models/paginationoptionsrestdiscoverydiscovertypehttppagination.md: id: 420712506cea last_write_checksum: sha1:01963f7f2bab8dc15b71806b294bfffed3307ede @@ -12756,8 +12820,8 @@ trackedFiles: pristine_git_object: 1720aec295494a79f793b2c743e9d53f7863beb5 docs/models/pipelinefunctionaggregatemetrics.md: id: 480cec57b095 - last_write_checksum: sha1:5ca9bd11b453d95f034b696371214ff9000e9d9d - pristine_git_object: 117494a66550b52cb9153cc18fded1706b7bc3c8 + last_write_checksum: sha1:5057a08103392ddb1b7e9571fa6c4e8fb3ec1e4f + pristine_git_object: 6b765983447556169c37abe0f5034298a7363614 docs/models/pipelinefunctionaggregatemetricsadd.md: id: 980213890abd last_write_checksum: sha1:f8268e9a9c1f166ff7982d2d54ff9e2fc02ed0c6 @@ -12768,80 +12832,80 @@ trackedFiles: pristine_git_object: 6456bcf868674cacb6079f09aaed14bd534dbf76 docs/models/pipelinefunctionaggregatemetricsid.md: id: 6a1848063078 - last_write_checksum: sha1:82b542128b331ae5dae6a71dc38d93bf9a3fb63a - pristine_git_object: c4ee3b74a72ac96adac11a14e16a09c2f12c1199 + last_write_checksum: sha1:fa8027116ef6ab7fba8f4b620b01e6e7373d4268 + pristine_git_object: e3e00f7bcac51ddb4c714cbbf43964a925f3fcb1 docs/models/pipelinefunctionaggregatemetricsmetrictype.md: id: 05ed1938f7a1 last_write_checksum: sha1:c4623e20f043c70b24c6d0ca2f6c2ade1603523d pristine_git_object: 17e212daf76644e3f52f1fd35044ad68d7180f13 docs/models/pipelinefunctionaggregation.md: id: d6cc0be0555c - last_write_checksum: sha1:8559ec930f8fa14db68fa1fe473a46680f45702b - pristine_git_object: d033cdd7c23ff5f073d823672c329037df3b8a87 + last_write_checksum: sha1:daa8d2c118e73ce7851c9b570770521ccf4d3b9a + pristine_git_object: 7f5398290e3f34ac5938384501577267648567ba docs/models/pipelinefunctionaggregationconf.md: id: 980cba9c6ee0 last_write_checksum: sha1:52d5d5adb460a060c363e41e9c52ac251d449b04 pristine_git_object: 6da636294ea1dadd9b6e1bf061c95bc4b3e61b1c docs/models/pipelinefunctionaggregationid.md: id: c3aebd58a4f8 - last_write_checksum: sha1:81d0109fddbff60bf0c397fce67001816815333d - pristine_git_object: 8b3e09e5f68ef4a5651902223b9241c2da81bff7 + last_write_checksum: sha1:25361554a78326bb79b4c48245918e8e9a60133f + pristine_git_object: 25d6964a7620a167465b5456b6806352fe06148f docs/models/pipelinefunctionautotimestamp.md: id: 6657b113970f - last_write_checksum: sha1:c25798d29b66d53be02dd98e6b186bed9d042a1c - pristine_git_object: ca50dea530d102360debb45e400a30e65a33afeb + last_write_checksum: sha1:f9ebbffd97c3e3e61d8a381e5363924509f6c1c0 + pristine_git_object: 56c2fd314abd33af7c47ef1fcb618a6e379a6de2 docs/models/pipelinefunctionautotimestampid.md: id: 31969a17a9e7 - last_write_checksum: sha1:b990259729488615312dc238c0aecc8b3ce0f18a - pristine_git_object: 195de8ec13b2fa1570e990bf2df12a8ef7a43717 + last_write_checksum: sha1:dc2442c153fc57d7796f59e6864913fe2545166f + pristine_git_object: 3b6cddeeb993138fe96299c4c7c406f33fdee211 docs/models/pipelinefunctioncef.md: id: 2437e3342307 - last_write_checksum: sha1:1d3523f114250af2be6ecc97d6df746fab21abd5 - pristine_git_object: ca204218fbf66f5e441c89d144cef84fa177f950 + last_write_checksum: sha1:a0c9dcef1e610b94e1630cf8bb6c4f44e74e8cb6 + pristine_git_object: ddcc3087f0d44e21374e80b45edadaf7a4d07bce docs/models/pipelinefunctioncefid.md: id: a4d680eb4bc9 - last_write_checksum: sha1:f9769373f2800002804f0635e86b0b2900e28a8a - pristine_git_object: f965f12a21040393392a69129225601df8c7a20e + last_write_checksum: sha1:40f5befac3f7f74285ebaef545615260b9236ec7 + pristine_git_object: 02be160c07addb04c5291c5e47e66a1ada0e018e docs/models/pipelinefunctioncefinput.md: id: 6de606843fc7 - last_write_checksum: sha1:0aa72453e6a61bf7d07138e385b3881929d5d677 - pristine_git_object: 121d103b70d793c5ef786c126e2911685ed12b31 + last_write_checksum: sha1:53e437c8e7cff410f73e25c187e876ccdf70c33b + pristine_git_object: 55dbc0c8b68c362296dbee889ab9ac6ff76b5900 docs/models/pipelinefunctionchain.md: id: 27fe0f0cf902 - last_write_checksum: sha1:ae8687de668e8aa6f41fc76cfe6d459826d3f67e - pristine_git_object: 71b7e940ec8b145be0f27da5352899cb2414ef15 + last_write_checksum: sha1:6cd2a6b66530c77493c920f71d5fbf7fc274a406 + pristine_git_object: 146bc089a89a9b8fe7c0f9b6f986022ca9853d64 docs/models/pipelinefunctionchainconf.md: id: 7fbf22778306 last_write_checksum: sha1:17f088ae42c2754268edfe0ef1fefde6c39131bf pristine_git_object: 553c96d9a80562caab35f6a9d647333b25d8545d docs/models/pipelinefunctionchainid.md: id: 5721f2dc0366 - last_write_checksum: sha1:002cd134783801cb70b0c3ab512d99c6e168c1ad - pristine_git_object: ec96cc73771ac083916237a56cd31a2871c2ffdf + last_write_checksum: sha1:3ba3cc232c62ab7e677691a91f24bb062c43f6da + pristine_git_object: 37c9079b3ed8075a4de50586beacd08c0dc8f226 docs/models/pipelinefunctionclone.md: id: d302672fd5bf - last_write_checksum: sha1:e55e70d1896a317c2ff5e9cc5eb66bed1889b719 - pristine_git_object: 7f3ac0fb5fb2b849a223d0353a29988122cb34fa + last_write_checksum: sha1:e89c0a710c2fd7b670775a04ca65430f6af835d6 + pristine_git_object: be67fe15070b30a0fd308715113898061b258293 docs/models/pipelinefunctioncloneid.md: id: 6fb0e37fb9f0 - last_write_checksum: sha1:fc217fc6315c038012723ab0ba63b6293904e7b6 - pristine_git_object: 58dcafcb601caf7fc6c4e1a11a0b0cb3b8d4a98a + last_write_checksum: sha1:8ae966debf1596e19518693a66cfc080d9351db1 + pristine_git_object: 86e433a8b382af292d44cb857639973f53081e0a docs/models/pipelinefunctioncode.md: id: 171d7d9232c5 - last_write_checksum: sha1:78f72918aa38ead4bc75eb81102ee281bf288f8a - pristine_git_object: 269021e1bcfd5c4af875f280e9a072b5d354f0ca + last_write_checksum: sha1:9638e14e7e1ebc030d46352e2c9bec981a42256a + pristine_git_object: 358841a8cb602c4cc33b41afe6f39c36f7420952 docs/models/pipelinefunctioncodeid.md: id: 6ff61207e753 - last_write_checksum: sha1:57d00ca53fc2938d5bc1f7635e2513ed180d866c - pristine_git_object: d09da5c7580876c86a3e1d8f4fa14fd4f4af7ba6 + last_write_checksum: sha1:8c618e11a739a8c0bfc7e004b3827c1eb659c50b + pristine_git_object: 4905fabbfad4b62f9c8778313bebda6a2896fba7 docs/models/pipelinefunctioncomment.md: id: cd4b0d1f6a20 - last_write_checksum: sha1:59c7eff0bbee7eb607af7e07a3b41376c29cb59d - pristine_git_object: 79f8f69ac973330a1b79dfe45dba1f5ea1b6ebf9 + last_write_checksum: sha1:6c039bd7846f8e25707961769875ec4bb9b8896e + pristine_git_object: 9ccae250bebcb139b3b2bb0f7985cc7d7e9853ab docs/models/pipelinefunctioncommentid.md: id: 7c7c4ebc4dba - last_write_checksum: sha1:6163e5b821c7fe9a6eae04fb3f76ed238844d23f - pristine_git_object: 392fd82114f3e3ee9f8bfabf2f94ff504dc61505 + last_write_checksum: sha1:cbdbd266c7a181e45d3ba206075c6177dc0ad216 + pristine_git_object: 311b17571b6c627bd77a6622d53ee99439fef530 docs/models/pipelinefunctionconf.md: id: 52478e5b129d last_write_checksum: sha1:4ee3f58f63d67805b9d4943f20e26b0a428f2549 @@ -12852,596 +12916,596 @@ trackedFiles: pristine_git_object: 1b3b038fd6abbcbd2fd405aa4ae7a49664841425 docs/models/pipelinefunctiondistinct.md: id: ee40702875ea - last_write_checksum: sha1:ab81fd070baf3e70e0d97ed7c8df10191de3f773 - pristine_git_object: af19d0899e5d9dd274393c902c88eef93fd8b809 + last_write_checksum: sha1:8a8509ee9d0e7b2f4b2b9aec97b5cde4f815aaa9 + pristine_git_object: 0a10ddae4befebf0c7c1e90e6b1689ad5f24157a docs/models/pipelinefunctiondistinctid.md: id: 8ff0f2f5f95a - last_write_checksum: sha1:7767ab02163908c5b283874d000d7787bd4d00d7 - pristine_git_object: ca9ae80a1899e7eed7aac588f729dff634f91a10 + last_write_checksum: sha1:80361d47d6c5b0070c3f88cd5f93d484f406efa8 + pristine_git_object: 7664e2642708171fcf5794be1c9c3b3fa8af5424 docs/models/pipelinefunctiondnslookup.md: id: 82bf1e4df7fe - last_write_checksum: sha1:5070683419c76c5b16331840830ab28f491762a9 - pristine_git_object: 0a7d5edee0a91bb23af96286b04b57e179b0e452 + last_write_checksum: sha1:62af6943d71cdb4e3147d2c21669397a23cc438b + pristine_git_object: f16e2ac5e055595d9d1e991cd36d33ee678fd89b docs/models/pipelinefunctiondnslookupid.md: id: 431de9cc64d8 - last_write_checksum: sha1:f898000a7cef99244d7005d99e61952ff0c88bf7 - pristine_git_object: 8956a8291b5c96eea6a77453ed417385fde72977 + last_write_checksum: sha1:c5627d107b0822f7cc4802e25d2a0e9e3fd5a028 + pristine_git_object: 38a0b239e2e9709bfc18747e4a5dc32c95e83ac2 docs/models/pipelinefunctiondrop.md: id: 80b4bbd8331a - last_write_checksum: sha1:e6577bf32514a7c5c333fe1ebb97c218e2d5682d - pristine_git_object: 3ee44fe6963f7b95d7705c6b80787f122abcff60 + last_write_checksum: sha1:f0ac899d2926b7422b63c752d376fcec63be3172 + pristine_git_object: cf3ba62a292b2ecf8281c4408508a7adab2bd3bd docs/models/pipelinefunctiondropdimensions.md: id: 2121b933a1a1 - last_write_checksum: sha1:652ac124b67baa535fa3435ff50fe8d239c91918 - pristine_git_object: 92db1aed471f4c81432e3810f5ee85f8760082ee + last_write_checksum: sha1:5f59e39131298c1ce4b8b1d84abdd2724cceff73 + pristine_git_object: 30506e55acf5dafa6c502e1afcec9c8a7eaee90b docs/models/pipelinefunctiondropdimensionsconf.md: id: 15451dc0166c last_write_checksum: sha1:3e7aaeda0b2fa4a8298cfb53e959fdc4ea13974b pristine_git_object: 55e90c339b42654f6ad3715ef88e15c428228b9d docs/models/pipelinefunctiondropdimensionsid.md: id: 0b8a8b16055a - last_write_checksum: sha1:5d8fefc6f8001572d24b315a6c0733ce5da26106 - pristine_git_object: 985f60243ee1fd16e11e1f85d9b905f31fd4a1bc + last_write_checksum: sha1:1a3f23d8a33bf35fe3a16bf11fb9e11f2e3f1661 + pristine_git_object: 7a7c8f9b056ad2ac5162b0476031c35f2e1e70d8 docs/models/pipelinefunctiondropid.md: id: 291366b42a60 - last_write_checksum: sha1:2aa01f58d94a81d66b752e52197f75d92566a849 - pristine_git_object: 0df2fdda2baea4d4cd15777929d70fa7256514b7 + last_write_checksum: sha1:b739a20df6a5a49335555537e69996d41a58c98a + pristine_git_object: 16bc64ce28f68fd791a980db46d27628ed1ebd34 docs/models/pipelinefunctiondynamicsampling.md: id: 65d177b68dcd - last_write_checksum: sha1:dd9163bc4f2a9bbeff93a3aaef67a3c2b05d2cb3 - pristine_git_object: 4c8cacc044a4e55b049137b08b532a6768845c43 + last_write_checksum: sha1:a5d4b68ff3245543de44517337eac000a827820f + pristine_git_object: e33b6bcd9dd205423faa0e109fda984207bd83f1 docs/models/pipelinefunctiondynamicsamplingconf.md: id: 7f5746143d46 last_write_checksum: sha1:c34de629bc8a862461aeafa44d9904d48a81ccb0 pristine_git_object: fd2b930c9d7c7251cd0b07f79e89838057195647 docs/models/pipelinefunctiondynamicsamplingid.md: id: 05cbdeecd91f - last_write_checksum: sha1:78f84bd6167fbe8845b32cc732aac84c7568a5eb - pristine_git_object: 86788886b30e62a795b4227f9e863135864789c1 + last_write_checksum: sha1:39f60f4352e78c049d9f69cc9d493b8d99e253b6 + pristine_git_object: 3dbb3a92bd6dd8ab175ebf904db0842c636b7b91 docs/models/pipelinefunctioneval.md: id: fe28c837d1cb - last_write_checksum: sha1:50b8a4360b28351970fd2006c28c1f98591aa3fb - pristine_git_object: 9477d99d5a700440e42b1c64f38e82c47fe989a3 + last_write_checksum: sha1:c1d46018e786910c95f4e1ac95a19fe591e8007a + pristine_git_object: 73b843416a7c969989503f852e32424d3996c0bd docs/models/pipelinefunctionevalid.md: id: cb71978015a3 - last_write_checksum: sha1:ba3c8a7a2bc498fd6298b8374cffc73e5c150ad2 - pristine_git_object: 6f262d0be28a8646cf234a644996478a727f183c + last_write_checksum: sha1:49262cdf4ce83c87f64caa8ac96c68fc8e5b567e + pristine_git_object: 57880124fbff8e9d5fb6c29c1cb9708344e52467 docs/models/pipelinefunctioneventbreaker.md: id: 14ac263da57b - last_write_checksum: sha1:a16c8d560e74b9b190aa193fc492e7be073c72e3 - pristine_git_object: 1bbf3489ac2d7b67eb9b8986a36a87d987011d3c + last_write_checksum: sha1:616acf206b07c2c250d49f009d98948ce4734646 + pristine_git_object: b77f1018bbe674ecd10b8e7465f09f67e504b4fb docs/models/pipelinefunctioneventbreakerconf.md: id: baff6dd99af3 last_write_checksum: sha1:ed4b7921324a0ba5cb7f077d395b91e0218ca53e pristine_git_object: 8cc9377b9c407a608aec870b7e84c03dce134ed8 docs/models/pipelinefunctioneventbreakerid.md: id: f632e7172102 - last_write_checksum: sha1:d5717a18a4336d4cde571682cac6407827bca003 - pristine_git_object: 45d73508cb9e8e73f23677e9f7e0451c0e6560c2 + last_write_checksum: sha1:24ef2d05c26c39e05e4810df08c8bf6319dba76d + pristine_git_object: e8db265cfe2f9293a0365f76e2abd26766d9cae0 docs/models/pipelinefunctioneventstats.md: id: b5c3ec435d25 - last_write_checksum: sha1:d0f5948c1662979430055760d72f729d9b0fbbf5 - pristine_git_object: db123cba75995a6e68a32de58b5a1236690e6a80 + last_write_checksum: sha1:ba6f0fdef774edb5b92e4f92a2123d2a9218c6b7 + pristine_git_object: f37c6f145242e0a06b73ad38437cf9f9ceac855f docs/models/pipelinefunctioneventstatsid.md: id: 7e26b1484761 - last_write_checksum: sha1:dd3a76f5bb270ff760c2c00e004260d8096422d4 - pristine_git_object: 779cc97ff8b2e50cdec45fcf836d3dbb5e017629 + last_write_checksum: sha1:4170d58a154129646c559f413efed300b461d222 + pristine_git_object: e7a1eae80ce4838be3d3f6c712a03e7397aba3e4 docs/models/pipelinefunctionexternaldata.md: id: 4617ff59f8f0 - last_write_checksum: sha1:38c8e232ef495b699faeb18711deeb7ac6fd0d86 - pristine_git_object: 8445e3f83ec266775dd495300b38ed5076b43e50 + last_write_checksum: sha1:2e70dc1c766ea73d01aa4b209e90efefbe37b22f + pristine_git_object: cd3d7cb43b184e1d3fcc82713ff39c21d8c7c303 docs/models/pipelinefunctionexternaldataid.md: id: d336494aad12 - last_write_checksum: sha1:7f09a7e29213ba0a5a242180c5d6a2aacdddc84d - pristine_git_object: 445e05b7e8d38a072523993a522d10458b12a134 + last_write_checksum: sha1:ab575f8d78c1a37034827d6becc12f3a255171fa + pristine_git_object: 890c93ce0d2a5bb294b1800165b0b3d683a33672 docs/models/pipelinefunctionflatten.md: id: d5f226b7994a - last_write_checksum: sha1:2521d4e2ebdf7ad0e7488674d3bd086f4c8e1aa2 - pristine_git_object: 1644d451efb5cd918345bea5af478f81b1202482 + last_write_checksum: sha1:5cda1792fea7a317553f354f9511840a4ff40749 + pristine_git_object: b782a9a237ceedbf5e527f178ab195ad049978f9 docs/models/pipelinefunctionflattenid.md: id: 79b00cba53eb - last_write_checksum: sha1:22705a039ed865d9f8f30a4251c1bdf041ae1269 - pristine_git_object: fdb573668f934be7274d81c38d0417f2971f84d3 + last_write_checksum: sha1:7f96e0d38259dccc902284b1cda3c4d0906429a3 + pristine_git_object: 8b8ccc1b68018397f00adec46f3ee41452577e45 docs/models/pipelinefunctionfoldkeys.md: id: 982548f423fe - last_write_checksum: sha1:078ce30dfb80c9944ad8f5177cd23701e1c78210 - pristine_git_object: bdb1fc492f0617324f943cb1ff65ca1953248590 + last_write_checksum: sha1:f28fc77584da92b9a314fe5a0b7d8185583449d0 + pristine_git_object: a6a5e9395828b973b729673b298dd88c87b8b00f docs/models/pipelinefunctionfoldkeysid.md: id: d51712500a32 - last_write_checksum: sha1:625ad29f06ed9342a867bfa8e223ec44e9c5cbc2 - pristine_git_object: fc5a7a2c9b84fc2b5676e3620c9fa9fc3b3eb5c2 + last_write_checksum: sha1:24fde935b9aa99805bbcc43891cb2dac8d0b7dc2 + pristine_git_object: 4e8c87d4275792677450b49d502c869d75907c6b docs/models/pipelinefunctiongenstats.md: id: 4b133d229ec9 - last_write_checksum: sha1:5de0d9f2653fc602bdb4e334175c7deeb148d20f - pristine_git_object: 86e8f2e0b218de3c14437a62f94ef408155f35f3 + last_write_checksum: sha1:30055f1c707d91092217e6dd210af30ddde6f1c2 + pristine_git_object: 9afd1f4724d59fc97a29e4b6d9024774fd191e7d docs/models/pipelinefunctiongenstatsid.md: id: 059a4baf6d2a - last_write_checksum: sha1:796e88f1ecdadc9c41ca1601e98195587a41c958 - pristine_git_object: 58dd751f2be3e6c141a99cb659334cdf2b44212f + last_write_checksum: sha1:210506e7ccf6071750ae5ebbc665151d20cf4c2e + pristine_git_object: 211e14e603fc5e3648525d9761b0738e2994bfa4 docs/models/pipelinefunctiongeoip.md: id: 5357f7dc0174 - last_write_checksum: sha1:4a312220a9bc331f0dacfdbf47dc2b0e54de81f9 - pristine_git_object: 9e703cd7a8d9dfa38c66f5e073e938742a7aaf6f + last_write_checksum: sha1:f17c77b7db67f976a4e29331eba0f4fb20732d64 + pristine_git_object: 3a72f12809b7c878b2911af60a9b0f9790cb599f docs/models/pipelinefunctiongeoipconf.md: id: 240dd83b06ad last_write_checksum: sha1:b028c6fdb79e51e3ab1bc69ce430df60954b2753 pristine_git_object: 7760084995179466250faf7a4d8a0665bfe83810 docs/models/pipelinefunctiongeoipid.md: id: 26daf404a002 - last_write_checksum: sha1:7147e071ba1df3796f816ca30f9ead6167348237 - pristine_git_object: 7c0975f7cb6255dc482f4b68499589ea98852ec7 + last_write_checksum: sha1:133076a62aea7d87ff2e23ee9b8f2c4eb27be0f6 + pristine_git_object: 427d06bda158dff400e5a31717541770feecfbf1 docs/models/pipelinefunctiongrok.md: id: 842801069b01 - last_write_checksum: sha1:608ff5235da40da1cd94cb4de832183401130e6d - pristine_git_object: 310f76f39fab3dddbf3b4d3a071f33b46ca7542c + last_write_checksum: sha1:e7523615150757c297426b233856fa1fd81f5e80 + pristine_git_object: 318baf184830dbec102bc81afc5e32868a2d1c4b docs/models/pipelinefunctiongrokconf.md: id: c2f672aa5bf2 last_write_checksum: sha1:36c0a6dfb1948c9bed5fbdcae0e109ba5d17826f pristine_git_object: 693119508f0d15b5a94e31ce2593a447bc30ad63 docs/models/pipelinefunctiongrokid.md: id: fe1412c5ee92 - last_write_checksum: sha1:ed17f4e2dbb154b9b665430d9f76e3959e0cb49c - pristine_git_object: 75ea07e9881f0b54a1c1edb5d8bd1051c3539515 + last_write_checksum: sha1:3e39db743c9f636c0b5bfc489464a2f55aa8a5a3 + pristine_git_object: 966aa945a2accf44b34015db4f8ece9a88b6d22f docs/models/pipelinefunctionhandlebars.md: id: ffcd425ace91 - last_write_checksum: sha1:7baae005d7ebaf504827619933bc9f14b775c044 - pristine_git_object: 1f65d05bc604357c611f3fb457ed1e4089e0fbb9 + last_write_checksum: sha1:7db7b2dea2104fcd989c1ae80d5fd9ebb5c605a1 + pristine_git_object: df93bfe13e42134fc2fdf9ce5260cd72c440171f docs/models/pipelinefunctionhandlebarsconf.md: id: d415e91c7dd4 last_write_checksum: sha1:67cd28997c5e63cd656bdf8bff01cc64bc1727f7 pristine_git_object: 526363d04247993573b5916296085442fafd91b1 docs/models/pipelinefunctionhandlebarsid.md: id: 9986b62ecfc1 - last_write_checksum: sha1:ec087bdd7e86e482b0c2b3907bcea813147f7b2f - pristine_git_object: 59102ea29286f947fee0ccd35187a37b6721eb54 + last_write_checksum: sha1:98bb13adcea98f632d8ab2581258f54950a5e542 + pristine_git_object: 59d22ce6df2e5eeb20058dc886626d402d987782 docs/models/pipelinefunctionjoin.md: id: b5c867166621 - last_write_checksum: sha1:a93bbdae80423e950a5d5a50934f7fc6d6d963f3 - pristine_git_object: 095d133318c8913051488f070577d68667e823ad + last_write_checksum: sha1:f821b7d5f3cd912826c2b4e6153da7635c49a5fb + pristine_git_object: 1558210eb5297c0371d8eb7a90d02d8c2545f4a0 docs/models/pipelinefunctionjoinid.md: id: 2d1bba9a86cb - last_write_checksum: sha1:2b0f669b5fc65ca1a77cd10526879073066f0c72 - pristine_git_object: 495de09847946aa9e94c6c6f2c812bc8988d2e75 + last_write_checksum: sha1:c8bc8a61e7da69e308fa913985964f5e91ddc003 + pristine_git_object: 7474d2ea37cb59d79a1aac744b86b968b3bcc813 docs/models/pipelinefunctionjsonunroll.md: id: 75dbe01774cd - last_write_checksum: sha1:26aab4e9f27cf9feca9ece562c6120e545b403f3 - pristine_git_object: 8cdd4d2551e7ca5b78272c1258a9e5f5b2fc04df + last_write_checksum: sha1:41ea54a8db4e93467f283ee94fef5640bc559d37 + pristine_git_object: 7c7a253264398c50226fb54097572461d0b84bfb docs/models/pipelinefunctionjsonunrollconf.md: id: 4903b8cd4ff3 last_write_checksum: sha1:e41e2191b29354adc21aaa23b9cb618e09bc8fea pristine_git_object: 469463f0f615287ee82d897c1a624ff09ecfd4fc docs/models/pipelinefunctionjsonunrollid.md: id: e05a0f9a49db - last_write_checksum: sha1:b4d66ae472568049c1ee9789cfb52ea489c40b5a - pristine_git_object: 8e488f57d17f4eb8570b8cb7fd0e3c4d52690661 + last_write_checksum: sha1:a3967314c0c1f8804bb9b606cd5f595acd1e48c4 + pristine_git_object: 08433fbf3b7d30bbf34429986fab4cbd28525987 docs/models/pipelinefunctionlakeexport.md: id: 5cfd26e5d944 - last_write_checksum: sha1:265c35232dcb58278314e91c4d7004943f718c30 - pristine_git_object: 7413682497950aaf7a67173a18170b7699a82543 + last_write_checksum: sha1:59082fadf826668ef26e5f79d179ffd1fb3b9d56 + pristine_git_object: aabc87025d15c28d43fc931f05c953ddcf159bca docs/models/pipelinefunctionlakeexportid.md: id: 274c61da5cb7 - last_write_checksum: sha1:d10b8885516ab95f0118e57882f9c627e6e4e3c9 - pristine_git_object: 950cfcc41214a13bec808eaa47ae0a6962ed84b3 + last_write_checksum: sha1:1254717a8ba7e0f4e96a7747bc35b3e4bff60614 + pristine_git_object: da2bab66580624aeed4a117576fc76efaa948a6b docs/models/pipelinefunctionlimit.md: id: 59f7257d62e3 - last_write_checksum: sha1:50566e4a3cc2caf79276cf6d904fd4fbbafa0471 - pristine_git_object: c05c14a9d8344246f6947d6c06cb678efb8ba2ae + last_write_checksum: sha1:e19f65247dd05d878bf07f4b6e9a7cda0b5dcbd6 + pristine_git_object: ad55cd807a73c47d91a33e519cb36e859231b25b docs/models/pipelinefunctionlimitid.md: id: f3e5538f3580 - last_write_checksum: sha1:ebe1a7238655a93d028476eb97439a1f86eb48c3 - pristine_git_object: cbb1b34ff880e4a97210fb290c1331b997047f24 + last_write_checksum: sha1:0156762d657392a483fcc8d96548992572cd4e63 + pristine_git_object: 1e69943acfc9d588a676c4904094c04a337456f3 docs/models/pipelinefunctionlocalsearchdatatypeparser.md: id: 41925ea96a64 - last_write_checksum: sha1:0547f17f4b23bf00c15267d4aac9e743dbd4a72a - pristine_git_object: c96ad9dab9fa8352c57530987db6ef6d61c37556 + last_write_checksum: sha1:7a9dac21f4a7cf09d65b150780bb5818aa9b8460 + pristine_git_object: 4b02c6870d1a3eea646cf066e3a007bbac3d784a docs/models/pipelinefunctionlocalsearchdatatypeparserid.md: id: 4cbd2f635ba1 - last_write_checksum: sha1:cd0acd062d38ad869cdf93a8a5646779c346515e - pristine_git_object: 36d1f6f2abb95d1c053f1d718fdc63e905776671 + last_write_checksum: sha1:76e77be63f6dd0619d4b6938afe1d06bed647008 + pristine_git_object: 239ce903cdc554d52d71ee00a058f2817e2c4fc6 docs/models/pipelinefunctionlocalsearchrulesetrunner.md: id: 41473ca77aca - last_write_checksum: sha1:3a18bbaefbf69d69d634302a08c6e888b140cf99 - pristine_git_object: d872ff0cef172ae860a1ac22444a586a8db6cf33 + last_write_checksum: sha1:7ac8ef1d55fad714adccb2c178696bd9b4abd6f8 + pristine_git_object: 32a99ea94796e8533ec4ffc2f6d1a6c0777a36b2 docs/models/pipelinefunctionlocalsearchrulesetrunnerid.md: id: 61490a6f73cb - last_write_checksum: sha1:2d058add2dc6ac5cbdb303a805c8bee2ad4eedec - pristine_git_object: d14f2c3a7d3660a379f7307aae419e7780cb82a5 + last_write_checksum: sha1:f47cfb1a8a0b568a919040d142b3eabdf9db4bcd + pristine_git_object: 167ff9ced6e3fcea9caef2912ea120fdb47f66f0 docs/models/pipelinefunctionlocalsearchschemamapper.md: id: 4452a7bd8e3c - last_write_checksum: sha1:37ac178a86b3aae9c761f70580ad83b3ebab20c1 - pristine_git_object: f74526525f29dde5ff3eeb495d4324c310489b0d + last_write_checksum: sha1:a7365e7474277a8202333e2b2b10413f010cd3c5 + pristine_git_object: 4c9f02344822b6ce8571e525ff06ce7d60372896 docs/models/pipelinefunctionlocalsearchschemamapperid.md: id: bf1c474a2841 - last_write_checksum: sha1:9b822a5866439764db1b344d0fce7d689329cca7 - pristine_git_object: f97678fb2951907cba5f3fa6e22607e0b36304f6 + last_write_checksum: sha1:8030c606b7cad4624f9264cccbf6a1357ed160bf + pristine_git_object: 57af32fc772773cdc551a1b67f86b989c2d602a5 docs/models/pipelinefunctionlocalsearchtimerangenormalizer.md: id: 6d44d436df40 - last_write_checksum: sha1:0af30d4f4d59cbdb3f1c8ab1c655b9e52403cf0d - pristine_git_object: 94c48e9bd8713bb8df06f0dea90e484f46fb89dc + last_write_checksum: sha1:ec6312364b5ce04ecd1048957b73f96fa27c8080 + pristine_git_object: 2c54b68fd51fcdf7311ddcf0733d376091f900ac docs/models/pipelinefunctionlocalsearchtimerangenormalizerid.md: id: 73f67ff5b958 - last_write_checksum: sha1:e3620ecaafbcfad9f222015e756dd14497505e2d - pristine_git_object: ac71b5f66294dc909f88333a2945d3ce6139b87c + last_write_checksum: sha1:a9478a7e866e84475ec6e9c8284bf4bc729a003e + pristine_git_object: e9a88bcfb450df8a48f90cbb83e67fe6af04072d docs/models/pipelinefunctionlocalsearchtransformer.md: id: 44687838915f - last_write_checksum: sha1:e2e7ad50ecac4d09420b6f76e9f4be33101d8081 - pristine_git_object: d0393497fcb39ed9ec7c4198e4ffcf9b0929ab41 + last_write_checksum: sha1:8492861822ef04372c0f213d7c9fbeda234c784d + pristine_git_object: d8f0f46f0c1fff425f0abc0452b38d53f38cd3c1 docs/models/pipelinefunctionlocalsearchtransformerid.md: id: 0aba92eb875d - last_write_checksum: sha1:4e779e0b7aa4087ec4ff3fbc1c5ab7036f1e60fa - pristine_git_object: 238e89b3cd6300cc780596b079b9b56ce73b2e0b + last_write_checksum: sha1:6fb05b2d6dbe73e7f2f9734c5710ae6a47923e1b + pristine_git_object: 12a983468e6335398d4393e630044c70fc5fc5ad docs/models/pipelinefunctionlookup.md: id: e23b4c8a69d9 - last_write_checksum: sha1:d1cd2f3b01329a6b39fdfc4b6ec046bbaf644207 - pristine_git_object: b2c3bf0a4e51ebcd70ae7f43a5a90af8b74d5706 + last_write_checksum: sha1:375a44c354659f49d8ce3a7e737eedf8220cf367 + pristine_git_object: 71dddc861f4868537d125ab077ce7f841a567cb7 docs/models/pipelinefunctionlookupconf.md: id: 615a1bc9e3b4 last_write_checksum: sha1:8aee695ee6f5a284c40d652709f9400e0101446d pristine_git_object: 9f311b58eb0a9bbb796bbe30b0f99812522410fa docs/models/pipelinefunctionlookupid.md: id: ed3e74289445 - last_write_checksum: sha1:c7e1415366f29ca0d58ff99255e292916a34bee9 - pristine_git_object: ade0d9cc7a4d68aefee302deb0e5d33c776a71a0 + last_write_checksum: sha1:d7de7623726b982486f36f1e267d6d4183fc374d + pristine_git_object: becd6779ddbddd033a0d87259298a743b61cc4d6 docs/models/pipelinefunctionmask.md: id: 60f57f0a33dc - last_write_checksum: sha1:92b4272ea94cbc07342bd7b28ff2ba73d134d1bb - pristine_git_object: a66862300a3cacaa79939127e8c3543ff3ca3370 + last_write_checksum: sha1:53c3fc1d3cfa40aa07cdd988180d5bba6563d2a7 + pristine_git_object: 77af50c587d51a167c9464e399059679663c62fc docs/models/pipelinefunctionmaskconf.md: id: 849e01505e8c last_write_checksum: sha1:ef134aec8ddb13db184daa367685714a3d96314e pristine_git_object: d082fc24a75c11c767f3ad650f228030bd99d06f docs/models/pipelinefunctionmaskid.md: id: 8f7a12f7c5bb - last_write_checksum: sha1:f9653271a9d67afb2d8fe79b8c627c7e0eb6a0ed - pristine_git_object: 64313fa411eff47efcf8173bdff87435ab6f6738 + last_write_checksum: sha1:5fcc1ba8cbf9af4fac12f9b545011b1bf7076692 + pristine_git_object: f307aac0bd5ee3a2bed78e3ace56c08a929906fd docs/models/pipelinefunctionmaskrule.md: id: c9e39d6d598b last_write_checksum: sha1:1ff9fcadc2fa4a1a120a236cc74f0d3123ecff56 pristine_git_object: 4023ff1578bc3fe9ea9e637a0288032046a0a3b3 docs/models/pipelinefunctionmvexpand.md: id: e9056aef38fb - last_write_checksum: sha1:e5b939fe8fd1a8b3b308930a4b177bef72094598 - pristine_git_object: ddc006e790e9552d0b1bf93cf00cc15912f8c7fb + last_write_checksum: sha1:9a11b5bedad7f104468682118353b9283fb68c7f + pristine_git_object: 0012705c6589e8bf6c1bef7674086bd6413c1d24 docs/models/pipelinefunctionmvexpandconf.md: id: 7135b6a1c564 last_write_checksum: sha1:3a567522fcabb0f236a2297068c7a82faf741744 pristine_git_object: 07854980a6c3a2ba18eb74713d90ec04763b882a docs/models/pipelinefunctionmvexpandid.md: id: edc247fff685 - last_write_checksum: sha1:1b722e745cf03a6e2b68db6c82b609c3952ab31f - pristine_git_object: a2fedd5d5a149dfe304ef42d6d4ee5db8f9ce9cf + last_write_checksum: sha1:1df658c4511d88cce5ee200b2b6f7f39c23551b0 + pristine_git_object: d1c4fd61aef116dc1a04b4fcbb70ca2dd8ddf66d docs/models/pipelinefunctionmvpull.md: id: 950a3063e82d - last_write_checksum: sha1:3455244eca01684efdee972f29ab7b312f757daf - pristine_git_object: bdd1a9348b2a33b674a81605562b7971b16ed868 + last_write_checksum: sha1:4e3fce9b22e4942c1636a317618398200722bb68 + pristine_git_object: 1e592e035dd46c39758e459ccf04722cc239bdb3 docs/models/pipelinefunctionmvpullconf.md: id: af5ea0bc3b17 last_write_checksum: sha1:610cda57586d526973f9ce36152af2d635a1fbb1 pristine_git_object: 802a17956031f4979891d2e018a25c273b1de25f docs/models/pipelinefunctionmvpullid.md: id: 6ea5d28ab039 - last_write_checksum: sha1:eff365f925a66141efb86818b361dacb7432885e - pristine_git_object: d891f24177a4fb516f7c2789bc5770ba6ee9e367 + last_write_checksum: sha1:f5b4f9e2e87cb72f6b911a3e337eeca9e0df09d3 + pristine_git_object: 61472ac988c88c275b74d03060da931c1b41870b docs/models/pipelinefunctionnotificationpolicies.md: id: e1dea707d951 - last_write_checksum: sha1:b81b4fd519c60b3183f1cd89b189ffee59bd4e99 - pristine_git_object: d97961643fc339dfe7680a069ad72d95dce8f208 + last_write_checksum: sha1:f19dfeb82c7741e491dd677bdf141f21e2abf1d3 + pristine_git_object: 5205bdcfe76ddc3014e17ded7713337d08a2f955 docs/models/pipelinefunctionnotificationpoliciesid.md: id: ba9ca8d4e331 - last_write_checksum: sha1:8a41bfd3e856cdbf13ffe00d531ae1642a7e1a8e - pristine_git_object: cfbcdd3418b4326dae9c18650c4e7fcaa9478199 + last_write_checksum: sha1:3b57f6da1befc0cfd717a19e85e9b6f002315607 + pristine_git_object: 8916ade17bcba60033eb561b3a180a16d6097ded docs/models/pipelinefunctionnotifications.md: id: 2a7832ecdec4 - last_write_checksum: sha1:89444ff5b955467408c61b29c96dd2039bf9789d - pristine_git_object: 3f1c891b863a440fca9a1ce084de0c637e6ff4d5 + last_write_checksum: sha1:b5b2ca8e8817a33b8263be21e3bebc6c32aa3ad5 + pristine_git_object: c51d6a840ba993428f062db4e9d6d9a577c52e30 docs/models/pipelinefunctionnotificationsconf.md: id: 4c7727b35723 last_write_checksum: sha1:e4141a3b69c53b33d79c16b3b6f6df20d4abf20b pristine_git_object: 7e678678688815f2aeabd81f43486dfa85e370c5 docs/models/pipelinefunctionnotificationsid.md: id: 7c61b6133471 - last_write_checksum: sha1:d10b728c6ad0d88d6dd6ac8d7f7071d9b4cbff1b - pristine_git_object: de7766be146ea609f30fd6f3626fd1c9aa07bc89 + last_write_checksum: sha1:57913e77c645d5cc342d19b93ad95db5bba00540 + pristine_git_object: 37a4733d760cf3c8935b9d0a7a9c7e008ea7830d docs/models/pipelinefunctionnotify.md: id: 064ef6e61e19 - last_write_checksum: sha1:23d492b9aac27d78964ae14fc44e4eaa0bbe866c - pristine_git_object: 397ad5ead09a32011d2cdb82a0795ec0002f36b1 + last_write_checksum: sha1:2c3f614ffd24fd199187aa719f48e608accc01ab + pristine_git_object: 9e0ef92fc46c02fa4228c8ecc82da14f8af79dce docs/models/pipelinefunctionnotifyid.md: id: ddee252b1b0e - last_write_checksum: sha1:1769e1ceeedc9240c6dd3c32b4cb7b03fae0b6fc - pristine_git_object: d22f178c1f95a8562849c0ff56a5e8fe831ae670 + last_write_checksum: sha1:782ce324d4b74b18013fb3992335da0d8c8b715d + pristine_git_object: 2ce1f08f5e048817bc906d1c037826582e576045 docs/models/pipelinefunctionnumerify.md: id: 2708f2ece749 - last_write_checksum: sha1:d3847a5cc58f3bbe6a02c929e41cc0fcaa2621a0 - pristine_git_object: 406010dc9fa84f3c595189ce41dc9c20ffb53450 + last_write_checksum: sha1:c1a1e7f8420562e666131a099d87736372571f69 + pristine_git_object: 749738badb2ec8551e7e3306b485bac366c02179 docs/models/pipelinefunctionnumerifyid.md: id: 30b28fe1c6fb - last_write_checksum: sha1:4c25dd2cbf7973e144bb3ba4c391ddff76ab5eaf - pristine_git_object: 7dba5b7b01f8d3866f8b753717a9a7e9f769f15c + last_write_checksum: sha1:8d614ed56a07ddb75422a2f438062286c89ef6a6 + pristine_git_object: 00c998e8dcdacfa5b16cc786dc900b3437d412b5 docs/models/pipelinefunctionotlplogs.md: id: 5b4b18bd0631 - last_write_checksum: sha1:604340dd67b45c375b601eb62f70e45dfba37690 - pristine_git_object: efe20a0a80ffc705df1d31c1c780c278fadf99ff + last_write_checksum: sha1:08b40e87e81b2109357ccc41e866a87a1c7f9328 + pristine_git_object: cb75f7a70b9cea934fa7a20bff2df1d3a5f31c6a docs/models/pipelinefunctionotlplogsid.md: id: b0c2307e1368 - last_write_checksum: sha1:86decbdbb23e0801602e0d9917dc673947985fc6 - pristine_git_object: ddc6ea0d6b941d27d632076b54924713ccec5e12 + last_write_checksum: sha1:741ea8024e02be3a6d1ca92ec495ecceffb51823 + pristine_git_object: 26423e170bc4e8ffdf44da04f17ecfb89f815fa1 docs/models/pipelinefunctionotlpmetrics.md: id: 5f7133952cc8 - last_write_checksum: sha1:52b786c851c70325889f9e9e8ac681d0a913c9cf - pristine_git_object: c22b2eca43e10224be5fca9c277ec33923af5350 + last_write_checksum: sha1:73c34194d9db5aeddf7bde18530e631bbebe0865 + pristine_git_object: cfcf36e1f06e99604a88f21e3d83fc5bbd5ce8f3 docs/models/pipelinefunctionotlpmetricsid.md: id: 9ff5ddf2e865 - last_write_checksum: sha1:ecfe6ee78159381df6f7cbe57f85d42ff9ec9e17 - pristine_git_object: 314f32559ccb05386904e34324ea8d5a0debdc8a + last_write_checksum: sha1:229661d9cf276470cd206583ede44d92e9595015 + pristine_git_object: bca3b522e27b43326ce0f950c2d44f9e484bfeac docs/models/pipelinefunctionotlptraces.md: id: 50409fae7841 - last_write_checksum: sha1:bb1b3f04dd8226c1a595742e90dabdd31407aca6 - pristine_git_object: 7eb7a863de05415d9f391a25129c45a2259ca43d + last_write_checksum: sha1:917f331e4640cbad1fbb642ae827ced090faef27 + pristine_git_object: 4a24b3d1b7128425954bd2087be34c9f78243fb4 docs/models/pipelinefunctionotlptracesid.md: id: 6b39c4fcb812 - last_write_checksum: sha1:ad4a58d84b433aaff49f0874e6480f440fc980b8 - pristine_git_object: e71f8ebe5d2fb81429657e08fac829b017a934a6 + last_write_checksum: sha1:85d986f28bf520f5d10928f9451dd13dac26e077 + pristine_git_object: f6e11e224a384b0f5c2a4bbb668cd4cb6fb78970 docs/models/pipelinefunctionpack.md: id: 1cf2014d68e5 - last_write_checksum: sha1:d222bb372f74b5c5106155df9d5befb41b44a80b - pristine_git_object: a96833bcf543df0d97d125dfe5ce41c31358354a + last_write_checksum: sha1:a3f617fb632d96bb0f083ca9c6b60a1e952986be + pristine_git_object: a59ced2009f90d24c4a49a0d5478f970efe9c841 docs/models/pipelinefunctionpackconf.md: id: 98b7c0451320 last_write_checksum: sha1:25db36387d91032672b61db21f92ecc7ef05af80 pristine_git_object: 96947063dfb50f5a0d90066e4ca1aec1c1f2d4bf docs/models/pipelinefunctionpackid.md: id: d35a10600b41 - last_write_checksum: sha1:da47f187d3201a0f2bfae4acbab1a3e0fd9c72a3 - pristine_git_object: ac2d91d67e3bd5d19bc5cb67e6b2dc0e7a790886 + last_write_checksum: sha1:e450b104152892508582724af1ed82cbe0a17cf8 + pristine_git_object: 050aa7e080fdbe9d0b4f82f9f8a70494d91a824f docs/models/pipelinefunctionpivot.md: id: e102feab2330 - last_write_checksum: sha1:bac66683ef0e39a7fb3ae8881be4cb733dcc24d2 - pristine_git_object: 8d0ad952d56d06b55a16c8b98fc5922a534bd864 + last_write_checksum: sha1:2540c84c8a15b1288a98c8dd7ea589f03d516d31 + pristine_git_object: 33c6743faec23f0874e68a4af3374372febc6770 docs/models/pipelinefunctionpivotid.md: id: 42925df62620 - last_write_checksum: sha1:4804e2c40202b22a959fa3bbb5569083a06ce7a3 - pristine_git_object: 3797f9bec333fecc62decf8d3fbe22152c86f803 + last_write_checksum: sha1:23265c038fcb74c4d25328e4fc795c3c69d5eec2 + pristine_git_object: 29bc4282e761fd0a3b838474965655a8168f7e04 docs/models/pipelinefunctionpublishmetrics.md: id: 2d407def6d5d - last_write_checksum: sha1:10de890637d77c66f3e115d94fcf1fb92f101a0d - pristine_git_object: 5d25f7f552cee44661ba37d58bcf9dfae91a0649 + last_write_checksum: sha1:4d6fb4bc6b1e1fa6063939c617c5d7c068b1f822 + pristine_git_object: f3fe093dffc3da8f87076a5cf781ddd1f148de3f docs/models/pipelinefunctionpublishmetricsid.md: id: 18f4fa1199f9 - last_write_checksum: sha1:4fc0d90d86060a82f54769ec6ae83be43895bc2f - pristine_git_object: 855be10070797d46f37cfd1b568391b1bdf34bd3 + last_write_checksum: sha1:efe32ed9009b40190cc55759b7fe950710b7f4dd + pristine_git_object: 331d8657486f87be9bbadb7a703f88865f6b0d24 docs/models/pipelinefunctionredis.md: id: 9dc16ecd44c7 - last_write_checksum: sha1:73633c70723bc5a06277491bae1398842a8ba52b - pristine_git_object: f656fecb691533f4305177e1418c8db36984d1ba + last_write_checksum: sha1:8d9f48295d8664e417878d1683829b24c646167e + pristine_git_object: b72dea4f1c40baa275772ede2b9d74910dd1a9eb docs/models/pipelinefunctionredisconf.md: id: fae860c5725b last_write_checksum: sha1:abab39e3c317333761d4dd905cc56a50efe7ea05 pristine_git_object: bac12224bd41ce2fd65bbd4d95f0cd636c32d29a docs/models/pipelinefunctionredisid.md: id: ba20b7491ef0 - last_write_checksum: sha1:eac6d6d36ccb2e3e618ad2522bd74bab7a502d87 - pristine_git_object: fc9f530af9358cf53c3175be0bf8e5f02187bb61 + last_write_checksum: sha1:daff0d0d7fdd10a6a27ecccf41bafc2ccd07cc07 + pristine_git_object: 9dd156b97adebf3a6ed434b851bbba831b797077 docs/models/pipelinefunctionregexextract.md: id: ce3fb633af22 - last_write_checksum: sha1:e059d28970428446bbbe040663b368c04d08b4b9 - pristine_git_object: 7df88a663111dd104a5adb255ed0878ae9c01678 + last_write_checksum: sha1:cc3349cc8ac650be9c35df4f03bfd0f25fb39d88 + pristine_git_object: 4aa6623e1e68eb077502c8ce0bd266dcb8a03085 docs/models/pipelinefunctionregexextractconf.md: id: 7da847c446dc last_write_checksum: sha1:554ab1235f14047ab2a859e0b218f0fae80639ee pristine_git_object: eb7e3d1d14f05d44ced0d83e86497b74099f19e9 docs/models/pipelinefunctionregexextractid.md: id: f768da25f361 - last_write_checksum: sha1:8c9cac36917f5104645c2c78779974ed295fbd81 - pristine_git_object: ff806e737f96bad2e99a41d6bfc170a1a4dc42fe + last_write_checksum: sha1:af83bab4a510d54b73c5f79ec8dab817c9042ae3 + pristine_git_object: 5d3cc19adcb14c7478f77914c05d197c2b517c43 docs/models/pipelinefunctionregexfilter.md: id: fa700f1714de - last_write_checksum: sha1:30860661971f48022f53cdcabf832d5ac7590b6b - pristine_git_object: 2ed3fbcba2d106a82214b53e0f0861dfcd2c8f70 + last_write_checksum: sha1:d90d7d28f8efe61b5bee48b01a2da7969987e6a4 + pristine_git_object: a38edd56cc1ce120c906197a0edb02cd5d72839d docs/models/pipelinefunctionregexfilterid.md: id: 78d529628d8e - last_write_checksum: sha1:581cb2089efbe43d84c65c3bcb3d7c3a6f691825 - pristine_git_object: ac976114c2430e854a152ae1ab76258fc17a4fb0 + last_write_checksum: sha1:824ca3426848e589d5dfe85a5848daa7a2de62cf + pristine_git_object: b91977b6b7d1876fe4256b17dff2115d667edb25 docs/models/pipelinefunctionrename.md: id: 755160a3f14f - last_write_checksum: sha1:43237ac6c9b105746e7c4174fd8396e998ba186d - pristine_git_object: a6dd2d4407068afef89f26acdc7244783de16272 + last_write_checksum: sha1:3734acd8e5ee9727813768f76aa07df7b935855a + pristine_git_object: 6eb12ff3b0f1b724e8576639f5e4cfdab66cf6ad docs/models/pipelinefunctionrenameid.md: id: 15ab6bc28ab3 - last_write_checksum: sha1:82ff9e076ed2305bc8a13e19f3c02631138d9bf3 - pristine_git_object: 69800f4fca47de9669e674b6f305643a51ccb2e1 + last_write_checksum: sha1:2cfdb288d0b6fd4527480bc39779135bad9111b6 + pristine_git_object: 60cb75ad21cac232edbdd0cf26985d171b01c1c7 docs/models/pipelinefunctionrollupmetrics.md: id: 59a8c595b19b - last_write_checksum: sha1:cd79745f98b80107ac6458275b8dbce8156b95e5 - pristine_git_object: 63171a87d1b9271938a3085a7783311d2aab384a + last_write_checksum: sha1:ed848e6880a856b0cfc0da8241d14cfcc9f7f1c9 + pristine_git_object: 272221639c5a37839ec63409c8b46d6e63056f4b docs/models/pipelinefunctionrollupmetricsid.md: id: 9a8bfd8c42a2 - last_write_checksum: sha1:b3a74e1f992e14004e560afa3f5228dba877c236 - pristine_git_object: d140ba4970005a2e365a23a0ca92a71da2483b09 + last_write_checksum: sha1:87bc8f931e514312f30ec9a9a211361affceebd1 + pristine_git_object: 86a65826b4e25c342f307c7d072842ac3b8fdc5c docs/models/pipelinefunctionsampling.md: id: 917cde8d74d9 - last_write_checksum: sha1:89f9af4d89b7ddb469b3904f361a3fbe15b1df2f - pristine_git_object: 481bcd76052c627e88ff039d214fe92bb408b4ae + last_write_checksum: sha1:38133e47dbd2b3c191fdab2e73f5f50c7326b686 + pristine_git_object: 9f636bdc40afb5fb8a8467790ca813df6d0d3a93 docs/models/pipelinefunctionsamplingid.md: id: 73836776ba4e - last_write_checksum: sha1:d39c8f009e43c87c8b670244bdab40a4dda1dc56 - pristine_git_object: 151ba887be62b3ce750dd69ba539b33b5e925254 + last_write_checksum: sha1:9abc3598299d5b1be81b10c19dbd52f09f425b77 + pristine_git_object: e56961e260c9455ae12f2f6c4b33cb1aa116954d docs/models/pipelinefunctionsearchengineexport.md: id: bf7f9b8aa23f - last_write_checksum: sha1:a930466abe34be1a160377bbca66f673ab934a27 - pristine_git_object: c9099266ab26b3ddcd356fd8390674112f17e0d4 + last_write_checksum: sha1:e69088fc1aa4eadb7e176de48f46101dad724d27 + pristine_git_object: ad1b3a5da52fb8f78cb6207f1b337d6f29906129 docs/models/pipelinefunctionsearchengineexportid.md: id: 5127536a4cdb - last_write_checksum: sha1:65e26bdb81aad1226d302c2996d0db0193febf4f - pristine_git_object: 20f1f48ae878cfcd94e88535b0bf7b7c0f510198 + last_write_checksum: sha1:10ad4ba007fb93234696639d57d3758c3d26a8d2 + pristine_git_object: ea4f37ab7cd086c4dc2b97bb0abcfacf3b61006a docs/models/pipelinefunctionsend.md: id: 74abb0008326 - last_write_checksum: sha1:3e12dcfcc32a580508deb5a6f6e65d2edc39a812 - pristine_git_object: 0e8e538a692422189806b295e68cadc8fae8e39d + last_write_checksum: sha1:df9ad6a2956bcb1f8a88be49b2684fc1aa1aed97 + pristine_git_object: aadd78be19021b2edecb7b1974e36981b2f1171f docs/models/pipelinefunctionsendid.md: id: 04b636a9b144 - last_write_checksum: sha1:1ec0afee829ffe9923c3bf86787387e5c0559bc9 - pristine_git_object: 96f0acfbed4f6cb03ce3e9d50e37e68f3ee1aa16 + last_write_checksum: sha1:ce718f9fab3d36767fff37520a704aedc29f4819 + pristine_git_object: bf9961d1df1f6de61bd593ec50331c30f705d1e4 docs/models/pipelinefunctionsendmode.md: id: 4f1a875ef700 last_write_checksum: sha1:544a30d50013446d6bb43d26f421735dee34b71f pristine_git_object: 89b077b895f32140358ba6658beb46e29836bd7d docs/models/pipelinefunctionsensitivedatascanner.md: id: f21db806a353 - last_write_checksum: sha1:93cb4ea0a388a44c1ff58551fea08a7d13e3d4e1 - pristine_git_object: bed86f1726d19be67ef92ef26165c3966fc1ff0a + last_write_checksum: sha1:dacb31a6430cf17a811c692860a2f2a9cd813f8f + pristine_git_object: 2110aa331d0c5af79c892b53109e9fe5f19653eb docs/models/pipelinefunctionsensitivedatascannerconf.md: id: d853a8ca53ec last_write_checksum: sha1:fb8f7ecbf5248ca40073a060384fe7fd15c484b4 pristine_git_object: 86af73cf1a1093d6e71513be8631b4b19535d9dc docs/models/pipelinefunctionsensitivedatascannerid.md: id: d5e8d72808de - last_write_checksum: sha1:40526ffe18a95a872ae3b16b02da8341c3e5d1ed - pristine_git_object: 6b292adee03216bc8d12d346e9f3ebf0af24386c + last_write_checksum: sha1:bb47f96d73cdd618ebfee6dc9bc721567ba0d86b + pristine_git_object: d9f95260547a9ad33f943fe9ee3d0edd08a21f7c docs/models/pipelinefunctionsensitivedatascannerrule.md: id: 7f6783599349 last_write_checksum: sha1:aaf2f89d80967231f47cfc0341de0d4a88f9f9d9 pristine_git_object: 59fb74a309d37923f5b9f6be7d68647938ee0699 docs/models/pipelinefunctionserde.md: id: de3d4407e3f9 - last_write_checksum: sha1:9e7cc3a14ccb66fb901597834685e91bd518a226 - pristine_git_object: 5c1391f0890a766bf68be22838633aea8c756ac4 + last_write_checksum: sha1:41734f169db20206b21c7f2d0894663f50407bbc + pristine_git_object: c40cd302c50a4e69961a753798f58490c23715e9 docs/models/pipelinefunctionserdeconf.md: id: 8d31b4d8950b last_write_checksum: sha1:ebc2b444d06db2772b90bc6d7ec270b0c428f72d pristine_git_object: b29cea1e7687e16c2a9a2f879c8ea2455933f204 docs/models/pipelinefunctionserdeid.md: id: a3680888ed5a - last_write_checksum: sha1:17d32d1089d80019bc1950219d3472b0d5867b88 - pristine_git_object: 962d57b4294a63e2271aee22322dc86f0e10492c + last_write_checksum: sha1:392be6864f2240e49b16e29fcf344f8f50d85fc5 + pristine_git_object: 5521f6b809e508dc0da981b77d1b871a5ba44e02 docs/models/pipelinefunctionserialize.md: id: c6760380623d - last_write_checksum: sha1:dd116f52e1367ee56d9e725bf4532f74e6e11247 - pristine_git_object: eb23921a368c9d1b5865937ed5a97e7f0575a837 + last_write_checksum: sha1:b1f87997b1ca6161d25c4933fd39a5067a6d0784 + pristine_git_object: 0c6f17d351e7e0a1a607611c89597472a8b0fd45 docs/models/pipelinefunctionserializeconf.md: id: 79b161102ac1 last_write_checksum: sha1:756c061402e763b6bb0a80dc82063f3d5ace3487 pristine_git_object: b6f5703f308384219048bc2b628c719a5da5d56c docs/models/pipelinefunctionserializeid.md: id: 78a52554a271 - last_write_checksum: sha1:898a096e38d63191c6e26de22bc0b15d75720eaa - pristine_git_object: 70dc92ac1e40fd4b0d412fcca1a806400ea78906 + last_write_checksum: sha1:cea43224173b54bd8ce3d49eba00e7bcddfad213 + pristine_git_object: 4354c91746f4aabbe7c59b10f3ad488004c93598 docs/models/pipelinefunctionsidlookup.md: id: 9c405d6c49f6 - last_write_checksum: sha1:3ad08a08eb14586e366a4c359ef76f98186a27c9 - pristine_git_object: c78e9cdc1a26f985292fe4102bcbf898e870e1ff + last_write_checksum: sha1:6cbc8038494454511b212c8636ad8fed63128f48 + pristine_git_object: 5bf72965d5682b9ef92029293c3604e2ef321c21 docs/models/pipelinefunctionsidlookupid.md: id: 0e776cba4c84 - last_write_checksum: sha1:c938c15fc7cc56a88e89cec92083f50ddf9d6776 - pristine_git_object: 3e73ba23c72e54c4d3566c9e17e5df2fdc5c2fa6 + last_write_checksum: sha1:d2ea310e95dbc4798209e0917955226da682ada4 + pristine_git_object: 8760d1365df115b9ceda681f7ff4f3c978df0ea6 docs/models/pipelinefunctionsignalfilter.md: id: 01497ae60677 - last_write_checksum: sha1:da8a4a5e46f4b723f3ac9b51a707d9279f00c2d0 - pristine_git_object: 1051bfd266229db190e9c27e5b43b0285b32d174 + last_write_checksum: sha1:12d1278257a21e066b85b0cda2a2b00873eed9f5 + pristine_git_object: 1bd21ae448a2779a57cea4548336ec6191e45692 docs/models/pipelinefunctionsignalfilterid.md: id: e9562fc513a4 - last_write_checksum: sha1:01a09e1d15c355918feadaade0247b1b1251af19 - pristine_git_object: f96767608658e63e4e2bdbdcc15f847f3ef93f61 + last_write_checksum: sha1:ff5db5f3a1b039f3e5c08d8d3588c9cb14f73dc0 + pristine_git_object: afc488c43647b118e0057d6230ec122d749c0d17 docs/models/pipelinefunctionsnmptrapserialize.md: id: 7f0fdc3d3828 - last_write_checksum: sha1:17ccaef3457247f9ed8c95ca73b910d0995e08b7 - pristine_git_object: ab5e6dbd089c684cbcf3571347f0196887ecd2d5 + last_write_checksum: sha1:0e2719898df359f358a412aae33caa4ee0c924e6 + pristine_git_object: 0ba3ea3ba8373316368028d43afed351793adb32 docs/models/pipelinefunctionsnmptrapserializeid.md: id: e6ff39d64a89 - last_write_checksum: sha1:426253515dff87773f5f05003cead841c5f746d1 - pristine_git_object: 333e957be6ee66277152802e2481a31d52870dc1 + last_write_checksum: sha1:4e8e27116abcce41713a48f6b5126476b7d26be2 + pristine_git_object: ec469b4c644d2458035af3463874fe41cd84225e docs/models/pipelinefunctionsort.md: id: 764f4439e3f6 - last_write_checksum: sha1:c4e1ca0054646fc01ecb64385bb9c962911a47bd - pristine_git_object: 03acc3281c5f7da666f3822cac9e6a1021946031 + last_write_checksum: sha1:a9766ab82e25447e37bc73fc5b642a4d3829c5f3 + pristine_git_object: 2a2b5d4a2eab0ec387207e2fdc2897c678b47186 docs/models/pipelinefunctionsortid.md: id: ec3d286b738e - last_write_checksum: sha1:565abad05bf9c3598b485a2f5084268388ef0e3f - pristine_git_object: 267c5a4300ddd7d6ea35909fe78152196448cc9b + last_write_checksum: sha1:ad84a8945e33e6a7ec4e60599037900fe52d9b8e + pristine_git_object: 1c63d40c5385e96ea224ecaaeaa8400bec360d29 docs/models/pipelinefunctionstore.md: id: 45a650798ccc - last_write_checksum: sha1:9b3e53b1ad2338e380e2d8298d3cf275f0d60636 - pristine_git_object: 08cb5938b8349cb851d455bd7e09df7b410c9784 + last_write_checksum: sha1:ff8ff8557413eb25d10d748a2da2280ec20d3e9b + pristine_git_object: 7aace3c59b61cbd694ce3010b6d1439f0b26aa7e docs/models/pipelinefunctionstoreid.md: id: e863900c9bef - last_write_checksum: sha1:09f31f6e396b4fe8918244228684cb983fa3499b - pristine_git_object: 224eeb24ac907f5f0992e3edbe86b2c189f5cf96 + last_write_checksum: sha1:662b4abc289e26fe97517cd7dfeb669a5b540eb6 + pristine_git_object: af449d9373e222024d863bd210121d541f4b2416 docs/models/pipelinefunctionsuppress.md: id: edd38ee6c010 - last_write_checksum: sha1:89be4d1343d2084eb3ae856c79f6a7711f2a8f19 - pristine_git_object: 8af896d6f78a6ab7d3e4c2582f58323bb90eb709 + last_write_checksum: sha1:985a3bdd076ff18dc7be261c96c2ab6315793b76 + pristine_git_object: 8a3339281771583bcb28c5f41c040a5240faee3e docs/models/pipelinefunctionsuppressconf.md: id: 06855ff9064e last_write_checksum: sha1:e9041ae2ddb4b7f03c50ebadc586cf89c772a8d7 pristine_git_object: 7fdd75fb282773c3f4a66348cdfe254c9b97f089 docs/models/pipelinefunctionsuppressid.md: id: 874ebd0bb938 - last_write_checksum: sha1:a0b88199e347e7a55d962b5e1a10bcd9017392c1 - pristine_git_object: d49c4309627f2126acae506ff570c535d463d117 + last_write_checksum: sha1:0f44ad50eb227911aa087dd26bbe6e109413df1c + pristine_git_object: ae4e757417622949e567744ed79aec32537f4c94 docs/models/pipelinefunctiontee.md: id: 586b99374e07 - last_write_checksum: sha1:6984c79056936f98091167d71aee694b86bb7c53 - pristine_git_object: b608b8743c930b364ca3da919bce10b9166bc9f2 + last_write_checksum: sha1:659cf9e6d1adda946d3c2cd9f447c09635302be3 + pristine_git_object: 7e5677593a236f228ad44d6c1ea831318ca34bd0 docs/models/pipelinefunctionteeconf.md: id: 20fcbe8db5c3 last_write_checksum: sha1:e53887dc78ec7bb101382ed3ad6ad90865316b94 pristine_git_object: 80c3cd273e58e7385e4e13676ec4773ce1339506 docs/models/pipelinefunctionteeid.md: id: 8b5379801ac8 - last_write_checksum: sha1:28d4fc184352edd670cdec904d442343a42a00ae - pristine_git_object: 3e8ae58fdc7332398d62e1cc4a2b08f06eee6ee0 + last_write_checksum: sha1:c15fac6c62e5ac93b31483342b42481666f135ed + pristine_git_object: 18227021be44c28e9cf781e46fc515fa62323e4b docs/models/pipelinefunctiontrimtimestamp.md: id: 83db150407a7 - last_write_checksum: sha1:0ad63199fa41cf7f187ba6d0f2df59c27c826768 - pristine_git_object: c32332c92793a1dde002dc929d4ecbaf8b6c7917 + last_write_checksum: sha1:e27d2b5445efbf93c292dc381b1559b19d6144a4 + pristine_git_object: 2822c611b7a2357b3b793234d6127444297ffd15 docs/models/pipelinefunctiontrimtimestampid.md: id: 65cec3494ebc - last_write_checksum: sha1:e948aeb4aee3f3be0f199223558aae03fc11ddd2 - pristine_git_object: f40e5a5fec9c5489b24c79afe816198ad427a307 + last_write_checksum: sha1:1e6999b0b737062510324cd11b75a46d89d08632 + pristine_git_object: 75873a6ed1c5ad48d7e10c8ea721e0a03349a66f docs/models/pipelinefunctionunion.md: id: 3eba29cbdba0 - last_write_checksum: sha1:47df1ae2a5dcd32e20af2468bace4d194c4876f7 - pristine_git_object: 364ae579d270783bf5dc00105d50f6dde38fd38b + last_write_checksum: sha1:e23fdef9ebbaf2451a6b648cb3238bfb92af1d4b + pristine_git_object: 931cda54451f939b241a52506e69bac57cb92f68 docs/models/pipelinefunctionunionid.md: id: d4e84746a08a - last_write_checksum: sha1:c644b1155b2e2e76506c41e0954fb95945e9dc2a - pristine_git_object: 38777ed888403533ed20f425a8d33c470cdc38b6 + last_write_checksum: sha1:e5f53648de619b94b046ad4ea7a60134130c4296 + pristine_git_object: 98e1d628c6feb7759a591580ddd568be952c10d3 docs/models/pipelinefunctionunroll.md: id: 6f3e1e5de746 - last_write_checksum: sha1:0da5dad743f4e133f25c89b41604f132452e47b6 - pristine_git_object: 94a8fd1dbcca9ea2d72c0a386c5394959b8dc383 + last_write_checksum: sha1:a3842ce05f516c7fb80954dbdf2922fc8ecd346e + pristine_git_object: 31ccc7a780198b6eb86cdac6668ba3c83cfd59d4 docs/models/pipelinefunctionunrollconf.md: id: 9dc088be6626 last_write_checksum: sha1:b41a1c88b4cc4bf5667967362d130a66396c8c9e pristine_git_object: 21a41277041ec14c26343a21400c48e9a5be35b6 docs/models/pipelinefunctionunrollid.md: id: ae0bae8f13fe - last_write_checksum: sha1:728ada5ec66b11fca5464e7ad4f7ea9bda9ff468 - pristine_git_object: cfc05fe3c65b6f034fe057b993b39891b049a0ab + last_write_checksum: sha1:23abceee8501c3fc69a233b56af66c04955fd67d + pristine_git_object: 5561e3a175b5e686871ec8d32f45ff2a664c98d1 docs/models/pipelinefunctionwindow.md: id: 6fc66d79fb7f - last_write_checksum: sha1:6c4c18097dc38d213fa018cdb98faf2917ca9d65 - pristine_git_object: 61456e87d07db6493c1615d4cc6e2793ed8ef055 + last_write_checksum: sha1:59b7b47ad80fb94f618effd40e7fae3a47181029 + pristine_git_object: 705bd4479cb97530cc74a9f43cdfb76ee863771f docs/models/pipelinefunctionwindowconf.md: id: 8d5edf69d862 last_write_checksum: sha1:399632be753421797dfd28f295d84947e1faaa4f pristine_git_object: 46c777823665eb080ed52020edef18572d1aea80 docs/models/pipelinefunctionwindowid.md: id: af0c8703e56e - last_write_checksum: sha1:764343c655effc1adf31d8472f005428197d1ae7 - pristine_git_object: 3a4dd1738d66e0f4c5a5e1c6fe34655dc8f39d2d + last_write_checksum: sha1:43da3bb62db25095842561c0811e6bd4bace6fab + pristine_git_object: 3208728b820ae4eb2ab0d44f252f24f9983f34ef docs/models/pipelinefunctionxmlunroll.md: id: 0bfecae155e0 - last_write_checksum: sha1:2dd2b0064a15117c73d20a730dd63d8315413595 - pristine_git_object: 540da5b3893ca6ff34c6299ea7e66d8e759cd7c9 + last_write_checksum: sha1:7a9a473862ece545865add2983c377d733f53613 + pristine_git_object: 89a8491398bd6114575ffd768a268f68bce559b7 docs/models/pipelinefunctionxmlunrollconf.md: id: 1404e410f51e last_write_checksum: sha1:3ab91caf45493dca22d8295019fb22e0020f3eaf pristine_git_object: 8b8ac7fe4e62663b93baded2db74a7549b831c55 docs/models/pipelinefunctionxmlunrollid.md: id: 7145479981ef - last_write_checksum: sha1:d8401ead9ef4a59f813d1cb15c595dc8c51d6906 - pristine_git_object: 52336d061f4d80f29b24288c9c6d974d4c8d148b + last_write_checksum: sha1:e043888f1db86a441fb19f5a38d2049cc95bd024 + pristine_git_object: 4fa3716400ae4a09325ef76f0eac3bf4dc3de168 docs/models/pipelinegroups.md: id: 33a01633cc3c last_write_checksum: sha1:3564766f9b739a6f7c110c5c3aa0aea1ba062c87 @@ -13456,12 +13520,12 @@ trackedFiles: pristine_git_object: 529d2cc00a9618e42a524e61911d8f850de34a23 docs/models/pqtype.md: id: 98c692583770 - last_write_checksum: sha1:d73ab8d28761b02399ac019f5079f9102919e277 - pristine_git_object: 4122dfa95f76599c77264ad81fb71452b9ced694 + last_write_checksum: sha1:f63f8dab36fa4a27af917ff1f8d2726beff591d5 + pristine_git_object: c6bc620c2ff241cfebb7156b9d86c248d4bcc08e docs/models/pqtypepqcontrols.md: id: 3de607008d47 - last_write_checksum: sha1:f85f8a4b9ed0549404405a500ff463d45e8a9672 - pristine_git_object: 4e5ad661eba171c3a55617317be1e600404aa616 + last_write_checksum: sha1:a2430a538e8d853c1eb21c859ee110d7b768410b + pristine_git_object: a8c544617dd47bb827392a9156f3ac43170a1f4a docs/models/preprocesstype.md: id: efd880b4d961 last_write_checksum: sha1:b127298438cc1b4191f5d1baea5c42e41183ac53 @@ -16346,10 +16410,18 @@ trackedFiles: id: 651243a269e8 last_write_checksum: sha1:7ecb9051115bf3ed07ed2d85073a851c0573e0bb pristine_git_object: d54c44c330f136eb4b7311e605bd3bab087a95ab + docs/models/tags1.md: + id: b720069ebc36 + last_write_checksum: sha1:e6479a7e8ee9c53064241e48496befeeadb13ccc + pristine_git_object: 70eb8b191ddd14a7e087ea263b9457a2211faba4 + docs/models/tags2.md: + id: 3a8f49294fcf + last_write_checksum: sha1:7e68de32c052d8dd0f63d9a71e3b207460bf282a + pristine_git_object: dd62bacdde5ffff4a1b167e4124ab59c69214ae3 docs/models/tagstypepackinstallinfo.md: id: 2a8b704f98e6 - last_write_checksum: sha1:f6225bb9564338afa29c05ea2ca982c79fbac5a8 - pristine_git_object: 584f543da072cc483047d161afe3beb6a7037e00 + last_write_checksum: sha1:e36ed64980f13858ed1e051d2dafa1db2da51da0 + pristine_git_object: 2198921b3035dd228f52fd59a6aa514afc0d7d31 docs/models/targetconfig1.md: id: 52a0a4ac3722 last_write_checksum: sha1:741421960d01e87d275938cba3e25aae79c31edc @@ -16452,8 +16524,8 @@ trackedFiles: pristine_git_object: a2d426af083abd1d33fbbdc3ae4dd0b17631072f docs/models/tlssettingsserversidetype.md: id: 3455c68c8d0c - last_write_checksum: sha1:033ce2307e503ac812c8a7b35abc4c5a36aee3ae - pristine_git_object: 32b89ad14ddeadeb36cfb985df95fa4b11e5c2e3 + last_write_checksum: sha1:c5d45b557b75a2366bd58d1fa78a47b1514d5b67 + pristine_git_object: 9571aa88db0df2b661bde4fb1cf6c5ebcaa07524 docs/models/tlssettingsunion.md: id: e603fc0e2c63 last_write_checksum: sha1:f57e0994249c1cfc868762bb50257ce8f115b096 @@ -16520,8 +16592,8 @@ trackedFiles: pristine_git_object: 4271ee6ba2f2c8427d4c5e985bfa596052195b48 docs/models/updatepacksbyidrequest.md: id: f5edeb97436d - last_write_checksum: sha1:2ebe988b2cd35b08a6b41ca517f5625fc037c456 - pristine_git_object: 200f131d3b75df94c6bb4931912bf3334fb6e2d9 + last_write_checksum: sha1:ade9491d213fa343c408df1a9a35b1305b6c10d1 + pristine_git_object: 02b76bdd10b584ee0ab947df8de44dd5156f29b9 docs/models/updatepacksrequest.md: id: 156d63ee1536 last_write_checksum: sha1:a1a3b00f18171470fd9d423c73d4374e46172e06 @@ -16540,12 +16612,12 @@ trackedFiles: pristine_git_object: d73594d788c1be8120fd0b4117df9f1211ee5cec docs/models/updateroutesbyidrequest.md: id: 3f61604ba6c3 - last_write_checksum: sha1:414ae0f8ae58d7504416c246b1e1845045766f42 - pristine_git_object: 4df8d7cd966e515c646daf34328d5aa1fb80cd7e + last_write_checksum: sha1:17bfa0be19448e280cae0d722a59faf493d17d83 + pristine_git_object: 72ed4121021f5b14ac5dde9ed67651dfcc84b70d docs/models/updateroutesbypackandidrequest.md: id: bbd1cddd9ef5 - last_write_checksum: sha1:ae1b7d3a43868fac682f7d9d4dd9036eff18c018 - pristine_git_object: 4cca7042f50bbe6a12503734bdbee89ed86f6117 + last_write_checksum: sha1:f6d9ebcf7c9fd7ccf06b10715cd2438147a74aaa + pristine_git_object: bde5ea36aa7539e748e14510382628a1c653b990 docs/models/updatesavedjobbyidrequest.md: id: 459da13d58ca last_write_checksum: sha1:53b00ff40c1527c25150cbf9e6588d0c9bc6488f @@ -16568,8 +16640,8 @@ trackedFiles: pristine_git_object: 1e54fbd159adfb1de787fc57f4a3b10f336757a9 docs/models/uploadpackresponse.md: id: 7875c106ad8e - last_write_checksum: sha1:e08ee2a05b3fd3a17ea80eaaedff0c20671cb8bf - pristine_git_object: 9b4e5d6123913956074d8a42b34b460f7c7b3ab0 + last_write_checksum: sha1:358a0e65daf5b4fe693b04c85648e2dcdb006ffe + pristine_git_object: 1e15dc99e9bd8fd1b082e616726a5c0a312ce100 docs/models/urlconfoutputcriblhttp.md: id: 6ded77fcaa61 last_write_checksum: sha1:267cd68ca1f345a027d023627ea6e1fc7e7b1c5d @@ -16616,8 +16688,8 @@ trackedFiles: pristine_git_object: 6720a6b57ad5b7c1a414f572e99714591f0e0823 docs/sdks/collectorssdk/README.md: id: fb156921e8e5 - last_write_checksum: sha1:9052a5bb393d152c525bac50ff69b08dbd734d4f - pristine_git_object: 6e2e288def2ccc26c4eee200e710ae8d50b62e5c + last_write_checksum: sha1:70321064b67b432cb51dcd3c446e930a7e5888d9 + pristine_git_object: 22d6c329cdfe4b3c534c3eeee6de332cbf15a44a docs/sdks/commits/README.md: id: ae81a8318c17 last_write_checksum: sha1:012bf8cb56013717cf60ada219ca33a910597227 @@ -16644,8 +16716,8 @@ trackedFiles: pristine_git_object: 69a99d84f59effd47cab2de0336d8030303cb720 docs/sdks/destinations/README.md: id: e83d288899aa - last_write_checksum: sha1:e3ce2a7f9f5dcbc96a986058a23b283782cfd172 - pristine_git_object: 8915e3c4522e0e3ba5675f8c82037a60f04ca163 + last_write_checksum: sha1:2c2c5aa248002a88f86538d57567eda06c1abf56 + pristine_git_object: 2e19dcc04b55309f7df443feece5c32366a0c93b docs/sdks/destinationspq/README.md: id: 4e89748a1821 last_write_checksum: sha1:098dd57120bb40cc31e4071df27079cfa43d582a @@ -16656,8 +16728,8 @@ trackedFiles: pristine_git_object: 95211d70cc250e2085f51d37de7bfe903dea7c56 docs/sdks/functions/README.md: id: 5c831af22db5 - last_write_checksum: sha1:2e53f5b64711dcd95d062b305eb521fc29ba461c - pristine_git_object: 68289b2caf027563bb3978e6b544d216ab12f616 + last_write_checksum: sha1:fc0964138f9a322f530efec1cfc26b25f9f7fb10 + pristine_git_object: bfa4e45da4c54e041093c2e712327c739f632961 docs/sdks/groupssdk/README.md: id: e1199079357d last_write_checksum: sha1:0bd7dcaec57894751275635a261e3d363814a1cf @@ -16676,12 +16748,12 @@ trackedFiles: pristine_git_object: d1f4de209cff366b864fb8b7b275e15da95d6fe3 docs/sdks/packs/README.md: id: aea0b099af37 - last_write_checksum: sha1:fdb0ce9ecf2ba209198ede8b0a8733864fc227c1 - pristine_git_object: 8e5348cc5b92d916762ea8fec00c6318061cfad0 + last_write_checksum: sha1:a5b65982cf6e5308967cdf5a14a321c00186f4af + pristine_git_object: 45d2c74d079c732de0f94cfec19418bc43041ac2 docs/sdks/packsdestinations/README.md: id: 895ef2236167 - last_write_checksum: sha1:a1ccd51f17c975a05e5e7af6edd67797fe4b64be - pristine_git_object: 453f2098c06bb1ea4734e4d78174849199367679 + last_write_checksum: sha1:3f046ebc5203e3123ea5ad5b0c8244d3e0467e44 + pristine_git_object: 078609699f39d1a975a5108f99725305c6d730de docs/sdks/packsdestinationspq/README.md: id: 12a1d2d7f4c4 last_write_checksum: sha1:e669460ec24293f26b663dc8d46623eba5ebd093 @@ -16700,8 +16772,8 @@ trackedFiles: pristine_git_object: 3fd52268bdd082dd134adaaabd26465268042a5c docs/sdks/packsroutes/README.md: id: a1fb73e27b09 - last_write_checksum: sha1:94b2336f32e5a63da82b2705aa3408d409dc8d83 - pristine_git_object: aedbb50701f1b40ce9ae7f5af528663190a81c10 + last_write_checksum: sha1:3e8dbd04a6b1eb9d463d7b43705e4797481ac5a9 + pristine_git_object: 55eb17157d3494ff9961ee5155103a8ca249c1da docs/sdks/packssamples/README.md: id: d2c04868bca4 last_write_checksum: sha1:2eaf881f13e2885c2c4cf567e0042278ae6fd15a @@ -16724,8 +16796,8 @@ trackedFiles: pristine_git_object: 3d56a9d7523e0fbd2a6b08abff79e6b5ef523830 docs/sdks/routessdk/README.md: id: 7c151891b0a4 - last_write_checksum: sha1:0d9f57ebc560d8ce9ffe6d65310e5134e23e53f4 - pristine_git_object: 9c21db8512d15b8fc229403cae4a3ccebb518761 + last_write_checksum: sha1:26ef1f9f4a1b47b42e35b119f77a36220330bc51 + pristine_git_object: f40958c235f1b0797019bd392256b8ece0dac316 docs/sdks/samples/README.md: id: 2b3e67e9f9a5 last_write_checksum: sha1:dbc4ea95f9046c4c75fa4d7f98bed01361686f25 @@ -16780,8 +16852,8 @@ trackedFiles: pristine_git_object: 1b74b5fc91dcf2b9df16949b77bcec9b03c49e2b pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:a7490f2a767de9de447d271dc68b00baff9f394a - pristine_git_object: 9eba30a1893165b6c24601e5f51a1d8293c39f79 + last_write_checksum: sha1:0585ebf77b6964a511d6a8ae228a6beca4c6f098 + pristine_git_object: 5866cb370ea4b9c83d01cbf1b6882c263145068f scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:a2e0d08bb2b147a5bab939d676620d1686f3b024 @@ -16812,8 +16884,8 @@ trackedFiles: pristine_git_object: b4fad0525f29a586b91348c6d7c51c642d1e9790 src/cribl_control_plane/_version.py: id: 9c8e5f14504b - last_write_checksum: sha1:56ed7ae2a4d45512447ea90d857042249e3350dc - pristine_git_object: a1517010d9a4902c95da558bb4a4867836705a47 + last_write_checksum: sha1:facd58de75425bec88ad128273c2350300bbb214 + pristine_git_object: e7e7776025dd19210fb84c50c587215eb2bcf01a src/cribl_control_plane/acl.py: id: 0e865a719763 last_write_checksum: sha1:32ce0dabdc656d2e351b04a9462cf5e832cc8a58 @@ -16836,8 +16908,8 @@ trackedFiles: pristine_git_object: 48146d49db8842eb2cb7636589983345057b6a0a src/cribl_control_plane/collectors_sdk.py: id: f84df60bc0f1 - last_write_checksum: sha1:b4e932238a71c6bcf0108271ae6afc5bbfb8b67d - pristine_git_object: 6012d236cf0cf4e959ac4f8d1b40f03731cc7a3d + last_write_checksum: sha1:2496acffd04a2e4dbd191dfd745e18b1b1e77813 + pristine_git_object: 85156acb9ea31dec9e6fe646e28f21131a870f9a src/cribl_control_plane/commits.py: id: 77b962b3c68c last_write_checksum: sha1:53f31dcd15878bfcfc798b84c4ca41ee5740a5d0 @@ -16856,16 +16928,16 @@ trackedFiles: pristine_git_object: 2faa5084cc0a8bbcc1b9d1e8fc45ba2a7e9556a9 src/cribl_control_plane/databaseconnections.py: id: 96bb56ae9234 - last_write_checksum: sha1:863d503b1c7d2d3cf095dd4cb4cb709f81f09160 - pristine_git_object: 7f9bd9ce730f2ea9a6c22ae319f20d38d63b2c49 + last_write_checksum: sha1:e4b0bffd294ef9e5b850cdf6ee7032ee9683d2aa + pristine_git_object: 8796022f2f3ca118f2fd37f6dd89ef8de996a935 src/cribl_control_plane/datasets.py: id: ed509c41c7d5 last_write_checksum: sha1:30286de7a86004e44c80ce689b551463b07f786c pristine_git_object: d696d7021fa8187c05c34eda47b1d2b9fdcf41d0 src/cribl_control_plane/destinations.py: id: 36ffc53f2f7d - last_write_checksum: sha1:874c08f2c0a6346f1a5d89ef7c9962fdd0fd0353 - pristine_git_object: 8b3ed6bd56f821a75ae30cf00d1609366589f363 + last_write_checksum: sha1:d331b407d23af88f50a42964edd560ad8d7215c9 + pristine_git_object: 588fba607cb1624d7f99285d6d2dc25e3c6b5256 src/cribl_control_plane/destinations_pq.py: id: 30ac4b7a9e97 last_write_checksum: sha1:55dc5561397bb8cdf09e0a6ae1c5bc04c4d71c46 @@ -16892,8 +16964,8 @@ trackedFiles: pristine_git_object: 0b4a4346d51acc4f9a9ecc421f991f362ad5e433 src/cribl_control_plane/errors/healthserverstatus_error.py: id: 10d8810cf565 - last_write_checksum: sha1:3ac17a83a4f533b33e0afce6b66a319f4ca764a2 - pristine_git_object: d5a2fa487a6b64f3bc268ffedefcd58a08a39cba + last_write_checksum: sha1:be5bb89e2ad76997ba3c5511477599933190c35c + pristine_git_object: fbd684313b26390a8cd2eacf822f91b5f46eb808 src/cribl_control_plane/errors/no_response_error.py: id: 751c1eda7c77 last_write_checksum: sha1:7f326424a7d5ae1bcd5c89a0d6b3dbda9138942f @@ -16908,8 +16980,8 @@ trackedFiles: pristine_git_object: b7368b51e53e8f73b5d9466a671cb37fc693db92 src/cribl_control_plane/functions.py: id: 48f6a1397f02 - last_write_checksum: sha1:3c1555689a1b9e49b26f2a39ea1e39113d704af9 - pristine_git_object: bc72f31a5156cf25e3c28470c5e8b09ab2b4d23f + last_write_checksum: sha1:5b4200b8a30527f002275df62b0909065d06e444 + pristine_git_object: f0ef17fe62922cd01467cc678e00e9d0b34592f0 src/cribl_control_plane/groups_configs.py: id: 5e1a710f5459 last_write_checksum: sha1:42bf74770fe3045659b77bb258867b6c735e2c1c @@ -16936,8 +17008,8 @@ trackedFiles: pristine_git_object: 63af9cb836903c89e3db0d04bb4f44141014de8b src/cribl_control_plane/models/__init__.py: id: 558fbe1bf6ca - last_write_checksum: sha1:3ca922c3003f1a37e98b7dbc7924b42f12bf7713 - pristine_git_object: 6ae2b8f07ec5c60dcaf18e2608a6e8aab5ae3840 + last_write_checksum: sha1:775758f0d6e12e5c17be11a0504531e38f865478 + pristine_git_object: b24a057d45186627cdd001f4ae51ec84e3b8d8d2 src/cribl_control_plane/models/acknowledgmentsoptions.py: id: 2537877f09eb last_write_checksum: sha1:610fd67330eee25b0afc942d175a52130576ed7d @@ -16946,6 +17018,10 @@ trackedFiles: id: 1055c1f5e1e7 last_write_checksum: sha1:3e03754a489114108b644b59b3bb1f6dd6cd55da pristine_git_object: 621505f4ce6b63db39b279f90c3dc98c9bf61d32 + src/cribl_control_plane/models/activehealthoverlaystatus.py: + id: ec79522f7a7d + last_write_checksum: sha1:1cbe6c818016c0004d14aeb8377adcf4c971e3d5 + pristine_git_object: c1a062f8ac413348eaceccadc40159ee7453b15d src/cribl_control_plane/models/addconffunctionconfschemaaggregation.py: id: a3703f348f8d last_write_checksum: sha1:1c62ef449e761aaacff50b68ce6f000951556175 @@ -17280,8 +17356,8 @@ trackedFiles: pristine_git_object: 1a0cc4a77190e29fdccfa4d75d9a5c060f8e26fc src/cribl_control_plane/models/connectionconfinputcollection.py: id: fa06226ea010 - last_write_checksum: sha1:136b754e6fd469b34284dd081cd73aae12e1d03a - pristine_git_object: 3eee27f2b63e64e09e38ce1659b6a0badc24e373 + last_write_checksum: sha1:802291e0cd71426f8bb28d4d029312cb1cab9a15 + pristine_git_object: f0e1935f0bd3e02572d3396d661e11198de7b58e src/cribl_control_plane/models/connectionprotocol.py: id: 0966aa8a3bbb last_write_checksum: sha1:a7672e3884b1d31cbae399021fdd7acd76eddca2 @@ -17448,52 +17524,52 @@ trackedFiles: pristine_git_object: 7dfe7cee25e0723decf70192966daa935a210420 src/cribl_control_plane/models/createinput_logged_in_users.py: id: 470e1a13290e - last_write_checksum: sha1:ac14baa82b75857288717394e68e03fe070d1373 - pristine_git_object: f4e66a6131d62a0db0b80e18315a0c49453ff5d9 + last_write_checksum: sha1:f18ed698930e2234a630e58f395a3b8ce54da100 + pristine_git_object: f3321034dfce8a24af4552dbd3fdfc15ac2c17f1 src/cribl_control_plane/models/createinput_request.py: id: c2056b755125 - last_write_checksum: sha1:dceeb619eb4327f3720182d0304914622a88379a - pristine_git_object: d4a1a7e0af0382f57d409becc8c146c5156d5877 + last_write_checksum: sha1:181923c89689aefdbba33fd88b6b5f300d5a98db + pristine_git_object: a15bebc20679ff72a95265939b9b6aaff401f2c9 src/cribl_control_plane/models/createinputhectokenbyidop.py: id: d2a2fc31d146 last_write_checksum: sha1:3f7d4b12adf786a50235db93776c854ad3947fe9 pristine_git_object: eef650237597a777cbd36dd230a0832afbb67960 src/cribl_control_plane/models/createinputsystembypack_logged_in_users.py: id: d873cbeac6fc - last_write_checksum: sha1:ae07c1ec00e716a291c46e72834ec9bdbcefd695 - pristine_git_object: 2c4016d6846b2143f1c033be7912206b1b3167bf + last_write_checksum: sha1:a3e93fb4e5c7a72c05e78e6ac0688f07651d81e5 + pristine_git_object: b38f2f4fc3f86bc4027e37e058442747d0ca0c7a src/cribl_control_plane/models/createinputsystembypack_request.py: id: 9a05ed789849 - last_write_checksum: sha1:59de3ab9fae409836f3f7486c550b612d87122dc - pristine_git_object: f523fd1fb76a379f09e3c481a224061c326f616a + last_write_checksum: sha1:f0728ae576b68cde6d6646dfd8967c1466083f1b + pristine_git_object: c69c8a898544be35798d305b3f6ed4a8355fb7b8 src/cribl_control_plane/models/createinputsystemhectokenbypackandidop.py: id: 20d15344dcb5 last_write_checksum: sha1:b6cdc4ad942b4188b7fcbbbbfb85ed2a7692ed08 pristine_git_object: 517c38e4cd8df3e03f3464625bc2e1c750f6c7ed - src/cribl_control_plane/models/createoutput_outputwebhook_webhook_1.py: - id: 87f4b6d8c4d0 - last_write_checksum: sha1:a5355f32b182e2ef092321c90f0fd83829b7443c - pristine_git_object: 9faee8e23d324e79f38b32ab54a201d036fbab26 - src/cribl_control_plane/models/createoutput_pqcontrols_statsd.py: - id: 15c710544be0 - last_write_checksum: sha1:598f578a3ec6c08d2ac01ed9f91d68f12e0ebcae - pristine_git_object: 692c8006e6578c4d8c780674bf52d6997abf0b6c + src/cribl_control_plane/models/createoutput_outputwebhook_authentication_type_1.py: + id: c39c666db87e + last_write_checksum: sha1:2164e910edcfd2eeba3a179a320cece28fc8e354 + pristine_git_object: 0f245ede8c03629cf78f7058e41abfd864441363 + src/cribl_control_plane/models/createoutput_pqcontrols_statsdext.py: + id: 34590b3cd8fa + last_write_checksum: sha1:eccb9e304b70cba89b5d2ca766f39444dcf8c88b + pristine_git_object: f0e985a42d9be3e51f9dadca28e09750c203ce5d src/cribl_control_plane/models/createoutput_request.py: id: a8665c8bc75f - last_write_checksum: sha1:39db86b3966034cba0d539ac4a793d0e0967a574 - pristine_git_object: 93a12c60965c865b07e48b48c97072f877ed1a66 - src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_webhook_1.py: - id: 802cef2bdd6e - last_write_checksum: sha1:ffc9661efb0cbde5acececfb6fc45c488411fdac - pristine_git_object: 68ee12473320a48503e3c3cf748c4ca0f5603412 - src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_statsd.py: - id: a199f6b72807 - last_write_checksum: sha1:db3714e16a573f288a0da97ea353547ee921699e - pristine_git_object: c6aa6e1c4d75b26ffe86fcc0f9c77b173af9e674 + last_write_checksum: sha1:67aa024f0d55184492135870af3ca15ba19873e2 + pristine_git_object: ab54aacdf33a51fe295d5bb277afe9c7e9d8fabf + src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_authentication_type_1.py: + id: 79bf0ffa47f5 + last_write_checksum: sha1:4dd638a9ab4ced881fc55535f83ba053b26ebd56 + pristine_git_object: 796c348b2d1eb94c80b51c932e48b7c87f5e97a0 + src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_statsdext.py: + id: 72efb48463cb + last_write_checksum: sha1:7ac122b6c747e643403aff40398a4bd742177233 + pristine_git_object: 163828dc5abddb8cea8add9712cf4fbc8674eb93 src/cribl_control_plane/models/createoutputsystembypack_request.py: id: b47a50bc9cb8 - last_write_checksum: sha1:a1e4eee4bed5b578acc27a277c36bebb23a50d70 - pristine_git_object: d2807e0953a1202b40ca953981afb23577e6a3ae + last_write_checksum: sha1:9011d4fa8248a6edcaf341248dfd9dfb582fe484 + pristine_git_object: c33f9dc26266c3f4e3e172e01a6909ef5c2596ab src/cribl_control_plane/models/createoutputsystemtestbypackandidop.py: id: d061fc4b3fff last_write_checksum: sha1:5f591b9f2193252a9d83e9fe29734906f95b6c5b @@ -17620,8 +17696,8 @@ trackedFiles: pristine_git_object: 58b2b8156416dca13edea74de54a47d2d4bd240b src/cribl_control_plane/models/deletepacksbyidop.py: id: 9e1eb4f7cb75 - last_write_checksum: sha1:30a3688d6ebe95b24f09b3e377bd9afa0c5c033f - pristine_git_object: a1b71b03a71ab72b32886c578d39b17434e72b58 + last_write_checksum: sha1:4ca97914e5c460159449271a11c08f201e7d5eb0 + pristine_git_object: a0363a42b9d87cc7b6b98f184af0f72024135f3f src/cribl_control_plane/models/deletepipelinesbyidop.py: id: ffd0445ba01d last_write_checksum: sha1:7399f6fb23b1b299fca797f588b3e391e8cc7088 @@ -17648,8 +17724,8 @@ trackedFiles: pristine_git_object: 85580e06b41b2873db670966df086d770eaae242 src/cribl_control_plane/models/destinationtype.py: id: 3bac940576a3 - last_write_checksum: sha1:f627e49a53dcb95142fbb604f7032aa006b5d224 - pristine_git_object: 3ce77fdff39f3eb33946c023b40b3ab3969c9afc + last_write_checksum: sha1:512644062591559af2a3dd6df1a39c84d1027a9a + pristine_git_object: 857c52668895ee5a97a42968c08ab0adba27a4f2 src/cribl_control_plane/models/difffiles.py: id: 76d032a8c166 last_write_checksum: sha1:a263491a3384e2304a558da25fa31ae156dc0736 @@ -17688,8 +17764,8 @@ trackedFiles: pristine_git_object: a0c10d62291fea43a6d28b719e97c45d7ec79d70 src/cribl_control_plane/models/emptyobject.py: id: b277ddbe66aa - last_write_checksum: sha1:ae373515c8ca0bc530b13ec2a7e5ae90314cfb87 - pristine_git_object: 0337c99e66e75f8b21feca3f7911275200470c25 + last_write_checksum: sha1:5d0fca09d33177c84f25ed56c74bc9eb8a2a64b7 + pristine_git_object: af63bbd9707cd8c716818314c06e16214c2aa62d src/cribl_control_plane/models/estimatedingestrateoptionsconfiggroup.py: id: 28be15658d06 last_write_checksum: sha1:860f661e3c53cd76ff080af5be325c28b39b16f1 @@ -17736,36 +17812,36 @@ trackedFiles: pristine_git_object: d082b69680b8490de33c580318aa4d07038e0264 src/cribl_control_plane/models/functionaggregatemetrics.py: id: 3320766fdbfb - last_write_checksum: sha1:3ddc7f5eb5b0ed06edd24164e7af8e52dc4ab6d2 - pristine_git_object: a6f6243662635973d8862872d6c501d55f16c6de + last_write_checksum: sha1:3b1bbf51c6362c20c88b30727bd0e9d093a08580 + pristine_git_object: 0f58a0d6768f1497e0e3a12012bfc7e2769301e3 src/cribl_control_plane/models/functionaggregation.py: id: 44e58d01d470 - last_write_checksum: sha1:5c78520dc723b7b6bb192de18d778490bb2dcb00 - pristine_git_object: a3c8ac82709aa09b6333a97150b3ae9684757905 + last_write_checksum: sha1:6de307f5d84d4ae808a3a3c985b803597e4c7e3f + pristine_git_object: fb32a27fd4f0aeedfb35d3a3194de26173adf706 src/cribl_control_plane/models/functionautotimestamp.py: id: 6a22857b1bb1 - last_write_checksum: sha1:ed9072ce9ebd29337f32d9d97016a6d07eea034e - pristine_git_object: 1bbeea6f787dc79d0e098a4f386c8a68d18d7f3f + last_write_checksum: sha1:7f7cebd5909529cdacf11bf997ebd688bc08972e + pristine_git_object: 11e2152c6d6eeadddd6e076535c4d3026c445ade src/cribl_control_plane/models/functioncef.py: id: 6c6590e64d28 - last_write_checksum: sha1:df3688cc73c435b27418f45a7fca0f4a201221a3 - pristine_git_object: 01417dc5b268f988b1d6d40289c361fb786863b6 + last_write_checksum: sha1:db8d455c202b3446a5bd60f063eb3615118d00a7 + pristine_git_object: d45beda0179934bfe5228df446db9a2cafd56668 src/cribl_control_plane/models/functionchain.py: id: da128c415eb3 - last_write_checksum: sha1:218f33d75ae28c581e62458db9dd9ce62188da00 - pristine_git_object: f3613c47f6ef159e11298d9b82445b7eae2aebdc + last_write_checksum: sha1:18b1a07f5f187979527235ef3d6c476ad8946ff9 + pristine_git_object: a155f8460915694b908b21936667dad1860310ac src/cribl_control_plane/models/functionclone.py: id: a1c777277326 - last_write_checksum: sha1:3ac22cccf01f77a767708dc94d20a26d84a5d69e - pristine_git_object: 155dbd2a3159883b52cfb232d1335c073aa601d4 + last_write_checksum: sha1:bd4d30c3c32eb152ea5e82a8a6171ef9a395d923 + pristine_git_object: b80865a9c20cbad89108d7bd59f9ac829529b5b3 src/cribl_control_plane/models/functioncode.py: id: 1f5939adccab - last_write_checksum: sha1:d4388a346e3900c6dbb6733bbb467a4fbaaed074 - pristine_git_object: d42cb0437c2270e2c87cb427f68ca612d7202f93 + last_write_checksum: sha1:27f62714e5a346430ec8cf9f8bf45a684c8003dd + pristine_git_object: 6d73e7748587741cadcf4d144281b2e183782669 src/cribl_control_plane/models/functioncomment.py: id: f5f48b80cab2 - last_write_checksum: sha1:7f4b3a5a7ece340c685aa9931e761ef842de5710 - pristine_git_object: 384ca656d5f29e7722ed1a88f438ada631f50fce + last_write_checksum: sha1:fea1386aeddff86f9423848e372f19d358a640ad + pristine_git_object: 43d64c40f202c0e69098347e946970b88b0f3960 src/cribl_control_plane/models/functionconfschemaautotimestamp.py: id: 8ad7ad102e66 last_write_checksum: sha1:d6fa4824fb5677291f6890eaad031df0329534a4 @@ -17896,252 +17972,252 @@ trackedFiles: pristine_git_object: cd195a40e7544381f9216902717198ef511b01d0 src/cribl_control_plane/models/functiondistinct.py: id: 79b27ac69b5e - last_write_checksum: sha1:616e3bfbcc3b3b5519935e45b1204a1fb0000377 - pristine_git_object: 23a7f1a0abfc9cbefe2e0054e88703325192f73b + last_write_checksum: sha1:31f32960df13d169f7899dd7b54304bbae01761e + pristine_git_object: 286ddd5f0772694dacb6c2441473067307e96336 src/cribl_control_plane/models/functiondnslookup.py: id: dde2d23a689b - last_write_checksum: sha1:bee6271de11727483e6e11c9b8a3c4ad110f32f0 - pristine_git_object: 317fc1773db5e4572199ff9d45d2b2ad73eafd70 + last_write_checksum: sha1:c3d2fb1fe40acf04fcd51c8673ca881d49b3022a + pristine_git_object: 72c3b39044666721fac92bdff5288a114069847f src/cribl_control_plane/models/functiondrop.py: id: 13fe9c20378d - last_write_checksum: sha1:c19b47ce7966bb89e7050d4ad10406021251fb61 - pristine_git_object: bfa7e28b8b62aa747c6ba5144073e7b85af8291c + last_write_checksum: sha1:79c62aacfe4ef71af03d0b11d7462c7305235c06 + pristine_git_object: c03dd66f83cf8b0472cc913aeffab5eeead7aaa7 src/cribl_control_plane/models/functiondropdimensions.py: id: 5359418c07dd - last_write_checksum: sha1:3183296d08b74365bdd240e106c99ce39791c7c2 - pristine_git_object: 9d262272da63954e2e6e8ff7c67cadf4969945db + last_write_checksum: sha1:9ea916f3354c54da0c6f177fe67765f9195588ab + pristine_git_object: 0a655ddfe172eb053dc5a9573af29356144ea267 src/cribl_control_plane/models/functiondynamicsampling.py: id: 6f870b81f0c3 - last_write_checksum: sha1:fa7acf8dd91d6338e71359355bbbe0d447f8199b - pristine_git_object: f76e2159251b4f920730385ab68a4b6ac227d0bc + last_write_checksum: sha1:4e57ca57d9a6dd6436cf96c97504992d06f0eab2 + pristine_git_object: 5a32ceac6dea12c9b4b4ba00a1c15386b9078556 src/cribl_control_plane/models/functioneval.py: id: 752f068abaa3 - last_write_checksum: sha1:01bd7beb13b66ae41d92a9f94c612d26ddf339da - pristine_git_object: dcbf7b4080e80d72066a0d3282717094e04707f7 + last_write_checksum: sha1:754046fc488abfa29a0cbc2f20e39567f016b5c8 + pristine_git_object: d7f7c2c2d3346d5c58feb1c740c51b1446255451 src/cribl_control_plane/models/functioneventbreaker.py: id: 3a1b361bf2bf - last_write_checksum: sha1:d9f4a6dddfc3bafe121c3ccdd1f9f73aff9c7313 - pristine_git_object: b11015020bfdb14278a63cff80ba998bb87bfffb + last_write_checksum: sha1:a8f291b333bf92cbf769194413bf441e174b41a8 + pristine_git_object: ac4b6b714d1ccd70011b4967ffd6c18f39ebc85e src/cribl_control_plane/models/functioneventstats.py: id: 6d5058a7e9df - last_write_checksum: sha1:385f8a1a92d4a946d7853b2934924c4bf1cc95cb - pristine_git_object: 1c91c07d55e533a574c9733ae8e6cd5c04853cc6 + last_write_checksum: sha1:12a2f322ff0b82d1e7a4be38cb5925159d638bd2 + pristine_git_object: d42a7b8faf7528196d0d63b4e33e0777a95f68fb src/cribl_control_plane/models/functionexternaldata.py: id: db35f6f72733 - last_write_checksum: sha1:b1076a67ba5dbca3119f10aa185072ad98912f16 - pristine_git_object: 6eb247270f42f89f5c1b6e68fb815ef8cd5fe014 + last_write_checksum: sha1:040ae4f4b257dd39ea8fae32ab7c99f4dd4ba624 + pristine_git_object: 861a46a64c018a432bc3b06e06e697281e666033 src/cribl_control_plane/models/functionflatten.py: id: 90eb310f555f - last_write_checksum: sha1:c7cfa5d1e55538e9f49ca9a67120b599112c4142 - pristine_git_object: 1ee336386bb1a2ff6cea7dc9da82c94e0d78bfae + last_write_checksum: sha1:39c4e56762d4208220c5ee144730817917e8def6 + pristine_git_object: c922460fed13c9b78e9ba3f5c3d3df0e1c42eca1 src/cribl_control_plane/models/functionfoldkeys.py: id: d3ad6735a656 - last_write_checksum: sha1:ef22e1611413cfd3b461b1ba6efcd57688d00b32 - pristine_git_object: 3b87f4df7540f968b33c1a192132427f5278e120 + last_write_checksum: sha1:68b5b5957ff99f9963dd1edbd3bb7362bf56f1d4 + pristine_git_object: 5d660c3ff6efba1bda05841fdd33149305752231 src/cribl_control_plane/models/functiongenstats.py: id: f591069c4b87 - last_write_checksum: sha1:dd04c76536fe9163783c5607bd12b3d4ac1fdac9 - pristine_git_object: 8dbf80326a19ed15d2fcba8991dfc608dac6d3bd + last_write_checksum: sha1:44bf9074a36ad5eb56e3a646f93d8920a507cc56 + pristine_git_object: 7d6d16fde807b888d58002105af26a1b81295c0e src/cribl_control_plane/models/functiongeoip.py: id: 7a466f3419fe - last_write_checksum: sha1:f11778fe152c7a85c2a1f981c9ab6c98a774ce8a - pristine_git_object: b7642f5c5abb7794a4a9dd6dc73bfe8f2a5885f2 + last_write_checksum: sha1:9460dea38d3b0878eae16c0f836021170d8dafd8 + pristine_git_object: eea1be5c45ebbec86bfca82c3ca9ffd7baebf183 src/cribl_control_plane/models/functiongrok.py: id: cb4541b900d1 - last_write_checksum: sha1:5a180c630c13e5bdb40cd7b1ec5148360938a7a6 - pristine_git_object: c1053b10de0991a0328538d218a0ccdb2001d72d + last_write_checksum: sha1:5282fb198bba741c7370f8073c53ffa6ff21e2cc + pristine_git_object: c320107fe973d0d134697fe8d3b7c17cd98f8489 src/cribl_control_plane/models/functionhandlebars.py: id: a8b8e27cc93e - last_write_checksum: sha1:6620dfb7071b0c6b444805af8154f14fc7137b79 - pristine_git_object: ebfe6888ea2d27c27b062fc2ab740b4d9eaa1bb3 + last_write_checksum: sha1:1051351a6f4c2a36ac607455b33fdf4ccb25f06c + pristine_git_object: 0f5cec41fc57c4f62b927a205b2d642122e35baf src/cribl_control_plane/models/functionjoin.py: id: 35258799bb56 - last_write_checksum: sha1:396e0c215ce2026614fc9a196c0de9b2576e7d40 - pristine_git_object: a96621b02f8e7b11bd1505e51d769d6bfea390ed + last_write_checksum: sha1:e666b9c34e5449e46ae45a36d5ca33ee480060f0 + pristine_git_object: e3294047fa3ed32d766d6dfba9946acf1c6b6698 src/cribl_control_plane/models/functionjsonunroll.py: id: 2d9f21e25687 - last_write_checksum: sha1:9fb12e951c19d71f8b203990e064b818ba09fd9f - pristine_git_object: 5da92e14f7e46db5ae1d993d3f9a0d5cf656826c + last_write_checksum: sha1:6d2066c3480bc0849307905e4d3d377e03854095 + pristine_git_object: a2c65157ae71de757f8fcbbf9856afb799581ef8 src/cribl_control_plane/models/functionlakeexport.py: id: 71ebf6961423 - last_write_checksum: sha1:0b0fbbd65a3beb6ab3f80b1dcd7c6f592e98fe39 - pristine_git_object: c4a5c73cb4c12c4e02b25a445eecef0ed59e9fb7 + last_write_checksum: sha1:57e57d9bd8685f01ccfd88c44cfd62850853ec54 + pristine_git_object: 8e38913f740df1089625bf8b9ca3e04da7c819e5 src/cribl_control_plane/models/functionlimit.py: id: 4e4ce65b44b3 - last_write_checksum: sha1:8979ec016ef736737648f5214024cc5fd55100b0 - pristine_git_object: 5916d18aabbc28aeb6936619d3f80eb23d500393 + last_write_checksum: sha1:d1a3c540d14263030329201666729d783aee077a + pristine_git_object: f4f245ee04ee9242170f1c2c56c3c1232f881348 src/cribl_control_plane/models/functionlocalsearchdatatypeparser.py: id: 88791b88d98b - last_write_checksum: sha1:55ecd9421682ebaedcda2e62c0452f1fec552292 - pristine_git_object: bf665356aea4138895a886efeb24fe119c844f09 + last_write_checksum: sha1:2ff239e219015f084ba449cdd71406789bb777d7 + pristine_git_object: 6001a87326c737095fc2adf28d28527c42eb5ec9 src/cribl_control_plane/models/functionlocalsearchrulesetrunner.py: id: f789fc9677e9 - last_write_checksum: sha1:5b52c628a51407052799523c9215148c711dbe05 - pristine_git_object: 9dc275f6d3d277f1ae01c3f7193a50e14e9e7703 + last_write_checksum: sha1:d6cfb90eaa1fc7a01d00a48a2841996755a001c5 + pristine_git_object: e004d92003c46dedd9745b7fd92200ac845913a4 src/cribl_control_plane/models/functionlocalsearchschemamapper.py: id: 8c97cc32f9ec - last_write_checksum: sha1:85d690a95cb01f36ed98da755a278595d46a4291 - pristine_git_object: 90083ceca51f6eeab180479f89502901a1f08985 + last_write_checksum: sha1:4adf279a96a0371cba404f1590961ac93680de85 + pristine_git_object: b1fc26acd3407e15a3a0991eacd908496d87754f src/cribl_control_plane/models/functionlocalsearchtimerangenormalizer.py: id: 8fc0a7b31ae6 - last_write_checksum: sha1:4d424c727effc2b47f935436d487727a5eb530d6 - pristine_git_object: ab8635257be84f5d2612d4ac713a62239c01d34a + last_write_checksum: sha1:335cd3b470eee28052dd4e6c84d85fd93246aafc + pristine_git_object: 563a181bcd8ccdb8b40d46f2a038d665f8fef89a src/cribl_control_plane/models/functionlocalsearchtransformer.py: id: 7ec2317ebae1 - last_write_checksum: sha1:51fe982c44042ef2d7fe3d847d2d41e56812eff9 - pristine_git_object: 149789e8b5cf8d36128ced5b4d0533d23dab1640 + last_write_checksum: sha1:9f38204cbbd06eaa4f514121e8603ecd1e6eb7e8 + pristine_git_object: 9461226da305dfac75de082dd1f8a4b241cbe853 src/cribl_control_plane/models/functionlookup.py: id: 5c8125be9cdf - last_write_checksum: sha1:4097805dcc1c23119cce223473b65dc806463dcc - pristine_git_object: 674cdcdcbfbeb4dded647edd606a5a60ddd8ecc4 + last_write_checksum: sha1:9ce51f3168c1c567954b7d9f3b7470f6787b7448 + pristine_git_object: 892b8d34c9a27187d6d2a627970855cafe37ffc9 src/cribl_control_plane/models/functionmask.py: id: 24f825bc9825 - last_write_checksum: sha1:82bc04f3f2128db2d383878464353a6a0ed9beb4 - pristine_git_object: 7fb1c9436149cdcdd5a8282d9691406350137fec + last_write_checksum: sha1:1238a417061ef42dcd7034aca9c13e657700df75 + pristine_git_object: 8dddbb2ee9d7ce0617498ecb22df921204feea6e src/cribl_control_plane/models/functionmvexpand.py: id: 72db04037a20 - last_write_checksum: sha1:2a0a5636a6dd6efbed14ba7abc8d05a21aa65c1c - pristine_git_object: db9e4095b17884a9118c6989e33bb0b0f4abe987 + last_write_checksum: sha1:0f60835271100a1b43a1acad827504d61dec152d + pristine_git_object: a02439c1ab8fd8f54f956a0c34832a3228a52add src/cribl_control_plane/models/functionmvpull.py: id: 529be88df55b - last_write_checksum: sha1:5440b80a3153c0aeadf114e6f902ffa4d51d12bc - pristine_git_object: ba23e696055ea141155a2a23abcb594c92ec80dd + last_write_checksum: sha1:45dce522880472b9f22526d6fa4e1e42116ee233 + pristine_git_object: 0f1d40cbe09d054bb656d51133414299e0d6b464 src/cribl_control_plane/models/functionnotificationpolicies.py: id: bffba6834a2e - last_write_checksum: sha1:0112587347c1e6525ad799cc37a037f3752b7e09 - pristine_git_object: 12e2d2299905ab25a7d945bd954331a0c2bce712 + last_write_checksum: sha1:981073ca94ac00c421b7c8231f61603ecfd97ac8 + pristine_git_object: d3ebe35ca24d0610c1f1543ca4558173eb93764e src/cribl_control_plane/models/functionnotifications.py: id: c510d6696ad5 - last_write_checksum: sha1:8723d07b1190888b851bb38aaa2918e88847ab95 - pristine_git_object: 7bb5172822fff808b09e64f8da8914965968fff2 + last_write_checksum: sha1:153123ed1b777e5621258604e0711c467ccd9969 + pristine_git_object: 77a871d4eb928d37e223ba40e854fc1b6d6b8590 src/cribl_control_plane/models/functionnotify.py: id: 8650d57b2a23 - last_write_checksum: sha1:504a612c4da0a86296b6b5559cf06fa3789f9b90 - pristine_git_object: 2ec7f15512890c3f5897272d082fd7e4841f9b8c + last_write_checksum: sha1:2c13e6ff1e359e9d78e672c26159efedc5ebc510 + pristine_git_object: 70cf5f3a48afba944d8a781678c95c6721afc910 src/cribl_control_plane/models/functionnumerify.py: id: 1d32e20b54ce - last_write_checksum: sha1:25c44c083867f0d5ebf6e760ff001c3772bfc784 - pristine_git_object: bcb07b53e7d6e9fcd6dae9225ff3a1807662ad34 + last_write_checksum: sha1:21843e8b7b6230d93efa3fa18dac19b67a51f600 + pristine_git_object: 9fcc8adcbd7183234516aa3ac79da4c963fe456f src/cribl_control_plane/models/functionotlplogs.py: id: d7fe45c7af94 - last_write_checksum: sha1:64e70a6f7210053496984b15241e3a5828b2cd59 - pristine_git_object: 6008faef8176c9a6f98f0d12fbc19f97e25e7844 + last_write_checksum: sha1:e9abcf9e158295ca33be8a9d7a3107cbad931917 + pristine_git_object: 127df6395912541f2934158617d96c00e664d178 src/cribl_control_plane/models/functionotlpmetrics.py: id: 21856c5d1769 - last_write_checksum: sha1:6ec08f7bad0e5395b665217e25bc80ebcc926faf - pristine_git_object: 4e8786122bd1113f17560a088c7830b8dcd0ff48 + last_write_checksum: sha1:28239063f39842153b75a007555dcd860ff05681 + pristine_git_object: c0f40f72bb45a13550ddac895ec877413bb00194 src/cribl_control_plane/models/functionotlptraces.py: id: 9b0b8ade1045 - last_write_checksum: sha1:f068f5ab4faee166811e32e351e0037ad5b48dc3 - pristine_git_object: 529bb6ca2e45c387de1a976a420e7aa62c2cabe7 + last_write_checksum: sha1:7ab79162c69093d69a47103d17c5a0173a328758 + pristine_git_object: ea6bbaefe8572a68f67d29a9531db63fd3211d9b src/cribl_control_plane/models/functionpack.py: id: befe7a713c43 - last_write_checksum: sha1:b3a32d019deccb9fec68ea31a77dddde73abe171 - pristine_git_object: 84c78b157dc4b264509c85332f2e143537296b77 + last_write_checksum: sha1:9818315fce5a0f733e09c64c2f54e5c222aa1303 + pristine_git_object: dfdfa601c28b7be5bfeede3b309c4c09aacec571 src/cribl_control_plane/models/functionpivot.py: id: 7d320ceed501 - last_write_checksum: sha1:ffe24afe4ac848ce11bd10bb95044f9c9b08867f - pristine_git_object: e7515522c493d6e4852406bb7add98daeb74cc26 + last_write_checksum: sha1:ef4693b82c94347deac831db2fe994f0fa209331 + pristine_git_object: 752e042f9fd917b9717c6e921c29347b748ab527 src/cribl_control_plane/models/functionpublishmetrics.py: id: edd63de36ca6 - last_write_checksum: sha1:06a41611be44f868ebf4ff1354c99fd485417127 - pristine_git_object: 8dbd915bc4713b2e5369ab2bd1db1e39b72557bf + last_write_checksum: sha1:55af72ae51add8cee2876d316dff3603ce5b033f + pristine_git_object: 42957feb94ff4b62d37315bde8b24289720e43ad src/cribl_control_plane/models/functionredis.py: id: da8d6a96f877 - last_write_checksum: sha1:423e872b6ac6ed07d9373c987d4b04f7247972c4 - pristine_git_object: b7968077dd0aa02b4c77a79fbd7c38cc8a4d27c0 + last_write_checksum: sha1:e361d195edb93ca7cc86522822f777bfea270a54 + pristine_git_object: 17c193cf3fda8f267027e86a3376e1bbee11f4da src/cribl_control_plane/models/functionregexextract.py: id: 5c5852313199 - last_write_checksum: sha1:074ab49bc53484e10488663876b8d7ce41190fae - pristine_git_object: c048eef96b0edd50f21c978566ad43b8114eaba0 + last_write_checksum: sha1:5ec0cc8eb598c70569e6d1ad5853319ce2ffe977 + pristine_git_object: c6ab22ef4156df4f02d11c6cc85564097a4a1840 src/cribl_control_plane/models/functionregexfilter.py: id: 8de91e36ddfa - last_write_checksum: sha1:cf4a7e9f703d72385b0be82a7fe1a4d01b2d3841 - pristine_git_object: 19ff75b6ba02b568360a1a01d79c07df4240a37f + last_write_checksum: sha1:9aa0d231061261b062cc42495e23171999c305fd + pristine_git_object: 74b2b73cd755cb6b5e45ba00cebaf94e9284af9b src/cribl_control_plane/models/functionrename.py: id: ae391848e7fe - last_write_checksum: sha1:1d3f8aced65d40f685bb508c18f456595234d4e6 - pristine_git_object: 9f233ff7200f4a07592ce30b661c120f6bfd1059 + last_write_checksum: sha1:2bcd5a469c011df13072e31230645e1d956ba0cd + pristine_git_object: c0247717d995bc3ba5db305c25f81a8a3eff34d3 src/cribl_control_plane/models/functionresponse.py: id: dc3a23fe3539 last_write_checksum: sha1:64b2b64b07d2881c3b3ecb39d7fc87f8e2665220 pristine_git_object: 89a6e6db5e171b7cc507d7eadca1e9b379a8df98 src/cribl_control_plane/models/functionrollupmetrics.py: id: b049bbc2bbc7 - last_write_checksum: sha1:c72de7fc3801d6d67351447b671d42b33dbcafbf - pristine_git_object: a67da60220bc13292435b3cf706d6b4e0f883ff2 + last_write_checksum: sha1:af0e6215cda1001f0e1300eae613d0890ffffe37 + pristine_git_object: 1236a304f2a7b3352a802c06c23965a7644c21b0 src/cribl_control_plane/models/functionsampling.py: id: 0bb8b393e3d8 - last_write_checksum: sha1:32d2029d22dc67e89bfbf39161313535ff90849b - pristine_git_object: 9aa9d3c01077f36c254b06432115976c5424827b + last_write_checksum: sha1:360d4bd440d3b02795149e85b5b23b1fb7e7f2ef + pristine_git_object: 1da52e519effdf48b68e59e02ef38806b5d86f90 src/cribl_control_plane/models/functionsearchengineexport.py: id: f6d2dc094053 - last_write_checksum: sha1:a540f42180cf585aaa403d3d54161ef0ed9e4d60 - pristine_git_object: b4211386ec9e73bfaa04f14ce8b1b58ec82b2445 + last_write_checksum: sha1:7689b66199bcf91130873017a2c0be24b662013f + pristine_git_object: 4cb90f86b87a0a27c9a2f2db8aa181f3ee277a9e src/cribl_control_plane/models/functionsend.py: id: e6d7c82ac14f - last_write_checksum: sha1:eccb8d44fb256f3d688f6dc18708bc5616a10acd - pristine_git_object: b59bc8adaf75615f40c8b50427dc099341385e44 + last_write_checksum: sha1:2f1a6f48d49f92ec4f23f69be528d3d981fc5b35 + pristine_git_object: cd44cef53c7da47c24a000bd4e0f74c34bceb14a src/cribl_control_plane/models/functionsensitivedatascanner.py: id: 2a4a38304679 - last_write_checksum: sha1:6aba010cbad52b29aff170df01bbafea01864ad6 - pristine_git_object: 3092bc824a655af3e00dbf1bcb195657aaa37a60 + last_write_checksum: sha1:74bdc4544dd3e1574ea37dc0fa9f3cab1dee3316 + pristine_git_object: a7c7ebe802ee8a959dee56f8ca7022a52c5c5be4 src/cribl_control_plane/models/functionserde.py: id: 6a1cf12c7cb2 - last_write_checksum: sha1:7d8235895f3cfa1cc3a015e265c1fef3b33c2075 - pristine_git_object: fbac6bdd8eb91a9126e4c85bbd257834dd00a22f + last_write_checksum: sha1:472b87389b1947df79e4c1d43caf02eed850c658 + pristine_git_object: fbf68c86958cbdcd60857835480de0d77980bf1d src/cribl_control_plane/models/functionserialize.py: id: e86d2b2ebfb1 - last_write_checksum: sha1:921b67b8fb24cc05d908716f7d051b1b95daa5ce - pristine_git_object: 1fb02bcc98b238bd6624e0fc06d4df99c6948094 + last_write_checksum: sha1:8d0d2ca64cd43060fe22fa1741be6aa3af39eb8a + pristine_git_object: 614484d14f9bec9abf67f16a18c8a4105cbf809c src/cribl_control_plane/models/functionsidlookup.py: id: bd0c5445b2d9 - last_write_checksum: sha1:48054efa4de787445b7350c646ed3ee300d625d8 - pristine_git_object: 434f8f5fd2eca26e37d45329136a03ee27f4dea2 + last_write_checksum: sha1:9c7ec986adb855bb6b0fab394bf81b7823e1d1f2 + pristine_git_object: 51e24645c9066966e0d5d2f056d211ddcd26143c src/cribl_control_plane/models/functionsignalfilter.py: id: e16149bfac26 - last_write_checksum: sha1:8648a6d692fc0ab16eac7d0342dc12c680a4f8d0 - pristine_git_object: 5b615c8cad8f8200688300d695f02dddae2c93bb + last_write_checksum: sha1:7eb149c51fa65722c081cc81d759a035c6763cd8 + pristine_git_object: a1a96c3c09adaab0df055fd4d4fde39a3d57a5fb src/cribl_control_plane/models/functionsnmptrapserialize.py: id: b92ada35b30f - last_write_checksum: sha1:3b161fd140fd09e9d63e34e0c62dc5f1dc22d089 - pristine_git_object: a47469c682a489927b0bd2f8677307c1afd719dc + last_write_checksum: sha1:f22e2d2b9664bff2e14628f0a720ea1571a8b633 + pristine_git_object: 1cd592ef2569f9267ac1a63750ff0fd1c920bcc9 src/cribl_control_plane/models/functionsort.py: id: ef12ae3dbe8e - last_write_checksum: sha1:c53b57ad85209293868ecffd65bfa927f6afb8e8 - pristine_git_object: 31e2dadf50d37b579a2e9d7c5f634c3d90db17f1 + last_write_checksum: sha1:2d12ed8214cd99afa5515196b2a24e5618ec2330 + pristine_git_object: f9ef72911e84dbb41650a951d1bb019290bd59ac src/cribl_control_plane/models/functionstore.py: id: 9e86e202ed54 - last_write_checksum: sha1:14afd46ec792f2cf63d533cf9a8490c88b0c80f7 - pristine_git_object: 3179f45121b8987395abd36040bfb895b7a467b1 + last_write_checksum: sha1:b9eb13df2f08b2a68c198056bae6ee3fc9ff7b5c + pristine_git_object: c5064e5dff09609cf3737604a51f0235ae2d8850 src/cribl_control_plane/models/functionsuppress.py: id: 8fb3e6739b36 - last_write_checksum: sha1:fee3c0749246deb9e74e67b9eb868b43589361ec - pristine_git_object: 3b440bd6c6bf185ee3d4798e813ddbb5008764ed + last_write_checksum: sha1:f8f238cc7d909f3260f8a60a357e1b6f7716a29b + pristine_git_object: c9e1dc946a31b438f326f8c1d36b8a16bfa6086a src/cribl_control_plane/models/functiontee.py: id: 0398aa59ad9f - last_write_checksum: sha1:57b448f74b7d3db63ec92a3efae2ec90f4f05e63 - pristine_git_object: 6fdd8b24cb57990accdc9b21e1503407ed9405ee + last_write_checksum: sha1:b43fc8757c99d748c7b9082f82d9037b047884ef + pristine_git_object: 57d0433a6925fb65686a7094a8217c4c4717ad9a src/cribl_control_plane/models/functiontrimtimestamp.py: id: f18258e66543 - last_write_checksum: sha1:1680c72f5ccbb40d546afdb17a51483c79f107c8 - pristine_git_object: 37125291416136e41454e545089edf90fdaa4c3e + last_write_checksum: sha1:cfe4ee278526d60f9186d0b4b3a7498385ced80a + pristine_git_object: d6c313759f563d4d4605322849b368285651fbb8 src/cribl_control_plane/models/functionunion.py: id: 45675a2b7a5d - last_write_checksum: sha1:52213717fc389bfc5a20bcbedce9a1b30db1af5a - pristine_git_object: 09ff6f9f4a087b7f8c9910eba8ebe3fe8a1bf1af + last_write_checksum: sha1:ff1f254dbeee35bc86555a65139673346c920fdb + pristine_git_object: 567b8feb169418136c6c66d15654f0b54772ceb0 src/cribl_control_plane/models/functionunroll.py: id: 0c64d75c1efe - last_write_checksum: sha1:39b58e4a23d33a546b5d49f7ecf5619420ecadeb - pristine_git_object: 550e4f6ee32cf68d6608437c1955ccfb3877ef15 + last_write_checksum: sha1:a2504ad3a2e869237488e12b43177108f988cc14 + pristine_git_object: b7393f3817fdfbc9f3b515356bf87a516898d112 src/cribl_control_plane/models/functionwindow.py: id: 8d991ab951f2 - last_write_checksum: sha1:b6522fdc1d303d2b8c432f20b184c4c35c0b4f8d - pristine_git_object: d475f52e6e78f8c962ee87cda04d3670e4a4ac7e + last_write_checksum: sha1:467908152addf6c4963a8174a057d1cc0a3ddf3d + pristine_git_object: 5604e7fe9b3ac63e26b013fe0af9df9d88cc7a1f src/cribl_control_plane/models/functionxmlunroll.py: id: b298772a47b7 - last_write_checksum: sha1:a75a64acc33cc853b8cff7e81c8a3adcd50d37ed - pristine_git_object: 861b201a1108ff9fcfe24685b1ac2bae0be5145b + last_write_checksum: sha1:cb6493dd86b76a511b8590f02e5b74fb52465cb2 + pristine_git_object: 091a5d547fe435788a1fc899c55e5431a9aa94a9 src/cribl_control_plane/models/getconfiggroupaclbyproductandidop.py: id: 094182bde03a last_write_checksum: sha1:eff83f8aeb8fb9b792bf6c58e47cf896f3bc2b8a @@ -18178,6 +18254,10 @@ trackedFiles: id: bc51786995a6 last_write_checksum: sha1:ec77c173500e97ba7114d898fb2fd69f523fad3f pristine_git_object: 9a28cf3034e3a52255b49bcbcfc6d218c8313c51 + src/cribl_control_plane/models/getfunctionsop.py: + id: 4c6aad94d6f7 + last_write_checksum: sha1:ccc6f357fe847c0962434aa6bf38870c69331443 + pristine_git_object: dfd5d6a2429f23ef78e3f09eee3ce0632efbf5c9 src/cribl_control_plane/models/getinputbyidop.py: id: f044b9ef810a last_write_checksum: sha1:a8642beffb6a825ad24068ef535eb89c64004932 @@ -18260,12 +18340,12 @@ trackedFiles: pristine_git_object: d62207534701570fafcfcca3b56794fbbef6e5f6 src/cribl_control_plane/models/getpacksbyidop.py: id: 2d9c63083c7a - last_write_checksum: sha1:6ac28af64c558e7db41ca84ee59e83788e027778 - pristine_git_object: f52e47d7cdc3ad8715c1bbb077534f961dd4d6d2 + last_write_checksum: sha1:6ee4f68ec092c97efbc39b74b73019e32009e461 + pristine_git_object: b00443d4cd77c82461f393255732400d8233b8af src/cribl_control_plane/models/getpacksop.py: id: 8c3de44081da - last_write_checksum: sha1:d421c110c33f14ee4d5af9431b65b186922e5188 - pristine_git_object: 54ac22588fde4a665083853f64b6a6a6602c7d98 + last_write_checksum: sha1:41592e5b7f575077228b446286c93fccef61474b + pristine_git_object: 54eab318aef3fd6a7d18dbcb84dbeb4f97a36692 src/cribl_control_plane/models/getpipelinesbyidop.py: id: 1f425f39c604 last_write_checksum: sha1:ba19e1d962844d6a2ff7f6eb78e6273462ef7e17 @@ -18312,8 +18392,8 @@ trackedFiles: pristine_git_object: 7eec4197fdb9d22407f585f708953fbf6bcc828a src/cribl_control_plane/models/getsavedjobop.py: id: f0dd5e40b232 - last_write_checksum: sha1:863f580a8f1fef48ae7f9db239ab448e64d55756 - pristine_git_object: 52fd8f3166aa8192eeab0bd68288271fc4f74310 + last_write_checksum: sha1:682ef7b67cdc7b092cffa1d02160042c1b690ae0 + pristine_git_object: e63dd817b294c637798191c18fe072c40dc48b77 src/cribl_control_plane/models/getversioncountop.py: id: f403544af82f last_write_checksum: sha1:93cfbfe402d8d872a48e22d9ab67863d31f404eb @@ -18426,10 +18506,14 @@ trackedFiles: id: e05460975fbb last_write_checksum: sha1:866af2fcb4e23ca51a5a2aa87b1847c2a5c40a2f pristine_git_object: 23ed7c5bbdb02aa0453f5a1cabd0174bf9ce87c7 + src/cribl_control_plane/models/healthoverlaystatus.py: + id: 6e8f6742c511 + last_write_checksum: sha1:d57b995971c9de2052378122f7c626d2f643c244 + pristine_git_object: fc6af43626c7f0edd1228e94074943071b75f35b src/cribl_control_plane/models/healthserverstatus.py: id: 5330d50b7445 - last_write_checksum: sha1:75f2f582b3e15adf6278e08a1a810acd7b1bed01 - pristine_git_object: 4ddf3eb759868c5b3de8d2932a71239c073ef332 + last_write_checksum: sha1:6b18ccd58256be6ced902d1ef9c9e45c6930ff08 + pristine_git_object: a3a2527567fb0c863a2dfae6397fc5a8fc48cc18 src/cribl_control_plane/models/healthstringtype.py: id: 43b988cdf018 last_write_checksum: sha1:8a8ec4a07846816d49d6b86e6ecefc7817f397c9 @@ -18460,296 +18544,296 @@ trackedFiles: pristine_git_object: fb48893fa71a3a28854d8d58d4a0fa725f106fdf src/cribl_control_plane/models/inputanthropiccompliance_input.py: id: 22cda9eccc16 - last_write_checksum: sha1:a15ee157793047073b0236b97da5b3f7e846e31f - pristine_git_object: 428fb1f5e3edcb531da3e8c30600976ec4ecb62e + last_write_checksum: sha1:8e55fdae67014dcf2389fd708af78a0b31f9cc20 + pristine_git_object: a9ba83a288f00216e2895868078dc6863a2dee86 src/cribl_control_plane/models/inputappleunifiedlogs_input.py: id: 16b3b9edb704 - last_write_checksum: sha1:bdf1561dd569fd123d915212fdc3db8fdd2ade1c - pristine_git_object: 0fdec63aeb26cd99161b626404e557ab36f85435 + last_write_checksum: sha1:68a7c6e20eab218784a4d53a7c668a5b3b9d4db3 + pristine_git_object: 5edb3d2ea17f00344f7efa3046079493d1c984da src/cribl_control_plane/models/inputappscope_input.py: id: cd5957422daf - last_write_checksum: sha1:c2891de7826d84b089ffc5c15bfc03c28f4d6992 - pristine_git_object: ee6a22f768388ec64c8ca814719d9e49cc61d917 + last_write_checksum: sha1:a64cf58de1ed598c7d99d87d9230e8cac4ead894 + pristine_git_object: 988a6dd66a9c67f94a3f6aef2d728374ebf22403 src/cribl_control_plane/models/inputazureblob_input.py: id: b5d314666164 - last_write_checksum: sha1:f2cfb2141f230281e6db200862a00ba500bc9e78 - pristine_git_object: 79b8fb0e23677f142f8fdeea7c773788f7b0732e + last_write_checksum: sha1:61356f6d43383e0105164ac46220e39684bde570 + pristine_git_object: a95d414f530945591bf3c3b2bf311f225bc1fa3a src/cribl_control_plane/models/inputcloudflarehec_input.py: id: e4377eaf2ef5 - last_write_checksum: sha1:34856b5dfdd365f62988731fbed0af0845f9e46c - pristine_git_object: e169495d1bbd89958afbbc02c0b3be8137b49eed + last_write_checksum: sha1:d7c2280bab9a5dc848fffa639741bb7b7dda20eb + pristine_git_object: d2590ff52a7752af8a1ed9f2d547fb2fe76a3b80 src/cribl_control_plane/models/inputcollection_input.py: id: 5751d6cbe10c - last_write_checksum: sha1:6974342adf82122b622a26544a80d2a0640080a8 - pristine_git_object: ba98408cc9c5fa8c72fe522788b28c6f7932625e + last_write_checksum: sha1:5be65c58f6ada7b6278811ba40a3bedc44536cc5 + pristine_git_object: b91e18d00c00c554aeb2b55f6461eab99d19431b src/cribl_control_plane/models/inputcollectionorigindatasourcediscoverywithdestinationarnconstraint.py: id: 045aede866a6 last_write_checksum: sha1:b82b357d989b1252666323859116ebac4fad3d4e pristine_git_object: 428fb4cc6fe0323cbb0e6bc7018ce7304e3cdf3e src/cribl_control_plane/models/inputconfluentcloud_input.py: id: 60ef0c42e033 - last_write_checksum: sha1:9c90a5866a3a6747a13d2bd3720fbf7c165584dd - pristine_git_object: 8ab625b3af466b16307b77068b8559d8d68afd7d + last_write_checksum: sha1:75ce43f9b26488498696613ecdf94f7c4eadfaf8 + pristine_git_object: 977ee3c96df095fde5e3df52ba390c29309db329 src/cribl_control_plane/models/inputcribl_input.py: id: 9357b3e36726 - last_write_checksum: sha1:032dc4290aead3137b2fe727c62a0704079a9b3a - pristine_git_object: 174f86b45647e851b349d6d8d1c76ec883956d58 + last_write_checksum: sha1:8d63906982726c06af330b3d9929ab5ce448be06 + pristine_git_object: 2dab5b60ccceeddde7d8fa89558f37fad34d3d96 src/cribl_control_plane/models/inputcriblhttp_input.py: id: ee1775e34d52 - last_write_checksum: sha1:68efe1f145ebd2c6df8b6e5a650d84a0fcb80784 - pristine_git_object: cb0d981ceec310009aa5885ce6b090b983a5c0a0 + last_write_checksum: sha1:1dc6115a18e1473fc62b9b4e5c8f38a6f117bbed + pristine_git_object: bc4d5547eee2cb4c23438e3fa8da7a6e2f1f6e71 src/cribl_control_plane/models/inputcribllakehttp_input.py: id: 0b9adb9c2ffb - last_write_checksum: sha1:8b700364775d3f2b7102c1aca5739ec6d9a8bf3e - pristine_git_object: c2bb69904ad6004058c139a56139f22d4f562b67 + last_write_checksum: sha1:c4de844f78c58f899597067f2c1acf6c2589b9bb + pristine_git_object: c8f29d80d0599ddbea982704c38a74e13dc0a7e9 src/cribl_control_plane/models/inputcriblmetrics_input.py: id: b9b29c6bac9e - last_write_checksum: sha1:4d0ed64b5c6a9930952d7912c7046676dfc0982d - pristine_git_object: a010edd3fa83a48e7179a744e554464de7ad01e8 + last_write_checksum: sha1:e7a01d56a1df37112b36b25367f45334a05131bc + pristine_git_object: 091bd367f61322d8c3a8ac9ca74b87836214fa64 src/cribl_control_plane/models/inputcribltcp_input.py: id: 9e42416daf35 - last_write_checksum: sha1:e8779dc33bee85cf0fe5d58046d1d589313c1baa - pristine_git_object: 3fa6905920d664a8ac77c305a7a143e11eaa40a4 + last_write_checksum: sha1:5122e280152c6f7dcaeeddfa3af35e91d25bc696 + pristine_git_object: ebbb7b4213a2cb12a1166884bc857cacdec7f09a src/cribl_control_plane/models/inputcrowdstrike_input.py: id: 2833966ef915 - last_write_checksum: sha1:324eb22621fc2c090a1e6d6fc3f8c9c1f45a8749 - pristine_git_object: fb986505a2e85dd628bebd664670d83fcf343f72 + last_write_checksum: sha1:5974a233c7f054bc8829f08598c571b608bbfc18 + pristine_git_object: 1aa3cdc52d75f2755e9ecddb0578802a0bf359cf src/cribl_control_plane/models/inputdatadogagent_input.py: id: a0d5075f2a16 - last_write_checksum: sha1:dd8ea0183f178e588bccfd1df0c4dd7b4c8b75ae - pristine_git_object: a3d315babf0e94cb99bcaee47d390497c553cd6d + last_write_checksum: sha1:bf41ca6b685b9d65e2cfea4f11d11cd4b6acccb8 + pristine_git_object: 25feb32d32d58ce48e016ec37024f256878b5707 src/cribl_control_plane/models/inputdatagen_input.py: id: f1881e9590f9 - last_write_checksum: sha1:e118ad36a6bb042395c88a760b2b0732252703ec - pristine_git_object: 720ed98a5f861ff1b9e9d4a3d003b65ebba4d135 + last_write_checksum: sha1:6b89d08de6343decc698fb12cac57f98ee696782 + pristine_git_object: 86343678695d16091d4e8a958cdae932cfe1c3b5 src/cribl_control_plane/models/inputedgeprometheus_input.py: id: a67a10be3603 - last_write_checksum: sha1:203baae5348c591bb54edd6b6ed6e254b4ca3f8e - pristine_git_object: 86dc3778470e9e34116ce0be45dd521a0f371d58 + last_write_checksum: sha1:11b415ab1ccb59f1ddd35201e8c40fcf0f0eb0b5 + pristine_git_object: 5f84be07b3cdb7a1abc1512baaa455abd8d33e2e src/cribl_control_plane/models/inputelastic_input.py: id: 064748980c9b - last_write_checksum: sha1:1f0941fa42d46cbf73520e04eca96ad88928227a - pristine_git_object: 8a71f55ab6d80e2d80efaae4f1ae44bc96a9bcf2 + last_write_checksum: sha1:c8f6c3f434af561eea40b73363bd960877123d99 + pristine_git_object: e34495500f9120a86041045039641b0845cff4b0 src/cribl_control_plane/models/inputeventhub_input.py: id: 2a7a44074d87 - last_write_checksum: sha1:da805e2840ce3ffb3cd7da28e3898d7c6f25c3cf - pristine_git_object: b1132bcbfd40292a606cd6de0f387d327f8283d3 + last_write_checksum: sha1:e7849940a935d13bf76ae0c9a0b3f5102b69a12d + pristine_git_object: bb93c4a13b4c92ee9a38f020f37745dec7df7587 src/cribl_control_plane/models/inputeventhubamqp_input.py: id: c9d97d144e1d - last_write_checksum: sha1:8e793c235690f79ba32055329809229606a3087f - pristine_git_object: 4bd9e238c0f13b406f4d83edf43069ac6c77e9e7 + last_write_checksum: sha1:41e1a3c88bb76c6264a918e1ca9664551b66dfbc + pristine_git_object: 58162e077e997127fd26a661d201f62dba34cb1b src/cribl_control_plane/models/inputexec_input.py: id: 83de10786a42 - last_write_checksum: sha1:527591cec39a032ea057dadede85194685b0c612 - pristine_git_object: 1fdc885ebabf48710c63912ee10950cc53b3b607 + last_write_checksum: sha1:ec776f2df4df85f4e1c29874e6f76c35691d2000 + pristine_git_object: b98438a640d1d4ce49b1cd7b5d4c923ba76cc986 src/cribl_control_plane/models/inputfile_input.py: id: 2f2ece3f4da7 - last_write_checksum: sha1:a2316500cf87d545227a93343f404a5900e029e8 - pristine_git_object: 78315b3f4e9bb022db173e9181b7399b2ecc8cff + last_write_checksum: sha1:4854ce267614bbea6687a2a7f83310081852f8ed + pristine_git_object: 7b77b4ccfb25d3bd7b5eb633e4d01b81cc8b99cd src/cribl_control_plane/models/inputfirehose_input.py: id: 7982aee54e23 - last_write_checksum: sha1:76052313908864d38b2595e48e9d5568f27d2e20 - pristine_git_object: be91c1eba817019eb58a837cc268603265a30687 + last_write_checksum: sha1:91bc521897116e08b8dbb192d3c65578fbfbc02b + pristine_git_object: bab1aeb8674b8d27dbfbe44a07fb3203bdfc3022 src/cribl_control_plane/models/inputgooglepubsub_input.py: id: 66ec03ee28a7 - last_write_checksum: sha1:e6b2024319559e609813411f709585842a6c3190 - pristine_git_object: 58f7e8c41ae126d860d09b377ff32eafa0920260 + last_write_checksum: sha1:88db948606e98e5bbeacd758d1106194597c81b2 + pristine_git_object: 910b367ab53af05b3ab999e56ffd6bddbd34eaee src/cribl_control_plane/models/inputgrafana_input_union.py: id: 281b44790f77 - last_write_checksum: sha1:8195285182a7d7c8ac49cc29c61c30b1085b5186 - pristine_git_object: 83298cd488a244d5b1067ce0a8967d5a4dfd9654 + last_write_checksum: sha1:ca694b5c3edea121aa059238fdeef557b1e10bea + pristine_git_object: 9669116c332daaa07a8e732a2e0e6831956bf292 src/cribl_control_plane/models/inputhttp_input.py: id: 659ac8226e04 - last_write_checksum: sha1:e8fa8a1c11fb677e8c162c6e59eec025f069dc80 - pristine_git_object: 1330bf2e09c9e0e51a86f3d82d8922651f7a37f3 + last_write_checksum: sha1:77a97f9ca923a1805824d4c5f56dc24d24e81c93 + pristine_git_object: 4c325cee3f372a7289f58f1e466b3548df186cea src/cribl_control_plane/models/inputhttpraw_input.py: id: 1b38ee0e9424 - last_write_checksum: sha1:b0bfc78427f7e5b6386f95ab58c89e8046eb51ed - pristine_git_object: 287c9bf9e098d60c76b04c5707856bfbdcaedd4a + last_write_checksum: sha1:4ce163290a20e933d8741ba78a8484d1187deded + pristine_git_object: e52732a8487b1b740b70fbb8514fd7527beb1026 src/cribl_control_plane/models/inputjournalfiles_input.py: id: 7653532158ec - last_write_checksum: sha1:819bc7ebbda98fb3aca467ca8866232d34d8d72b - pristine_git_object: 3367a2e5038431c5b7382450a2312d39c60e1096 + last_write_checksum: sha1:bae3bc2869c2a05f78aab3c280e1b62165d90808 + pristine_git_object: 81273acc833a5fe60e6043f6db4038ccc6fa9137 src/cribl_control_plane/models/inputkafka_input.py: id: f845de6defe7 - last_write_checksum: sha1:52d4a2a5239c254a6fae9bc0ec7bd5ffd60a83f7 - pristine_git_object: 5f3b9242174abfb681fe251386f372e2bf285eca + last_write_checksum: sha1:15fafa6b125d6b9254a6d2aa0d06398b3078ec6d + pristine_git_object: 95b8d59e19beab4252e5e1c59c2b4dba642cbae4 src/cribl_control_plane/models/inputkinesis_input.py: id: 0d81fe4d8717 - last_write_checksum: sha1:10e517453e42abba98982e965ca08f68ed78b76e - pristine_git_object: 367b14c96f3c8f5b03b4d35257db328228ced6bd + last_write_checksum: sha1:02d93d20c1ad2dc0d154e303fb53432bdbc18ef5 + pristine_git_object: aee90063b8cff576119d907c4e5fb4a1720a8673 src/cribl_control_plane/models/inputkubeevents_input.py: id: 5405b600cc45 - last_write_checksum: sha1:94e1727b6f6b077f3b67da4d1b22b8e99897fbc0 - pristine_git_object: 3126a8f57f9e2d263700feea2c92362e0e325889 + last_write_checksum: sha1:957eee7523c850e870fc8188175afd73b874dc55 + pristine_git_object: a60d2381f3e0f5c9b5bf05a134e4b71646abd953 src/cribl_control_plane/models/inputkubelogs_input.py: id: f76b8190c904 - last_write_checksum: sha1:f465985709c59d41c112be1588bea10eb68e9cc3 - pristine_git_object: 18e37e9f21fc9e09f09019145d26f01014531c4f + last_write_checksum: sha1:798cb5bc617586435270fc059919b732e02739bc + pristine_git_object: 5e2cd93e63b43435063e432f27a2dedb7e3bf8e6 src/cribl_control_plane/models/inputkubemetrics_input.py: id: bc9d6b7e92ab - last_write_checksum: sha1:6da01aad356ec64205d0ba91c89c918ccbc022b7 - pristine_git_object: b577570798b3e82f40505dd4d0973b7041e4cab6 + last_write_checksum: sha1:ff517ae7fb8cafd7da1bc0bad8dbee9451c6a72a + pristine_git_object: 62cae4a9bbc902617afcf0099488b00d4d7cb812 src/cribl_control_plane/models/inputloki_input.py: id: 4f4eb42425d9 - last_write_checksum: sha1:17a499d61c0e9c4daec2b9e6d4fb8e95daeeba7c - pristine_git_object: d0b0eef9e734e0a586c3bf028ac638bd15849320 + last_write_checksum: sha1:dbd5911adeffeb42c1350ccdcf6008df4cf670cf + pristine_git_object: 88c76569132054c66991015145ed25deb19fd405 src/cribl_control_plane/models/inputmetrics_input.py: id: 5ffe6870f9eb - last_write_checksum: sha1:140ffc78c5fe72b49e78bd7e24ee4b69bb04d12c - pristine_git_object: 85de890cb7125f406b581b1363ca47ec341d2959 + last_write_checksum: sha1:e7bdb0ed4d28a24b0ca4f43247898bd818866cf4 + pristine_git_object: 49a193de813f78bd993138a9350b27bf9a14f949 src/cribl_control_plane/models/inputmicrosoftgraph_input.py: id: fcc7fffc7383 - last_write_checksum: sha1:fab595fde6f48394e1695d07d8347bc8636fc0b4 - pristine_git_object: f72025d2fcdda833c4246235cef2d0f0f7e7a3ec + last_write_checksum: sha1:a49df1bb6c73462f3592ffe3980ca71b6a924d77 + pristine_git_object: 847d6e8826d7485ad4ece6a2478e62fad797d3d4 src/cribl_control_plane/models/inputmodeldriventelemetry_input.py: id: 13d70bdeba62 - last_write_checksum: sha1:7222e6716fb3ad6b7c3be6144f3d804cd759f10b - pristine_git_object: e08178318d65541b9a30c2552147a340fe04024f + last_write_checksum: sha1:713fd31dcd4d459945cfcc4de00d059b06a50c78 + pristine_git_object: e505914ef72fd3ae05d62000244e839bc60bd854 src/cribl_control_plane/models/inputmsk_input.py: id: 13f3a5c8a003 - last_write_checksum: sha1:8b03a3aead8abc4673ffa7c84c46de5f7c1ca1a6 - pristine_git_object: 29d6a947c02f32d1889c01ca12b713c7cb8b190b + last_write_checksum: sha1:5a6a56ad4cba79e0f3d14c8f8185bbc2cec9d820 + pristine_git_object: 0e9a49939f33e69a80f0840c21191663ca7d84cb src/cribl_control_plane/models/inputnetflow_input.py: id: 5e4cb9ff9920 - last_write_checksum: sha1:804e3d2a2422e53166363f5dbff0d2e9f3a07ab7 - pristine_git_object: 81d7397dc46e69a029b4f96277928925a0b905a7 + last_write_checksum: sha1:9b8edfbe7d8975f364b0e5b9f6ac2a69a9ae64f7 + pristine_git_object: 3e349574cfcffea7556770a01d152ae7b2490f72 src/cribl_control_plane/models/inputoffice365mgmt_input.py: id: edae18eb5227 - last_write_checksum: sha1:e2dd6d5f1576ad047a93b6b8eaca3f3f9ab2ca32 - pristine_git_object: 4df0ef452216a68d1180d2eac0e15918c473dba7 + last_write_checksum: sha1:959075ba6e1739f26cd4882e6267d6cda8f54872 + pristine_git_object: 45f781fb58676248349bc03a4773b89ba2c8b72a src/cribl_control_plane/models/inputoffice365msgtrace_input.py: id: 91c570f26873 - last_write_checksum: sha1:f51e295c04f04739faf03929d91e3e976eb51e8f - pristine_git_object: 49cb3693d56ee6e13f76f678d36b388b03795036 + last_write_checksum: sha1:ae331175ac4ddbeed6641c0a5cd3a667a69f8644 + pristine_git_object: b56bdeaddff2ee5b6a190ba4e74ddfed38970827 src/cribl_control_plane/models/inputoffice365service_input.py: id: 4d61311f1672 - last_write_checksum: sha1:55f34821f00811208fd70cd02af20e2e0b78cfb3 - pristine_git_object: 674bfd7aeca7170ee63e40dc4b5351decb1885aa + last_write_checksum: sha1:8d0bbdb67d6687f61a6b677358b2b846a466bbbc + pristine_git_object: 0eec8d074da766333f9d869f5a81f89c31ee4f83 src/cribl_control_plane/models/inputokta_input.py: id: 6efc6d8a82f0 - last_write_checksum: sha1:8172ff372ffca882a365fa852a93435589b26543 - pristine_git_object: 63f4fcb58a0ed6670b41a9f6a25a6278a3adc763 + last_write_checksum: sha1:987831c546c7e4f32324be7860d5a17e5dbd5614 + pristine_git_object: 79194b897368aca25a5c695d53e5733dd376ff33 src/cribl_control_plane/models/inputopenai_input.py: id: 37fc53912818 - last_write_checksum: sha1:7a83fd1dbdcd7faaedcfa6fd3407446e9c3afffc - pristine_git_object: d2619dce64c76d7b638740abdba3f7b066359c1e + last_write_checksum: sha1:1393413912a0f437191d45b9b3d2dc87979d0dc4 + pristine_git_object: a6978909090a7ab500eec58a4f5165eebfd7ddb3 src/cribl_control_plane/models/inputopenaicompliancelogs_input.py: id: 523c96ec8fb0 - last_write_checksum: sha1:ed1f6b514f15e8b277d1a73bd202d21cc52d449e - pristine_git_object: 9079c3c58cb6e369164383bc6e1cf8179b039220 + last_write_checksum: sha1:182e434b0edc257b5ab8861d91f13232b74af3d7 + pristine_git_object: aca9bdabe2674707dce19cf7e9bd61e70708c76b src/cribl_control_plane/models/inputopentelemetry_input.py: id: ac9a785f02cc - last_write_checksum: sha1:da8070d715004594cfc0482b3de33ac5350ac91e - pristine_git_object: eaa31682dfc57c321d9058fcef8f6cfc46050b42 + last_write_checksum: sha1:0b73e37ee19fd52ed8e8bb59321bdf1d71f63922 + pristine_git_object: f5ce7d0931fea7b7cf377ecb9e3bc159b58bd887 src/cribl_control_plane/models/inputprometheus_input.py: id: 6b2c7b2165a7 - last_write_checksum: sha1:674dc9cd94a0ee89f6733c0a125867235e42171c - pristine_git_object: b5df2dcffaf41af4579f416edd716b7f048ccf3a + last_write_checksum: sha1:02581e8adebe523efcf8de9ecc44e811419fc7e9 + pristine_git_object: 3934553f79b3bb76e8a1a79f318ebe9b71760a63 src/cribl_control_plane/models/inputprometheusrw_input.py: id: d908fea575c0 - last_write_checksum: sha1:49b62e4c66b53c058b554588b211da7ab9e2450e - pristine_git_object: 2606b2d088bd5c48208f574a8e6551d940aa758e + last_write_checksum: sha1:172643acdd4106318f6a946d88e003964f59f012 + pristine_git_object: 0015e7322a4f9e611812e679b8290be4fa4acafc src/cribl_control_plane/models/inputrawudp_input.py: id: 841e631fe324 - last_write_checksum: sha1:e9ed37de53c5146a0efe845ef71a648a33625b31 - pristine_git_object: 4b55ba9050f070da726494b2a5b631773b9f7980 + last_write_checksum: sha1:e74814a26cc759dec91d657b88c9a791920fe3f5 + pristine_git_object: 3128b78cbabcb76ad99b5f30c35384b52c4981bc src/cribl_control_plane/models/inputresponse.py: id: 767730d04919 - last_write_checksum: sha1:8b22ae0877ab276d89e8efabd5ed1f1f7f5c84d4 - pristine_git_object: bf1e80b0f814424e6ec5c9ea0f85c4ee5f80820a + last_write_checksum: sha1:fd0bba79000c2ee9a4d6732daffb920a8eba50e7 + pristine_git_object: e972b9e78c7727cd0006d4b24b841d4eb9704235 src/cribl_control_plane/models/inputresponse_logged_in_users.py: id: f086c6ede533 - last_write_checksum: sha1:a82d7f7d957aa4b0716628ecbd3661b6e6bb84af - pristine_git_object: e120d740f5b3578278198822271d8bbebb94e351 + last_write_checksum: sha1:5d99db95a52e164909846847a39bc898d4eff04b + pristine_git_object: daf41a8bda77e87a705ee61e192f670d68eeb37d src/cribl_control_plane/models/inputs3_input.py: id: f30537f12b20 - last_write_checksum: sha1:a2575e73af46f9fdf2e58f5c6372ffb9b800918b - pristine_git_object: f7b35ff2e541be860ace8395e7ef1001c6d76b1f + last_write_checksum: sha1:6d04235a38fc4caf18fb898682134aeb2967e9f2 + pristine_git_object: 120557c7861a689d14ed3cbd2edd084281cb92a8 src/cribl_control_plane/models/inputs3inventory_input.py: id: d0e47c198788 - last_write_checksum: sha1:378d17309d6867ae0220642374f7ed90c837bbdb - pristine_git_object: ae452c10c6c3de91c8b377918968d905b322ab06 + last_write_checksum: sha1:e8360b83e6b17e6b9360b2a5e9866f00fe330bf6 + pristine_git_object: 3003eca92c8bba134dccea53d74e83c1808a1b1d src/cribl_control_plane/models/inputsecuritylake_input.py: id: 722391f6e3ef - last_write_checksum: sha1:29624420d2e7a2586bd83d5423a5e8458645431b - pristine_git_object: 7083ec3986c8b8590484453fbf198882a59fda3e + last_write_checksum: sha1:918aad63df1ade914b46833e93fd1681cbf937a9 + pristine_git_object: 29ee6de210ca5a5def9a00795667672af4e56c10 src/cribl_control_plane/models/inputservicenowtable_input.py: id: 6d5dcd6000f5 - last_write_checksum: sha1:b6c74306fd97e7e6bcc8415557330568a329102c - pristine_git_object: e33ce680ae404b97e86c6f1f8701d2fcc0d34406 + last_write_checksum: sha1:15ebfc94a36a82b5a372ed53975f400b671e727a + pristine_git_object: 63866ecdffbf784dad23a956cc0599e2e8221f67 src/cribl_control_plane/models/inputsnmp_input.py: id: e636e09f3b4b - last_write_checksum: sha1:98bda8145afb81a575b5f5105f3770411ac259aa - pristine_git_object: e7eb61f89c6b9c9656eb46969029aeff8d6c7f2b + last_write_checksum: sha1:9ae06e7f7d016d1fd7575e8ec78eda01b08aa9b6 + pristine_git_object: 219bc1ae8b910d602944040f92f7b54ff4589c72 src/cribl_control_plane/models/inputsplunk_input.py: id: 337f36087cad - last_write_checksum: sha1:9499acd8e3b74be0f1656aa6656531c33f4671df - pristine_git_object: 1253954247232b5cc3723cb48afc35ba3879a906 + last_write_checksum: sha1:9022d911783274b151c9bc1e91032b8cf04e6ea8 + pristine_git_object: 1a947e8eb92071a9dd071a248f897d77f745ee8d src/cribl_control_plane/models/inputsplunkhec_input.py: id: abbfbb795039 - last_write_checksum: sha1:5f419bcb5b9b4898a37fb1ddfd96c67dfb9d6267 - pristine_git_object: 9556bd397ad6d2d27dd2a98a5777ed52b1877e3a + last_write_checksum: sha1:5d119415232b5f09d3292bb4fa78bb812b74d227 + pristine_git_object: 79af91dddb248a79fe98fab4e47298139a9855f5 src/cribl_control_plane/models/inputsplunksearch_input.py: id: b5791b40b3eb - last_write_checksum: sha1:ecc7e053c4cc53a555c167cd9f2e7f2ae66c4466 - pristine_git_object: 2b32a87966b4b5fc67b27736d2981b3b64760055 + last_write_checksum: sha1:385d622e33d6a6cb770ce823a88e4a06998d043e + pristine_git_object: 0e62ef9441aa7de6f43696bb8351991cd7f7f87f src/cribl_control_plane/models/inputsqs_input.py: id: f509d691b890 - last_write_checksum: sha1:95f83f22b88ad59b2a2b52d04bcdb085f4020981 - pristine_git_object: d8a61b1c0a90aa9060fbab2fb7f42aefe78b9ba5 + last_write_checksum: sha1:c8773a72849276b679f18d2783eee5d99c021916 + pristine_git_object: fc58ab993dc189efe0878842cd4cd8a51292abc1 src/cribl_control_plane/models/inputstatus.py: id: f798d3417f8c last_write_checksum: sha1:6b02c9c9c80885a09f9475cc95c74188907e21d8 pristine_git_object: 2bda30fbfa10c195c15e6339bb787bcc844c46ed src/cribl_control_plane/models/inputsysdighec_input.py: id: 831b74c342c1 - last_write_checksum: sha1:f7a28c424090235b2df428668cbe7857bff4bb27 - pristine_git_object: b4c227e41c8ff2e7959dca2cd6bb3f9d52ef2add + last_write_checksum: sha1:ac70e4f56b89db8d7526f2d366724ca9c5f75504 + pristine_git_object: 11d0b16f41a915e21106724f273bcb9571e9d881 src/cribl_control_plane/models/inputsyslog_input_union.py: id: 84122df38308 - last_write_checksum: sha1:6dc4c1321e6f3d3d0cd3672e530fc75dad748b86 - pristine_git_object: 7b29b2ec7987038dc10e7893628cab05e12dda19 + last_write_checksum: sha1:03622a65797645404c01cf2049be4c9571515a35 + pristine_git_object: 5aeafc78403101289b02b19c496fc922d75768ec src/cribl_control_plane/models/inputsystemmetrics_input.py: id: b338e7d5c2b5 - last_write_checksum: sha1:18b0676d4e7388e4057399ddfc60c0a32599d034 - pristine_git_object: 80c78f27555a76fddbeaca23d3d09777596d7cb0 + last_write_checksum: sha1:8d981c1337025e076e4db2e0185492cf708f3eff + pristine_git_object: 8af53682274a0280def6525409b019bb576ff2c8 src/cribl_control_plane/models/inputsystemstate_input.py: id: bd726aaf3461 - last_write_checksum: sha1:e8d5b43ce9e3965dbbf2d71075b57dda92e722f1 - pristine_git_object: 73929afe380c50d0e9c60a0f69aeecb9eaafcb20 + last_write_checksum: sha1:a2e78b74dbd953fca406399479c531a480995bbc + pristine_git_object: 4c5111009d4b9fde43a21057ad8feda858818b76 src/cribl_control_plane/models/inputtcp_input.py: id: cb428eab3452 - last_write_checksum: sha1:16c19dc2cb7cfb3a84688a9ee4e7c5a5a3cde692 - pristine_git_object: e6ac0e45af8a2e69fd59fb68512450e5b866c3db + last_write_checksum: sha1:75e8ad797a57048a116160f94268f4369885a767 + pristine_git_object: 144437d7ca19a3d54bd5284a6d58ad036bd4c5ca src/cribl_control_plane/models/inputtcpjson_input.py: id: f18a7bae408b - last_write_checksum: sha1:d37ac195e257c478e2c7fea2afcd8fa5768ee264 - pristine_git_object: 16c0e7e8f0fb9a1fd9fc97231515caf64e776119 + last_write_checksum: sha1:79641fec63b1d84c16808a386ab9f4ffea2bace6 + pristine_git_object: 6f7ed50c1b8f82f2dd12cb23d0664d5d31b91010 src/cribl_control_plane/models/inputwef_input.py: id: 9ab97557b19a - last_write_checksum: sha1:857b2e9d5a6cf61f1857b85c9cfda21da77fff19 - pristine_git_object: 28db70acf4c2f75ef27cd69a60d9b1a929aa5921 + last_write_checksum: sha1:c5974aa68f87e94da964f0f1fe025ffb9a86694c + pristine_git_object: 4480ffcdb5c1c738ea843843dea733e434033a28 src/cribl_control_plane/models/inputwindowsmetrics_input.py: id: 650b252da015 - last_write_checksum: sha1:7132f3dbdb54b9366a4fe2c9da7ca3a50e478923 - pristine_git_object: 2d2a79af5d4cef584e74496e89c4df13eefea2d9 + last_write_checksum: sha1:3929fb643e30f63c3ca7f5eb16c126d6936ac920 + pristine_git_object: cbe4ac60d106aa6733d789c1e3b4199f745592c9 src/cribl_control_plane/models/inputwineventlogs_input.py: id: b9b01a216032 - last_write_checksum: sha1:c4a89d5a1978401df460fc8499bddfbf5058e9a6 - pristine_git_object: d4841a824582b354f24078020d1756f0e2788e05 + last_write_checksum: sha1:a9aa3426eb2839e2517084f8ea021cbdfb4531cf + pristine_git_object: 99a779a7f012e5bd3dfbda3048c81861bc9bafe8 src/cribl_control_plane/models/inputwiz_input.py: id: 6afb94fa60e0 - last_write_checksum: sha1:738b2303cdda005843fbd4236432b698824f7308 - pristine_git_object: a0e0d477fa7c500ba80a8450eaacd22653293e48 + last_write_checksum: sha1:be7ad5ffd013d795d56579b20c37d3cd03e64d3d + pristine_git_object: 055c8aa9a931e330b72a9cb5022ffc6d3e904954 src/cribl_control_plane/models/inputwizwebhook_input.py: id: ee13ab6a9378 - last_write_checksum: sha1:2b5f23dd7bb961ff14a49b035c7414558123c7e0 - pristine_git_object: 531baac72e9e17842484d7bf3dad3b0dd112863d + last_write_checksum: sha1:995835e85d54d205697eaf16b0150491fbd4a18b + pristine_git_object: 7fd38a587d1102f7b9f37bf320f1cc9d77691fec src/cribl_control_plane/models/inputzscalerhec_input.py: id: 26ad49916acc - last_write_checksum: sha1:23775231084fb5896d51d1a0c9e2daa874e64a0f - pristine_git_object: 6b5d2f4991078320d8e43d746471d579b9e7fe3f + last_write_checksum: sha1:7d5f88723d05c342c198ad006370a90fe0d5764c + pristine_git_object: 436d25ccb537cf1fe08b706cdd4d8d68d7cfb083 src/cribl_control_plane/models/jobinfo.py: id: 5b0f0dc0bf44 last_write_checksum: sha1:7db95c95e26df0903254e19cae5abe776bc36e28 @@ -18894,6 +18978,10 @@ trackedFiles: id: 863deac83938 last_write_checksum: sha1:fc9bc2045040253c7746d3361a32caadd78a7cfe pristine_git_object: 51dd022e700d856119a71481cb7f8b1db852608a + src/cribl_control_plane/models/noactivehealthoverlaystatus.py: + id: 736345a1256e + last_write_checksum: sha1:74b8a5a8d47ba2985ce97e00ca7182c293e63af8 + pristine_git_object: e5965707493055a4b2dc52d6fbd3a57935bc7b81 src/cribl_control_plane/models/nodeactiveupgradestatus.py: id: f1715e5be927 last_write_checksum: sha1:4c7339de772736c8e8b8ff379306826090d17c63 @@ -18964,336 +19052,340 @@ trackedFiles: pristine_git_object: 4b0fb970d23dafe3793749d3c47e7fbf8f514ef0 src/cribl_control_plane/models/output.py: id: f4d9666b7d9f - last_write_checksum: sha1:da8357f717e513462ca6813b12a4032bcaaf6e09 - pristine_git_object: 8256d6b1052de941a906498311de4ffe18b78106 + last_write_checksum: sha1:c52052aea911b9341b623fff195b33944d56511d + pristine_git_object: 514a30312780c0a87a38f35be3219dff3650861c src/cribl_control_plane/models/outputalibabaclouds3.py: id: 731fd1ec1a1e - last_write_checksum: sha1:ab0f6b480aac6c42f868a7c226a9a32892a613b6 - pristine_git_object: a336ec26303fb616e007e8cd276ededb432f82a8 + last_write_checksum: sha1:368200201f8169fe9d40c888666b4ac47c7afff2 + pristine_git_object: dcf4d8a37e11dc4be5a0a898b2219efc02b4c1a3 src/cribl_control_plane/models/outputalphasocs3.py: id: 3e9b0cab279e - last_write_checksum: sha1:7d1e65f38dcd8a34386ea5d634aee7a83fb365f9 - pristine_git_object: 47aa8133e1c2c25a23d9874e4644624326c11b2c + last_write_checksum: sha1:6cd6cf11e8b7fd2e1e0a3320063de3597d28e6ff + pristine_git_object: 543562370026140b82a26d5fcf5319a8056aa7bb src/cribl_control_plane/models/outputazureblob.py: id: 11d57ae340d9 - last_write_checksum: sha1:71138b1bf45288808c7d3fd8c87dcde95cf6c524 - pristine_git_object: 162ab68a1942f7e215e3342bc9f48f4c40f30434 + last_write_checksum: sha1:ad06cc77f909970687fcd04a206a7a3973e271c7 + pristine_git_object: 1062bfd228e6e53d6e165ae32b9c0e4fd98e63f1 src/cribl_control_plane/models/outputazuredataexplorer.py: id: 31dcf73b7d97 - last_write_checksum: sha1:034fb9f6bbcec8142a21f7ab29ae2fbdf1e24399 - pristine_git_object: 77dd65cabda16414fb47a104f13db3c4599c203b + last_write_checksum: sha1:9346ab8f7483438f9e050898f5fc5a90285113a0 + pristine_git_object: 0daf58c881b5610f744abfecb92ea7f67ee6e6e3 src/cribl_control_plane/models/outputazureeventhub.py: id: 98ee05460527 - last_write_checksum: sha1:9f0c8a3496952def0caa11e7c8f8551f59a0f561 - pristine_git_object: 83ead14fbd189158c1144dda87727d32bc94c0e9 + last_write_checksum: sha1:8b20ce3c7f8303566fe4e1ebe9b369afc36855b8 + pristine_git_object: 3cc01cd01ff713a4b921541445354800f432455f src/cribl_control_plane/models/outputazurelogs.py: id: e4021e78db06 - last_write_checksum: sha1:5260a7108620ec2aa943b7da5911500192192552 - pristine_git_object: 657c4c89af5fd03e4db5f887128d5610c88edbed + last_write_checksum: sha1:c9661c9f0db6da4342a4a98e4bc8d4cec2bb1c53 + pristine_git_object: 769faf81ff3bd4ffe2b09d09b72ba0df9393a83b src/cribl_control_plane/models/outputchronicle.py: id: c85d2f94c191 - last_write_checksum: sha1:945fd083d3e79cce7e0fb06e861c727ba3f9cc34 - pristine_git_object: 8ea4a01117eab20738fcfe1ed01b16fa20cbd331 + last_write_checksum: sha1:e2da3d7c7a09abad3c93ef7394ceba655a57d7bb + pristine_git_object: 6f78a89f9f94e068434e5fcc76c084a715d0da96 src/cribl_control_plane/models/outputclickhouse.py: id: e761b8dd45b4 - last_write_checksum: sha1:b7dd88efc5e3b7f57cf3fd22b7de2309dfc844ed - pristine_git_object: 696edca849502bc9a673ad88b3faaf672ffa223f + last_write_checksum: sha1:dea498b20748f10cae9080bbcfb61adf5180666b + pristine_git_object: c593c7155f314174feda920ed682d9f38309a0c6 src/cribl_control_plane/models/outputcloudflarer2.py: id: 97ff5be2be1a - last_write_checksum: sha1:4d10e7dfef5a8adc522bc74f81d4d9c01e874a9a - pristine_git_object: c880dddbebf8bf4c11d3f0d968efa0496f2aaa31 + last_write_checksum: sha1:776afa151c9241ceaaf86ad2818333231ca46835 + pristine_git_object: abf057a38a8a415e0873eeec70fecb74831588a5 src/cribl_control_plane/models/outputcloudians3.py: id: 5a58437c9adf - last_write_checksum: sha1:2e03408b996ce41a33b4517ef4a4711d7acb1a18 - pristine_git_object: 531cbfa934401cda63c6e5365794bb4d54dca012 + last_write_checksum: sha1:67121e4cac48c1b20d407e7bec471241dc744982 + pristine_git_object: 2823c4c44048437d5a8db1e859c489c623bb3b5c src/cribl_control_plane/models/outputcloudwatch.py: id: "325994702096" - last_write_checksum: sha1:859f53b8f887c9b1721f7921f443f597832fbd1d - pristine_git_object: 8cfab700e75aa4cdc616a17d32f0cff4caf6fd46 + last_write_checksum: sha1:9a1db1881101fbe4f524e80d0034aedcaf902446 + pristine_git_object: 850b4cc4a0a83bfb9f6418a861cffc0d282801c8 src/cribl_control_plane/models/outputconfluentcloud.py: id: e633c53adc27 - last_write_checksum: sha1:ffb6a8add28d3a065b28ba2985209e85f356cf23 - pristine_git_object: bd382956d148fd6df7957559d7f7b0fff7cfc376 + last_write_checksum: sha1:b2b725fa3f5a7f795f3e8a6e747fcc54b0ff348f + pristine_git_object: ab0345fb985e4d5a0c235a0cbd8b95a671bc4330 src/cribl_control_plane/models/outputcriblhttp.py: id: 64352590a54d - last_write_checksum: sha1:c10c0f3178f3d04db95ec5ff9731de77082b6605 - pristine_git_object: b9693aa50a22f19084bf877a3a2957b963ce3227 + last_write_checksum: sha1:3802bb5f24d002877e6520f04d30642873af1ddd + pristine_git_object: 3225c8b20a888c92356d1efaf97377814c5c2b23 src/cribl_control_plane/models/outputcribllake.py: id: 88401324e633 - last_write_checksum: sha1:cbe9f670674fc7f8f9ddff381651fc2556df022d - pristine_git_object: f3c4842eabab60edb10b2bbfc8fa18516ff6f6c0 + last_write_checksum: sha1:7c3388570f7486134ff2fbfbdf66854e95831dac + pristine_git_object: e202f8d289e3380ff4f185c0dae81f4e5ee033f8 src/cribl_control_plane/models/outputcriblsearchengine.py: id: 0f5362f5f409 - last_write_checksum: sha1:3091907b691ec45179e22666478bbed886d74060 - pristine_git_object: 6567e5ad6acca76e8e640de2f5c93300ac5ea36b + last_write_checksum: sha1:cba0bd5fc396bad1ff6d15fcca77b3d5720ef81e + pristine_git_object: a5e2299ac52ef3dc1afdbac273f66a164e2f41f9 src/cribl_control_plane/models/outputcribltcp.py: id: 9a2c64817df7 - last_write_checksum: sha1:72ab0289a22d5ca5447eec280403b9586ffb26dc - pristine_git_object: fd0126aa368b3d8c79775b4cec9dd7cab5b03310 + last_write_checksum: sha1:978c504df01e5e5bee0f22e91f0eb120a1904b21 + pristine_git_object: b3b3b122de1100e9aabe02ecb37df81bd4945d03 src/cribl_control_plane/models/outputcrowdstrikenextgensiem.py: id: a2494a240e4a - last_write_checksum: sha1:b867b4592177ef97fba0adfecf049d7d8467c08e - pristine_git_object: bccda8a1c8ee4ce0cd81e4bdae54c85c73ea3943 + last_write_checksum: sha1:4007145018e0b2cfed0f0da7a530dd8e10a836f3 + pristine_git_object: 6e844faf09ebc8b3d4f0d05a90ebed2cd192f37e src/cribl_control_plane/models/outputcustomermetricsstorage.py: id: fa844bfbc77c - last_write_checksum: sha1:d4eb74b65014fb151587afcd64c4137ff2e33eac - pristine_git_object: bbbd3285b57811320c27f82659ccbc426e48a1f9 + last_write_checksum: sha1:4e4fc84e27479554e5ecbce755e74be6a732cd7b + pristine_git_object: 6e0c551a252f1f7fd2a00b278aa3b0bd4d0f59b2 src/cribl_control_plane/models/outputdatabricks.py: id: 4a8494d5d320 - last_write_checksum: sha1:b126629291737513ef2c1954a8a60180e3e26729 - pristine_git_object: e931bc3721cf292d5eaa1275c1bf9a56d32689ba + last_write_checksum: sha1:ec436652f962e45d61235dcdc209abddb8fdff09 + pristine_git_object: 6ee579e587364750e62286c618aa6a7f4b75bb48 src/cribl_control_plane/models/outputdatadog.py: id: abb9afed6881 - last_write_checksum: sha1:a0e3cd3cd26735a51cb05db5c26c3b3c69f54d9c - pristine_git_object: 8cd59643892f7f5577766436845437ee5a9893c1 + last_write_checksum: sha1:d437135cc253a8baaa47b299ae6f124009e6a40f + pristine_git_object: 25f66ff489dd38b7a0adb00152055f75439fe114 src/cribl_control_plane/models/outputdataset.py: id: 685bd2bcad50 - last_write_checksum: sha1:716107039e43745d6a2462a8f7e8bff74fa95df5 - pristine_git_object: 7a4b4f41004758f6cf316808010f0c449646742b + last_write_checksum: sha1:66fbc648ba6e004fb02d14d4d25ca23f8736568d + pristine_git_object: 66eaa1958efafa18f01caae2dea65b6108c1088e src/cribl_control_plane/models/outputdefault.py: id: 9646763573c7 last_write_checksum: sha1:185c6dd0cba546376231910c575858f9b430e226 pristine_git_object: a775bafe39553680bf4b586d873117f60f5a9a61 src/cribl_control_plane/models/outputdells3.py: id: f4d10f79b7e4 - last_write_checksum: sha1:f6e3acbcb1024d939779d0e3252a21b53ee25d38 - pristine_git_object: 9a0c2e2d7712903b6b901dbbb6af925cffdc6a30 + last_write_checksum: sha1:89ca61ecd1b510301ace9b16955026e03c575883 + pristine_git_object: 89c4604479646abf7bae787f0eeedf4ed5208ae2 src/cribl_control_plane/models/outputdevnull.py: id: fe817fa361c2 last_write_checksum: sha1:429206b885cdaf1e891c720a7ff9c9c0c29aba88 pristine_git_object: 8f523240bb364705fa7779a894acdaf24399030a src/cribl_control_plane/models/outputdiskspool.py: id: 8a3d3503d381 - last_write_checksum: sha1:e04104a9bb313ee84aebbb0fc64f2cbc4ba52d26 - pristine_git_object: d4dec1fbd94b939803d349dcca22bd986c293a32 + last_write_checksum: sha1:a626f89e3924e220d8daa8a42d4075cab6333394 + pristine_git_object: 28a8ccc7173d4552a0e0169464dfa0221fadfa2b src/cribl_control_plane/models/outputdls3.py: id: 86ec6e6c3349 - last_write_checksum: sha1:46c981674877994d04cda0d21f393d8a1f264ae6 - pristine_git_object: 56863a3641b5fafe515dc99f24700eb5883ae5ef + last_write_checksum: sha1:4d159794963df3c683539bcf4f49a7e569fd298d + pristine_git_object: 39581353605140d40f358983573a9a19782bfcca src/cribl_control_plane/models/outputdynatracehttp.py: id: 9ef0c87a3c8a - last_write_checksum: sha1:9635f2393da0dc1b9b2183246c19122b5491263f - pristine_git_object: eafc693cf4c4cdfbeb802d1f9b989f399b146235 + last_write_checksum: sha1:a5e35e902adf6ffebdf1dfdf8607d48edfc302f2 + pristine_git_object: e8b1c2d473cc83a33da90e1c8d0c6b47f8719ec3 src/cribl_control_plane/models/outputdynatraceotlp.py: id: 7d91d0663838 - last_write_checksum: sha1:0236fcc8a16c17f23257b6ad4d27de2f3b5ea190 - pristine_git_object: aad1d45bdf993efbafd92fe39ad9508472af413f + last_write_checksum: sha1:95e7ebfe142a64b03a8741279d08db20ad13b7ee + pristine_git_object: 9229dca928d50029c801414060b066d60df73b5d src/cribl_control_plane/models/outputelastic.py: id: d478b50f9198 - last_write_checksum: sha1:3fa6dea9902b1b7750e4a475fc00d77cbf78b8ea - pristine_git_object: 5217972a3d2466e0ddfda810b93429a03189e241 + last_write_checksum: sha1:10948e33f4ea2551d803be1118103e6441d22a59 + pristine_git_object: 4b11e558a7bf436c3f8b5251714e6bcdbda53986 src/cribl_control_plane/models/outputelasticcloud.py: id: 9401e27437e5 - last_write_checksum: sha1:e2a9c184d5b0b3b355ddac06f93fe3bbfd17102a - pristine_git_object: e44a22b1e270757601e44c37eaedff39d0e1f07b + last_write_checksum: sha1:2bdb7de9536ff46d6c442a2bca6de1e0de738ccf + pristine_git_object: 2f945ce1f8920709aef933ae797c0ca60313b033 src/cribl_control_plane/models/outputexabeam.py: id: 9b6db8800eed - last_write_checksum: sha1:894274fe4c7131a1ebe3716cebc06415358fb2af - pristine_git_object: dde40348b024ecfaf9165a1612d4df072e3fe685 + last_write_checksum: sha1:37aefa8f8d4c3fe81b94e61f38b9e0f9a934781a + pristine_git_object: 031959cfe0ff12fb3d4301281d00d2b6fa603a5c src/cribl_control_plane/models/outputfilesystem.py: id: 745f091a33eb - last_write_checksum: sha1:86c40cc0f90068ed06d08ad307115b813bda88f4 - pristine_git_object: d009b4654579ae37f8761bed9bd0ee9461c8ab75 + last_write_checksum: sha1:1c042021818d3e69d56f4a2c3d26608fddf8cdac + pristine_git_object: 80e3c2a2100bb327ec0a253cf4f173fabdef1705 src/cribl_control_plane/models/outputgooglechronicle.py: id: 717f58fbff8f - last_write_checksum: sha1:28d021437599fe5235c966e82b77442f4221832c - pristine_git_object: d41ea6b492f59e4daa9999ebca14781e88943262 + last_write_checksum: sha1:20ccdac34495ccf81c96a8a6b31495f0b6feb2d3 + pristine_git_object: be2f96f3ff787cce9b1b1109ae329eb7e4753f8b src/cribl_control_plane/models/outputgooglecloudlogging.py: id: d3df2bbac13a - last_write_checksum: sha1:b5d3ee90366e136907d4e19cffabd23a7d20f433 - pristine_git_object: 4af87d060aa9c2df077a197d5563f6e1d49efc5c + last_write_checksum: sha1:241073e132eaf21e004ac328f677493064cf9dd2 + pristine_git_object: 7062988777b6f76c627ff3c230cefb2ea427b501 src/cribl_control_plane/models/outputgooglecloudobservability.py: id: f11fd96444ab - last_write_checksum: sha1:c89419785f696ad13624c58c247efbc42b0ba451 - pristine_git_object: f11eff35e0035413209ae1d65ef91c6d400ce77f + last_write_checksum: sha1:3ff12c85a93b78fc0afda7a07a715ef18b1de0d6 + pristine_git_object: 850d4e50aad30b91b4b9bd0f1d225e2c2c7bb6b0 src/cribl_control_plane/models/outputgooglecloudstorage.py: id: 126a516f320f - last_write_checksum: sha1:f3183aedb3b735bc12e585a25380f43f3d9f9ee2 - pristine_git_object: 2f24308c6203416230ca4f1060ef1bb2138a131c + last_write_checksum: sha1:880ffb4443d03a7df11373e810437a779b5a4daa + pristine_git_object: 81a664f4af291c7e9d1eff909cff90efcef337c1 src/cribl_control_plane/models/outputgooglepubsub.py: id: 30d9ea9a5b6a - last_write_checksum: sha1:692c44f2a6e12ce812cd6389c1f44c266eacc2c8 - pristine_git_object: 70796c9eb1cbf01a40ab1ee3e0a7864b316cf9a4 + last_write_checksum: sha1:995413d4f71f9f78ef5d804496b50943e6199150 + pristine_git_object: 8198ad270f5388efcc6c413d50e4a2c138910edb src/cribl_control_plane/models/outputgrafanacloud_union.py: id: eae7011f596a - last_write_checksum: sha1:c799926846c8c9a9ad497ffa002b9214bb82d4f6 - pristine_git_object: 32656b818832d0bfaeb50c65f779ed078cd83e55 + last_write_checksum: sha1:89b864f5e0da455c92f74a040fbb023c2d47d7e5 + pristine_git_object: d8793936acd8d01d25ae1756de52e0818cb4aba9 src/cribl_control_plane/models/outputgraphite.py: id: 5e58ae16f2df - last_write_checksum: sha1:3403299aec81df9ee16fbce9fc1559e4d4d97c61 - pristine_git_object: fb2d38154c6e02efd40a287f54eb7500eb668d00 + last_write_checksum: sha1:50e88aeeace56a64c8fc8c9fe1571066e2de0129 + pristine_git_object: d4c6fc2418c062cf1b984eb6d20fdda49956f70a src/cribl_control_plane/models/outputhoneycomb.py: id: 822387de284b - last_write_checksum: sha1:6d363fc8e253528d44e7ecc312f3e63e292144c3 - pristine_git_object: 2a7427c6a6b2ed855233c9e1032b147e73e918ba + last_write_checksum: sha1:2d261b27fb8df7b33023352559016b799e06d6ab + pristine_git_object: ae78e79de1c739789299f908d2664ca4842d63be src/cribl_control_plane/models/outputhumiohec.py: id: 1c01655b0ac2 - last_write_checksum: sha1:bcdc66f7c04bc8de472fcbe2e3f1c716c254a6e7 - pristine_git_object: d985842664c1f48798379a2c68511e2689965464 + last_write_checksum: sha1:9ec3e6ae97f37e78c583e5d79b23d23253a95202 + pristine_git_object: 60ee3ffdf1bea85959d9c8048b96f2684330adf1 + src/cribl_control_plane/models/outputibmclouds3.py: + id: 6b76400c2c3f + last_write_checksum: sha1:dac88e4b6f19b2cbb1e6cd3685138c7f82349d9c + pristine_git_object: 67dc8410e03f091bbd6ec7f2090e1d940796a3e3 src/cribl_control_plane/models/outputinfluxdb.py: id: 8308228928ed - last_write_checksum: sha1:d0a831b07c138b13c1d0326b75a9e0d512784d92 - pristine_git_object: 2e829d2668181a7ffef28e2ebe278151ab5e5666 + last_write_checksum: sha1:eb023c661b4da6184da3ff9bc172377537b5be28 + pristine_git_object: 774a708f29ad3ec096a2f829be058eea0c020011 src/cribl_control_plane/models/outputkafka.py: id: 202570254d42 - last_write_checksum: sha1:ae3b55578767a5419bcb53775d162131a1b3e620 - pristine_git_object: 184d48ccd12df9cafd1b07baf918ca116201294a + last_write_checksum: sha1:2aae78e02179719183823a7c1bd764e45fac0b8f + pristine_git_object: 3c11af87c5b5997ac22a2021f201fb9f5827574f src/cribl_control_plane/models/outputkinesis.py: id: 6900942bed68 - last_write_checksum: sha1:5b6963caca05d1c00aa374b15bd39844bc96795e - pristine_git_object: c29b41b1e4af9aad8ad07120f4ea13edb8392573 + last_write_checksum: sha1:a2a4395a2a7a2f72be71b373dd9d594da4a72bf6 + pristine_git_object: 9009fb4081fd3b744f2e2a0d50c75eaaabfa693d src/cribl_control_plane/models/outputlocalsearchstorage.py: id: 3df06edb3e67 - last_write_checksum: sha1:5c1f72bbf17f32495f74c347b4a92a5b94328042 - pristine_git_object: 936c32437e8ea9b020d652d792e8c7e99bb27230 + last_write_checksum: sha1:621b260fbbffee025d309a53bb151411b41c31fa + pristine_git_object: bb368775b5fa62ebbd11ece5cb668947e82a132d src/cribl_control_plane/models/outputloki.py: id: f7d3deb1d817 - last_write_checksum: sha1:2f5fddb248e68da1979ea3b8b88e4211b995ae46 - pristine_git_object: 0e5341053722fe9f96efdf219a7928731bfd7a69 + last_write_checksum: sha1:392570ee0c1be7f727910598cd8daed3ff3de11d + pristine_git_object: 95c7b8494c3f6a5fe7fa7eb2aa1160fe709526fe src/cribl_control_plane/models/outputmicrosoftfabric.py: id: 326d51d445aa - last_write_checksum: sha1:cf460ae9da37cde349609c7dc1140044e77346f0 - pristine_git_object: 2f42dc4a92dd3f4a66f57010285a67e21c064cf1 + last_write_checksum: sha1:7ef306544f798df0a882446595e9ed2f15e1d533 + pristine_git_object: cd823d85342e1f48184674859cd27560fe21e9ef src/cribl_control_plane/models/outputminio.py: id: e191c9723ed4 - last_write_checksum: sha1:35f04c754ffea7ed0f616d23805c597076b6bcab - pristine_git_object: 8e383b49af1409c6ef3a2b1995d71ebfc6bf6113 + last_write_checksum: sha1:de1cf0532fe45999ed26b70f40888eb7a5693929 + pristine_git_object: e3d9f3c77258be6ff979965f91c17cd9fedca761 src/cribl_control_plane/models/outputmodeoptionssplunkcollectorconf.py: id: 0ca70006ddf8 last_write_checksum: sha1:7c124fdb84d01a8cc6328facd7ca44e578141981 pristine_git_object: 5c3adc5f060183d6fae6c04596ed0205351bc495 src/cribl_control_plane/models/outputmsk.py: id: e86d01b956e7 - last_write_checksum: sha1:a9175dc2b1315dc3a8ab0ee22f1dd5b1f00880b7 - pristine_git_object: a04a6131359f5d6625224afee7d51ae4173f2355 + last_write_checksum: sha1:33d52f91d9903c5da8421e571655d1a0ab62e91e + pristine_git_object: 88d828f8b9b4fcebe57d674eddb4cc9f9f2e730d src/cribl_control_plane/models/outputnetflow.py: id: 782b5754668c - last_write_checksum: sha1:78be1753d42c505d77a22eacdb04823d776d414f - pristine_git_object: eec09453a8f4ec879606043db018fcd1b72ba567 + last_write_checksum: sha1:6f10d55ab692329bda2f2f8aa333da5be2f05304 + pristine_git_object: ee6350fe0de969473aa6ee9b6a5d5b05c6dd0124 src/cribl_control_plane/models/outputnewrelic.py: id: e2b66e23cfc4 - last_write_checksum: sha1:93290b4d4a5f1458310dd6c9c83cfd515685cf5d - pristine_git_object: 2ebe8e284a077fe0dd94070af2e52c4d3b9b9a4a + last_write_checksum: sha1:f985a9f7de81c35b4e2943440a653f4fcf36fd39 + pristine_git_object: 1692a28c7b4b9746c1c80b1d5734074896279b16 src/cribl_control_plane/models/outputnewrelicevents.py: id: 22677112b0f4 - last_write_checksum: sha1:f81d2a39075beb4b8d8a5e6f65b679ee253eab76 - pristine_git_object: af51b452dea6047fa411978fc63a5c2c67499046 + last_write_checksum: sha1:219dc1b26e7930191a9874f9ef1ef9ca9aa0de52 + pristine_git_object: 3af8096e3516ea209fd5e1635c8c998bbc4ea351 src/cribl_control_plane/models/outputnutanixobjects.py: id: 06e928e8d424 - last_write_checksum: sha1:9118e5febefb7774af8ecc810b8370fcb3a951c2 - pristine_git_object: 58f7135cfe053ac08b4034acf52e73d3f5de6263 + last_write_checksum: sha1:7a60376487a87e8f64e772bbc5745331ccdc0990 + pristine_git_object: 39cc8a1c0ec70df55975c6593c5c0f92457eaeb7 src/cribl_control_plane/models/outputopentelemetry.py: id: bab5ab95ae20 - last_write_checksum: sha1:81d09dee73529655894323a183c4b583780fee94 - pristine_git_object: bf7a1eecca4b3ea2b491b281d09f7146bd2e8a52 + last_write_checksum: sha1:613d68136dcbfb3ef4844d7303e7b292584df60b + pristine_git_object: cb586c1b51b20678b821a54a6762d52a81e2f9ae src/cribl_control_plane/models/outputprometheus.py: id: 72d2d569cf4a - last_write_checksum: sha1:f17a870909a76a8f8765ba20aa5168b8a3549d7b - pristine_git_object: 077d4e9f2595b500368e29c935ce7c54e1d02ac5 + last_write_checksum: sha1:18ae9adb89efc7140d573f8c318d70afe5eef508 + pristine_git_object: cce34791f6ba9dc3db1a58a4b5ceca5fc810d522 src/cribl_control_plane/models/outputresponse.py: id: 57d67aee671b - last_write_checksum: sha1:5547467444bab0627fc7064d4678aca85b24aa1f - pristine_git_object: 023953b51485028ab85114e43c0d6a3afdeca34c - src/cribl_control_plane/models/outputresponse_outputwebhook_webhook_1.py: - id: 640a01736ecf - last_write_checksum: sha1:54a33d9283a67e97e23f1b475dda4a3872ed868c - pristine_git_object: 72317ca2d1efd4837cb7c45bb968cf26466149a9 - src/cribl_control_plane/models/outputresponse_pqcontrols_statsd.py: - id: 8c0ad63dc2fb - last_write_checksum: sha1:c021469bca35c0a37f4f0730c45b68050ede983e - pristine_git_object: 21b00623b58d6916e8281fcae5498c8b9739dc0d + last_write_checksum: sha1:9151226e849f6afcdb9cd937c753eff3e9ba8323 + pristine_git_object: 29fef139ad3355377df0f371b322e5d573103744 + src/cribl_control_plane/models/outputresponse_outputwebhook_authentication_type_1.py: + id: 8bcd3911d8b7 + last_write_checksum: sha1:7e9d35db1702d6d7a8522d05b58d7b63f40229cf + pristine_git_object: 6a189999afe3cf254f58bf13ab24a1908c486af3 + src/cribl_control_plane/models/outputresponse_pqcontrols_statsdext.py: + id: ed687995f568 + last_write_checksum: sha1:df195ea94c3b2f373580c645186b5138a5f7cbd7 + pristine_git_object: c5c08cde56e0df0c68bddd3dadf0641e0d166755 src/cribl_control_plane/models/outputring.py: id: 38852fbbc850 - last_write_checksum: sha1:7a6b9b46456b7afcf38e64fc3d11b004a91eb49b - pristine_git_object: 419a1eae4d557e461267950f55e779f89f179eff + last_write_checksum: sha1:a7a71e045233ae7adfaa004f81fba2f1de988037 + pristine_git_object: 29ea46ce8081c5237b3ca6746931df751a35c187 src/cribl_control_plane/models/outputrouter.py: id: 18dbd05c4d41 - last_write_checksum: sha1:df18a97788f17850dd959b7b5c817ef2001adbf1 - pristine_git_object: 22fd879077ad6774c9fab5c0147d6fdbdc4342f7 + last_write_checksum: sha1:071b0fc51304f7d19856f12ecc4966690feedd06 + pristine_git_object: 9f5d9960d93243ca7a05265f686e5b158185b044 src/cribl_control_plane/models/outputs3.py: id: 928b5c4d8c0f - last_write_checksum: sha1:2533f07cf3cc742c2face66b83f029e90f077152 - pristine_git_object: 31c03f8cf469022ac47ea9fb1e109d92e54b0051 + last_write_checksum: sha1:bd31200a9913121711d1a53d67f36a706878b3bf + pristine_git_object: c94c3e67ee3ac3965a3a23093a862e99efbe5b2c src/cribl_control_plane/models/outputsamplesresponse.py: id: 98ad9df47afa last_write_checksum: sha1:113756e3471a39fc7e9e9fe4a81c3227140235b6 pristine_git_object: b71777d8e85e160a956c1f0fb559fa38ac632958 src/cribl_control_plane/models/outputscalitys3.py: id: 0d47e50f21cf - last_write_checksum: sha1:2de6f54784e48ddd1585d05dbec3c3538ebe8efa - pristine_git_object: bbb9e03cb712519ff2dc55e5fb61aced993e1e12 + last_write_checksum: sha1:0ea8dc52835583764dedcfd0e5fa63c04d628e3c + pristine_git_object: 236d405e0a81e162e404b29278578697ea722e0d src/cribl_control_plane/models/outputsecuritylake.py: id: 0d22757eb1e1 - last_write_checksum: sha1:36358856188e2d0e4dca32af650002f95e2c4d36 - pristine_git_object: ff859148152c34091166f133e9bcf526b36625b4 + last_write_checksum: sha1:17259df281977e4267460d29db3793e278d2319f + pristine_git_object: 25cf33a87ce82a64248d5224c5d43bbe81df7eb4 src/cribl_control_plane/models/outputsentinel.py: id: 77df0de0dedb - last_write_checksum: sha1:f2192f474d6fedb9078bc52a96da529f0da40b02 - pristine_git_object: 02b0eb3b0f003d719d74fb777a807e92b1b390d2 + last_write_checksum: sha1:9cd84b4257b9327d5d9b8d38b7f7c28741a01d63 + pristine_git_object: 44c498e42697a8124068db9522c8fd83d1a4260c src/cribl_control_plane/models/outputsentineloneaisiem.py: id: b7fa883b72d0 - last_write_checksum: sha1:9db41781e42d4ff26b206bfab8c31a7d9fb867a3 - pristine_git_object: 7c5cafcd8c4ba8732c5549f32fddd10da95df61c + last_write_checksum: sha1:a96b3ac9e451641224bbc539292efa1165444ea1 + pristine_git_object: 5d8a84be14657fef53369d14ca4f0c6e121e4a7b src/cribl_control_plane/models/outputservicenow.py: id: aec9a128d45c - last_write_checksum: sha1:22f31fd1996230b8d6e2e357a85ae3b4f5f5503f - pristine_git_object: a91271847640bf4979e90006c7dc87377d17ccd0 + last_write_checksum: sha1:b1fdf8b9ca2eba8a0115c073f7beef960fc61744 + pristine_git_object: 5d3d6a3ac3e912b6c4ad447db50ca25b95c0da2b src/cribl_control_plane/models/outputsignalfx.py: id: dff4acd82968 - last_write_checksum: sha1:f077050020d35064da95db3329c1a5443b61ab04 - pristine_git_object: b204140c2a3854e212a271781d0b551055ddc4ca + last_write_checksum: sha1:9e3db36314675e5430b720ccdace5b2ae6d1a08e + pristine_git_object: 682768bfb959ed1fecddc8796135af2e22b6a821 src/cribl_control_plane/models/outputsnmp.py: id: 9559bffb693c - last_write_checksum: sha1:79dd87da0baca34a91f58b62471091c6e6f1213a - pristine_git_object: c193c2ff887be9604054911252b725c601b06515 + last_write_checksum: sha1:effbee6385157accdbc324fb6b101a759de5c219 + pristine_git_object: ba0843d1c59eb15a3806d2f1b6ed5d3a5462e9b9 src/cribl_control_plane/models/outputsns.py: id: 84468bbd28eb - last_write_checksum: sha1:2af95b196513f5b72c41e3d0a27469fd4c0a447a - pristine_git_object: 86b2623215af62ec4f59a5ff7b066f96ebaa39fc + last_write_checksum: sha1:1ad17d067b3f4f04688355b5bd7fa4e027062fa7 + pristine_git_object: 4fe8386c291408babcd12e0bfd9098ac7188c0dc src/cribl_control_plane/models/outputsplunk.py: id: 1a1157ebdbe2 - last_write_checksum: sha1:a15fa99b29831145e1d9fcc0db0c8319173db1e9 - pristine_git_object: 1b8cd72862db0c97a77322c4aaf56229c49d148f + last_write_checksum: sha1:8946994b7b15f691158011187eec35333fbabb01 + pristine_git_object: e5ad1d966743a2e3d13b626691243f42b2b2fed4 src/cribl_control_plane/models/outputsplunkhec.py: id: c90f358b1e4f - last_write_checksum: sha1:83df5762c0338dece325ebb294b9327a9f27b290 - pristine_git_object: a754e18036139af40da2820e3471ecf864ba3b57 + last_write_checksum: sha1:70e53933aff87cbf200bb00b763e1c4233ba8d74 + pristine_git_object: d0ab77298e57988fdcd6e5340afc315fbba5bba4 src/cribl_control_plane/models/outputsplunklb.py: id: 612f573663e5 - last_write_checksum: sha1:edd7f2589152d8a95a3b91b35fb9230069d6361f - pristine_git_object: 1f53a70369e5f92cde0ed6ae9c9f59b7c74c028c + last_write_checksum: sha1:429dc15bc533eec777ac234b367808d440f780da + pristine_git_object: ee2f38ec155690e6c7518d8ea389d3058bd2e9c2 src/cribl_control_plane/models/outputsqs.py: id: c2a5a299ea30 - last_write_checksum: sha1:f05848a7b96f667930004af496b26858c28b0389 - pristine_git_object: 8de71353252447c23a9e5f7fcd889d02d237ee31 + last_write_checksum: sha1:a9ffa08415ae17226b5b6ee76c8479ee22fd5615 + pristine_git_object: 09e2b8d01506ab45ba8b562626f90f18abdc715e src/cribl_control_plane/models/outputstatsd.py: id: 8ede6538e264 - last_write_checksum: sha1:2ede5b198f8a7e3a91ff081c1539d1c5d9d5fc5b - pristine_git_object: 69391eac6dee9efb1b157c735d31a7418eac03ed + last_write_checksum: sha1:2b20a3b373e9895be103e787fe7d140a84bda612 + pristine_git_object: 2c4a9f730c0dd5e5a59dd776d3c4afa68aed76ed src/cribl_control_plane/models/outputstatsdext.py: id: 5251bf08f571 - last_write_checksum: sha1:c46c0ec3e15c7356111c6c5a49e3284807a08561 - pristine_git_object: 7f5ebf35618c0e4a8aac59cef1e8b847a23d2749 + last_write_checksum: sha1:3cdd2bd88264864821c44a9946637a436c5c8f03 + pristine_git_object: 5a2a26196e9cb3576218f438ba4864e810e48573 src/cribl_control_plane/models/outputstatus.py: id: "8184519919e1" last_write_checksum: sha1:1a4a965e0fe7940e2e9069259c5c546ebc26f421 pristine_git_object: ae143abb49bfe85fb062fb4e5795d872be77ee0e src/cribl_control_plane/models/outputstorjs3.py: id: c71e28573252 - last_write_checksum: sha1:b3e4d1643f0fa66a88050ddcb9b276ca9782d2d2 - pristine_git_object: 5f8c9ec987ee07e97448e94ec2bb37d0ed0f37c3 + last_write_checksum: sha1:b74230fc5d6b25582bfeb43a122cf615b2c6d00f + pristine_git_object: e14be24b99d71ba432836f0269c1e6aa6d4d7adf src/cribl_control_plane/models/outputsumologic.py: id: 88423b91eec1 - last_write_checksum: sha1:8fc54a0ea50cd5f49f84d803b5bd754ffbc03d92 - pristine_git_object: 4e9d22774bf5e53c94e47e08c2e1a48242902cb6 + last_write_checksum: sha1:dac96228034b8493f05a78858a6aedd16022b217 + pristine_git_object: 88a4ffd2100514120eaebf1e42cf1c6282711331 src/cribl_control_plane/models/outputsyslog.py: id: ad0b252b64f8 - last_write_checksum: sha1:0ba6bd045f5ae4067eaad3536c210383b3e9701f - pristine_git_object: 2d028d5c17be464fc8b5b28ed017db6004eb8a9b + last_write_checksum: sha1:e3a52f5396277a0a024cba8d21ff3c890f9391eb + pristine_git_object: c113bf24ccc009e3196136a4d053728a312fd814 src/cribl_control_plane/models/outputtcpjson.py: id: d66a4d365e68 - last_write_checksum: sha1:ab9eff0704ad2cef4a019c02af1dbd02088a7a45 - pristine_git_object: 800565b9dd291356b7fa0b7b2510e1c4e80247d9 + last_write_checksum: sha1:c8044c90e91e53597017a6c5919c0e90034b440b + pristine_git_object: c20da1ee0d364742ad1f3d007e5b93d8028aa9f9 src/cribl_control_plane/models/outputtestrequest.py: id: 81e1b2c93c61 last_write_checksum: sha1:c19fbd6e6adfbef769fc89ee3870b58e5a074b61 @@ -19304,44 +19396,44 @@ trackedFiles: pristine_git_object: 5c19dd53957aaaf5f69693e7eeebf327a2baa870 src/cribl_control_plane/models/outputwavefront.py: id: 0898984eb08a - last_write_checksum: sha1:a3e9d6b436b278e480c317040a95df51b9da2e0a - pristine_git_object: 3170ed38a2908b0bea6021a07a16c5e01edfb516 + last_write_checksum: sha1:08f733c41cc9677b605ef2bd8ffa169159daa3f7 + pristine_git_object: 8dfafb8c2e25492592eafbcc4a5b7884d1f6a9a5 src/cribl_control_plane/models/outputwebhook_union.py: id: 478b65a93371 - last_write_checksum: sha1:d1f5bb7318cce7b4b1d80f98dade390696f0aa0b - pristine_git_object: 0775844dadc51d3cc63f7746c5edc035efb52d55 + last_write_checksum: sha1:c73e008f45bf61d98da848b931224509f3a98fdf + pristine_git_object: 264413dc89516cb19d25b790dee88d14daa930d7 src/cribl_control_plane/models/outputwizhec.py: id: f0a40a7a4458 - last_write_checksum: sha1:ec8e1da3751937e824be4ade02e11f723a8dbc52 - pristine_git_object: 44813e3bb12a53d3fd92d4435ceb6711a07123e8 + last_write_checksum: sha1:a17a56317a379a7957c698dcecb74810a17e2b05 + pristine_git_object: 710b17cce92ad5b54fae1f982494b7eb00e25610 src/cribl_control_plane/models/outputxsiam.py: id: 6c1c39431130 - last_write_checksum: sha1:1844aec1f465bde0bc9482e01655a6c701bd8ed9 - pristine_git_object: 4efd3adc65926d6d2b255974321f796e37ccf309 + last_write_checksum: sha1:f2512cf08b025c451f1f1de19bf3403f305b21a1 + pristine_git_object: a06f0c1b7163cb9e842506eda1b45500c6245fb9 src/cribl_control_plane/models/ownertypeheartbeatmetadatakube.py: id: 1a56c5e0e328 last_write_checksum: sha1:2d81b9b549005329e082a62b2417a2025aeecea3 pristine_git_object: 04386ef3d59a704de9644520b0caf824b0f20f0b src/cribl_control_plane/models/packinfo.py: id: 56a9348d2dd1 - last_write_checksum: sha1:c55f0501a58c99e64139733d9508a456266c9781 - pristine_git_object: df3f204610315c8b9677b40fb535da5154ed52dd + last_write_checksum: sha1:dc349aeaa078a1d460209693efaecbd15984487d + pristine_git_object: 8d6d940a4e6751b3fa5fb942094975e390efc654 src/cribl_control_plane/models/packinstallinfo.py: id: 55493bee8e50 - last_write_checksum: sha1:2e0d64520ac8b4258401437cac26087e0c59020b - pristine_git_object: 605f8c42cd0e61e0bdda1e10735bcc42c269ff76 + last_write_checksum: sha1:aca14dd47fdfbc1c5d27869145cae85b64e9f522 + pristine_git_object: 04f8b6caf26f3ee1f9144b78fa2c527000a301b8 src/cribl_control_plane/models/packrequestbody_union.py: id: e5e804cc4a6c - last_write_checksum: sha1:a2c3157706a11eb24237a246434ab66cc9d63116 - pristine_git_object: 7438010e11f7c95744b88ac00fe0e2741316aba2 + last_write_checksum: sha1:b3cb3ef460e9f7f9bc901dc43925f1e188fb1673 + pristine_git_object: c6b990037ec62469ec17bd10b94bbdd7b940df63 src/cribl_control_plane/models/packuninstallinfo.py: id: 1cb115a7bc49 - last_write_checksum: sha1:c13b5c219b39295923afcf8985c77f835a3bbddb - pristine_git_object: 0a1808dc235c9fd3c071477be8b4346878e0cff9 + last_write_checksum: sha1:a9a37070c4cfe7353ca82886b61f30e2bf88a9e6 + pristine_git_object: 02bb3815d459a63ad5a48ff61dad7cf640ea4ec3 src/cribl_control_plane/models/packupgraderequest.py: id: 754b5b0034de - last_write_checksum: sha1:b7a69bb68e300ab5cc9a82e553695d488d812e58 - pristine_git_object: d05d2953f6d8f9fce950a0024a3a11bbe5713bfd + last_write_checksum: sha1:1b7e1ee32857abfab901be59e3be5566f2e3335e + pristine_git_object: 1e6e54e627d0d64a60427478518e342c5e7bab0c src/cribl_control_plane/models/paginationoptionsrestdiscoverydiscovertypehttppagination.py: id: 7144e446a176 last_write_checksum: sha1:37cab1bad18d6ba169b12a1c96d125a6e378cc40 @@ -19372,36 +19464,36 @@ trackedFiles: pristine_git_object: 6ad6334607e56d417c36e6acf47dc4484262f6dc src/cribl_control_plane/models/pipelinefunctionaggregatemetrics.py: id: d01c836897e3 - last_write_checksum: sha1:e83385db7bb05e1cefc4066b8d8bd9bb89d1d15c - pristine_git_object: 7f27fd331cdd6e1ea05da41f3e485ef91c8ce592 + last_write_checksum: sha1:ffc3946e53fdadda0c3d656a5c0b6f52cb633b31 + pristine_git_object: 084891c2533fd8b952fd129badfd6bb6e73a99c0 src/cribl_control_plane/models/pipelinefunctionaggregation.py: id: adf42c4532d8 - last_write_checksum: sha1:18d87937807b526d79f85f417474821db67372d4 - pristine_git_object: d15de16b438fca83f4eb4a0e20ebedb0f0508ecd + last_write_checksum: sha1:e7fa116ad21323e8849eb7e093202088fe4d5f27 + pristine_git_object: cf0741e9ead13df07d62f82fb91d4dfee831787c src/cribl_control_plane/models/pipelinefunctionautotimestamp.py: id: 96fbadbf586b - last_write_checksum: sha1:7bd0fe0875332c632561f7d8b36ac8cb50be1717 - pristine_git_object: 59ac7161e3cc7860e4034d025301f02e3ae82c83 + last_write_checksum: sha1:00296e3d393b27915938757c8c13485139ef8f53 + pristine_git_object: 6dd3aa14fbc7feeac46b642ce65f372da0864ec6 src/cribl_control_plane/models/pipelinefunctioncef.py: id: 5524c10dd5bb - last_write_checksum: sha1:14ca7dcd6303a652bbf3b7466ffd8ccd58dec56b - pristine_git_object: 0e070df33658266e739387a9391fa625fa0abb04 + last_write_checksum: sha1:7f97f6c98839fac48488005ab95fd3c32bae5624 + pristine_git_object: 451623e55127af1a73fc9c9db0c889fe9b1ed7a5 src/cribl_control_plane/models/pipelinefunctionchain.py: id: 01552bc12a34 - last_write_checksum: sha1:8ce0ed869e06f272a140c7271b8ab2df13d85b35 - pristine_git_object: affe285ee0325b236a34a51024a77b9b9548cff4 + last_write_checksum: sha1:fd1a39d64fde4b7b5c022d30a2d8fb7ef1a0e7d4 + pristine_git_object: 986e0b5a543357b5fac2933d2218f8c052fc8647 src/cribl_control_plane/models/pipelinefunctionclone.py: id: 3b631700de6a - last_write_checksum: sha1:c51e71c8d01b740bad6f864ccb81cad676318c54 - pristine_git_object: 21a146155513a179a8c667d6421235f46b15d233 + last_write_checksum: sha1:222ad24d35133c9ea25d5d96c8c4e3559b2423fa + pristine_git_object: 089c22c0c908be41aaf11e26cb8fd32306477a21 src/cribl_control_plane/models/pipelinefunctioncode.py: id: 8164f8fd0df5 - last_write_checksum: sha1:d8453968a5e7232d8288e456587f3b52d8c7ea01 - pristine_git_object: acbef7beebeb5a2ae1df56549f85b8d014fb7c3b + last_write_checksum: sha1:d70cfef8a760387c472cc89d02839bdef1ec5d69 + pristine_git_object: 4245483e7896270b3b0371ce9433e3e31aefd59c src/cribl_control_plane/models/pipelinefunctioncomment.py: id: 505892931c96 - last_write_checksum: sha1:788c126d3c7a5a1d8c6da2b0d7b222b800f80182 - pristine_git_object: 1e869e3e4a7b1a21964430605e2b5049cea1cea2 + last_write_checksum: sha1:25efabe4bdb55feeaac4aee84c5e8ea4a67682f0 + pristine_git_object: 678cbef201b9343b6897afeb189728d8edae5a34 src/cribl_control_plane/models/pipelinefunctionconf.py: id: ad399d52be46 last_write_checksum: sha1:fbf5d7cd6378f41173573ecf73ce6053df5cb18e @@ -19412,252 +19504,252 @@ trackedFiles: pristine_git_object: bdb93a660fdcb8756849c4984c24ae44969f2d2b src/cribl_control_plane/models/pipelinefunctiondistinct.py: id: 9fd8d6382c8c - last_write_checksum: sha1:d13f7ac3907447021fa5363bde380297a7d36498 - pristine_git_object: 7f348fd6f1b69c655a45fd9e8fe93da2f4de34b6 + last_write_checksum: sha1:e4263e7cffa90f715271f9c12c64ac4bc1ed5bc2 + pristine_git_object: 5b288278b698bfc84c3b3f5b2c2a77af89ca7d17 src/cribl_control_plane/models/pipelinefunctiondnslookup.py: id: 241599ab0d53 - last_write_checksum: sha1:9fc86a008c20aa69f1627c04823d9a6fafdc3b99 - pristine_git_object: 705d3581c593f2c5da1b9dae19bec051932632f4 + last_write_checksum: sha1:b06c8a71e0926a361248e82ab8ea2e790f7802b5 + pristine_git_object: 0803d93ac284db6cbb067021a3a35162b8598c98 src/cribl_control_plane/models/pipelinefunctiondrop.py: id: cd9e5c5808cf - last_write_checksum: sha1:cb3f218491225e2721490c3a2b7ac9528c8f9922 - pristine_git_object: 3300c4f854e0efe04a9dcc63d786a5db42aecfb0 + last_write_checksum: sha1:1c0a3f628b33541a47f887357871d15f139ff048 + pristine_git_object: 26864732fad869418d6fe34905b43b7d7f1125b0 src/cribl_control_plane/models/pipelinefunctiondropdimensions.py: id: 12e2d69c5132 - last_write_checksum: sha1:3c5c316d304d5ecbfcee385998990c476e09ec46 - pristine_git_object: 804a26994d6b4e65f65c8ce39132f476978c0093 + last_write_checksum: sha1:5e67e584c5fd8c7e0d431d5d6452d832ce57d704 + pristine_git_object: c1263548978b2e35872f863e97eda122b1f2f1f1 src/cribl_control_plane/models/pipelinefunctiondynamicsampling.py: id: adc8d539c92c - last_write_checksum: sha1:e11fb39c2dd986686c61290b244368a7a8c41bd2 - pristine_git_object: ca0006e79b814a77745b49b74f98327d98343014 + last_write_checksum: sha1:65ddd7fd2878697315b90e602e290801d9f47f30 + pristine_git_object: 9acf316ceca815743e13349c52af038789b8b4d4 src/cribl_control_plane/models/pipelinefunctioneval.py: id: 7805c3e49451 - last_write_checksum: sha1:c7676aa477f4d615354a92d0a304575aa9ec1631 - pristine_git_object: 427975fd83d2b8bf02964ef53727b6907151c96c + last_write_checksum: sha1:7541257d0f363fad715b34afcb7e48dc56743f4b + pristine_git_object: cd1b9a644b78a3fb58dd1fa47128800cf3154331 src/cribl_control_plane/models/pipelinefunctioneventbreaker.py: id: 6394281c8801 - last_write_checksum: sha1:662b4e7d7fba868137acbf16fb62a6b7406f8c5f - pristine_git_object: 3ad1352edba58f27c1cd45f0b6d0d2da6a616826 + last_write_checksum: sha1:f1156c7c6e893ddee060a861d715abe8ba28aefa + pristine_git_object: a9e03623b8b5a10b14d46008141e5e5ccb8f5945 src/cribl_control_plane/models/pipelinefunctioneventstats.py: id: 22ab0971c75f - last_write_checksum: sha1:aa5bf4332a3ceb67a1682f8717d6b189d4c2ee78 - pristine_git_object: 86dd116776abe44fb7cd1177fa6326366bb37901 + last_write_checksum: sha1:f7e6e0a8097af87153edd17137ab66a2b0db0f36 + pristine_git_object: 674f7244ea8383f2390ab50aca7576a65ea5e3d7 src/cribl_control_plane/models/pipelinefunctionexternaldata.py: id: 11d136365c76 - last_write_checksum: sha1:e5a7e38338d8a88d0d1044b5eaf3f043f407797a - pristine_git_object: 7b90dc586431a002a13bd5745860f4d04530abd4 + last_write_checksum: sha1:ca4a9610e8a28e94ffb99b8feca5b5865440d802 + pristine_git_object: eb9d1bdca51960eeb1eb3df34c9c3d52a233715f src/cribl_control_plane/models/pipelinefunctionflatten.py: id: 4a7d0a817356 - last_write_checksum: sha1:aea43392a5a86b902868d006de6cf502cbf17880 - pristine_git_object: 0619f11c014cf752ecce71e24d1c78b8b891b474 + last_write_checksum: sha1:93d60c8eb1ec3ac53efd8ba14402360d7d4d54e8 + pristine_git_object: d42b510a0f659c57d5635e0c456a608c63e8b76d src/cribl_control_plane/models/pipelinefunctionfoldkeys.py: id: 100bcce6cb87 - last_write_checksum: sha1:1103a88debdecb23f5adc6ea1680f3e963103c5a - pristine_git_object: 28e7137a3411498b3e876dc654e77f9a9bb76541 + last_write_checksum: sha1:078d9d80c37c2ef54322a0eb3fc2a4794a7eae29 + pristine_git_object: 840863c81202394e8a0f7bacd6c7cad301f3eed3 src/cribl_control_plane/models/pipelinefunctiongenstats.py: id: a3f0a215fbaa - last_write_checksum: sha1:7beb092aff71d72a00690ab36ef9ddaa2d6581b0 - pristine_git_object: 14defcd2bcbde78dd5e4666bd06d2c30739b96ab + last_write_checksum: sha1:3135a7da780896b167382e64471780d8d5cd3175 + pristine_git_object: 1b7ed65e8407e9b1acdc079c2d9ed3f521f632f5 src/cribl_control_plane/models/pipelinefunctiongeoip.py: id: 917471f1f2d0 - last_write_checksum: sha1:2d97afa6d8463f0af5e30aa4caaf87d26efd860b - pristine_git_object: ff87d18c7fa3e3ea33f468e1a54384aab13a35ad + last_write_checksum: sha1:9ab175540b8a6d5e36e84574a8be789dd53c071e + pristine_git_object: dcba8d07d7f84edd85c8a2c23b9d1d1b664266ec src/cribl_control_plane/models/pipelinefunctiongrok.py: id: 5931223bb4ec - last_write_checksum: sha1:c2ceed9c26cf7f690353f9a8ed04ab4a12326db7 - pristine_git_object: 65e6923258c9f71e4e94fa65f4496f7304316bcb + last_write_checksum: sha1:6fe58df667dd5452c3dc87b047f9141cf48c11ad + pristine_git_object: f4cf280c8cd2cdcea119a8c2c5f3c3cdbc4be7b1 src/cribl_control_plane/models/pipelinefunctionhandlebars.py: id: c0ee13b00506 - last_write_checksum: sha1:e2b633830ff2e4d21f6282c35234111df93117fc - pristine_git_object: 86cc189754c1b6f09c3c64e7790b7fd490f10c55 + last_write_checksum: sha1:71644bfd6dbf504460764ff55bb56ec8da4dfd77 + pristine_git_object: 471c4a19197ab9cd771f6aced94e8e618b0f1aa5 src/cribl_control_plane/models/pipelinefunctionjoin.py: id: 8c92b9592ff9 - last_write_checksum: sha1:8929a28de46be905f0e65f7dccae3f4a29936da3 - pristine_git_object: 92aa71e0b4205a97e26f76fba90ee4ec5d4b4b8d + last_write_checksum: sha1:6ef2cd7e1f5a2326d8fece35a757fe50b0c05bd2 + pristine_git_object: da0de459bc2945e8c73e72a4fc67a2f7e0d5b654 src/cribl_control_plane/models/pipelinefunctionjsonunroll.py: id: 14222da5db91 - last_write_checksum: sha1:22eaf883ef9dba697b6731ff817a557101252220 - pristine_git_object: 54ab0a2805402ca047ed84b7ffb4d1c740f8ef0a + last_write_checksum: sha1:9e55aedcd0696b07ac8d6157d1596dc6d2093d94 + pristine_git_object: 27972bb5750141074bf3e6067c01146178877f1e src/cribl_control_plane/models/pipelinefunctionlakeexport.py: id: d79cb7f88104 - last_write_checksum: sha1:a4801fe98e6a17d9bd83c4a699463257e38b3672 - pristine_git_object: 9dbf30596b95df350461289f45a0fa0c85920ffd + last_write_checksum: sha1:8cf328ecf17fd4517f1da21af8a2851efb2862c6 + pristine_git_object: a207cd0693cab86c4fb294b5b2836fe5a3a2976b src/cribl_control_plane/models/pipelinefunctionlimit.py: id: f2ad728f585e - last_write_checksum: sha1:6c14725afd5d10c222fb01618563d70ee65eebb2 - pristine_git_object: b2d242a27a88ca9bb090da3cbefa2d7d7ac5a025 + last_write_checksum: sha1:4a9db9c48fc211a5afa7585648d09ddd152d9944 + pristine_git_object: ab11801a3d6c8679e6c202dd8ba9cf4a033a7632 src/cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py: id: 55b0c39a5254 - last_write_checksum: sha1:a6fd39f02083b9431dc9115f1b61ad37ae8c98d7 - pristine_git_object: e3e33aadfcc00f665666fb17f9a25a7372e3ed9c + last_write_checksum: sha1:449d5f32ccf88313093305f1fb1c9a2aa1c989bd + pristine_git_object: 1af2b84f468b26c3e29c883f3c3accef207e9993 src/cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py: id: 3bb492102436 - last_write_checksum: sha1:2cb583eec8797919cc8e2283a8aedaa7c999667a - pristine_git_object: 19b168dbe29a111ed6d982f38cacb00b23516ea1 + last_write_checksum: sha1:f0de034ec17174e4ceb5adfce4dd8498f891a257 + pristine_git_object: 4df92cb763e55ee2320e043cc9705d22ca04d4c8 src/cribl_control_plane/models/pipelinefunctionlocalsearchschemamapper.py: id: 7461c1d97cb0 - last_write_checksum: sha1:8967bee861a3bbf6843e9e14af1895d52dea99e8 - pristine_git_object: 014332224339942ec5d416fe9f22da1143bb0b2c + last_write_checksum: sha1:564ecb186d515bfb2fbb6b8c9d8f322434e7aa53 + pristine_git_object: e5e1ea88c75a162e2a753f89fa2a44f97744f838 src/cribl_control_plane/models/pipelinefunctionlocalsearchtimerangenormalizer.py: id: d1d45467bf17 - last_write_checksum: sha1:3e456ec94bc3dadc8484c56b0782a56dda489b4e - pristine_git_object: d469c0dd1f510a0cf36a853186ba16f85a790b50 + last_write_checksum: sha1:20ee334b725b46dfd8713fd8ed2bd789c65b7daf + pristine_git_object: 22d900ba4dc3d95dab0432acb1fe323f742c1367 src/cribl_control_plane/models/pipelinefunctionlocalsearchtransformer.py: id: f0e012acfd49 - last_write_checksum: sha1:21976c3c745a734390739d7da0ca1afeea1e1aed - pristine_git_object: 2ea8f5a9322a1e05b48c95620a26afb6234bd810 + last_write_checksum: sha1:c4546c0ec7c5dae873435fe1e61d14e6f68d6f45 + pristine_git_object: 8a750fef8d4e8f02bfb501ef8bce7801b8e5569b src/cribl_control_plane/models/pipelinefunctionlookup.py: id: 143755cb1cff - last_write_checksum: sha1:d6037a3ddbff0f3d1b5d9d136252586ad1e38600 - pristine_git_object: 19d3b2aa3513e90c183364fe9766b13a5b19dbac + last_write_checksum: sha1:e7ec675ba1b3e2402e06199c0446d496b46c4207 + pristine_git_object: fe2d6600d500bdf4fba11545ce0a0ca45d694380 src/cribl_control_plane/models/pipelinefunctionmask.py: id: e87736849af7 - last_write_checksum: sha1:493f68d4b47637ed33f2515b5c625c0315790728 - pristine_git_object: 60fddcb9f83fba8a29deebf0bcaa94cdd50599dc + last_write_checksum: sha1:4d9d9bd269a0a0e5a9f0dbfde9aa5227012458c2 + pristine_git_object: 501e7729efbc0ba719330f9e5ab3d89c612f9927 src/cribl_control_plane/models/pipelinefunctionmvexpand.py: id: 822e7c9897bd - last_write_checksum: sha1:8cc48a7ddfd5a123ba8bd9c242fa86d289f6a5b2 - pristine_git_object: 9f9e4dd99da6d7926ba9acb37fc65d9d570c6266 + last_write_checksum: sha1:09106ac9de88f2e0e46695fb5948823b40151484 + pristine_git_object: e30aa0733d046f6c602bd8c30c63f44137601503 src/cribl_control_plane/models/pipelinefunctionmvpull.py: id: 55cbf019c22d - last_write_checksum: sha1:35d2b047e23936bca2b30a98786606eeefe32bd0 - pristine_git_object: 62f33b1bab64bb9e0ac683ca6d2d805b935aac71 + last_write_checksum: sha1:7f51902f0785634df8d33080667a96ae4538c3b0 + pristine_git_object: 47e5b431446e286f803c0549d415790ad875bca2 src/cribl_control_plane/models/pipelinefunctionnotificationpolicies.py: id: 4db6404f762d - last_write_checksum: sha1:2ac631b7fc6c7df01e28567cdf3bb46ac0056038 - pristine_git_object: 4d8b556b9456bfb64887072e228610ae995d957c + last_write_checksum: sha1:87da74226fa89c6e74e0e0d3d636ec5dcbb2502d + pristine_git_object: 9792728aa1dfde9e560ab34a23d26d3959cdc1bb src/cribl_control_plane/models/pipelinefunctionnotifications.py: id: fd9e7af78756 - last_write_checksum: sha1:fdd9e14a7965033c97d97ac12076ee88e09d97d5 - pristine_git_object: 5740fe2a3d3c73802e8b554e6f0fe8d7e4a91efe + last_write_checksum: sha1:4b98841846212c01985f268a152d2d34b569caaa + pristine_git_object: 0515b268b04edb508f15b34fa5ccb6271c404478 src/cribl_control_plane/models/pipelinefunctionnotify.py: id: a9e95f6e63b5 - last_write_checksum: sha1:918dc59745043ac0d1f73c461f57c942ae09817d - pristine_git_object: ff64c2618a1576b6ebf37ae542165ee79cc077d2 + last_write_checksum: sha1:2d1befa3d181fccddb159770f4b0feea6f0228fd + pristine_git_object: 6ca78a482ed57bcfabd0e98b0131a89c9ecd622b src/cribl_control_plane/models/pipelinefunctionnumerify.py: id: 0770696eafcc - last_write_checksum: sha1:503546600f55bf58e28d30830e745750402ee6c1 - pristine_git_object: befab00b940b95e951cc479695a98f2750c47efc + last_write_checksum: sha1:7b404c104fb6fde8c2a8a07a12bafca11fff0ea3 + pristine_git_object: 11510a6d7486bcd4af6604682130490482a979ea src/cribl_control_plane/models/pipelinefunctionotlplogs.py: id: 7014d185f4dd - last_write_checksum: sha1:8256f00f5777a9b450896f1ac742e186484e29ca - pristine_git_object: 5417933df2f0a6150768f0fd10323f798d09187b + last_write_checksum: sha1:180eab291ef13765a10cd41cc5a3a3949cfa44f5 + pristine_git_object: 242e4f770f0b6f43e3b93425459aa8371e7958ec src/cribl_control_plane/models/pipelinefunctionotlpmetrics.py: id: 0c76c2d22447 - last_write_checksum: sha1:db8e79b7bfd7dfd64803afffcb2f67aa950c6089 - pristine_git_object: 97cfd0cdbb2fa8ca8748509f299ad1f357a9fc63 + last_write_checksum: sha1:695f177a125eed7dc75a04577e303012ce91eafe + pristine_git_object: 1545fd4d97b35ca9da1f4e5b4ea70b3733368fa0 src/cribl_control_plane/models/pipelinefunctionotlptraces.py: id: 6d1e69d689e9 - last_write_checksum: sha1:287752ebe9ab7e9bbdbe7496b23bd07550a7aadc - pristine_git_object: cecd8af4df8230f0452467c97e2ae852ee1373d4 + last_write_checksum: sha1:343c12fe7490b620558d46597f50660c1c3fb565 + pristine_git_object: f5abf27656d76fc460292cd8215c550f4cf4c43d src/cribl_control_plane/models/pipelinefunctionpack.py: id: 84a287ad7a49 - last_write_checksum: sha1:65a838fd33054db3ae2de12ae2be3e2ec379ccc9 - pristine_git_object: 4e285ae5ae8ba4aaa84101eaf319bbfea68e66cb + last_write_checksum: sha1:e7deb221c88781c0f9170923787645d459d7b340 + pristine_git_object: 29f32ef115a17bc3940a606aca6f5a0e12745e8b src/cribl_control_plane/models/pipelinefunctionpivot.py: id: 2c8c0fb95e27 - last_write_checksum: sha1:5ed21209c470c3d3a962783d8092b08a02369315 - pristine_git_object: 41d4cc716ab7bc89170dc4c96fef8202de3a68ff + last_write_checksum: sha1:ce1e5bdc7d72f68fa7a7ad05505337bbc5e28629 + pristine_git_object: 0fe0f9587dfb658ba23f3008ebd1a19a8314b8c7 src/cribl_control_plane/models/pipelinefunctionpublishmetrics.py: id: 6ca37f0b51f5 - last_write_checksum: sha1:2220819e96721d7028ee8be4f998be7aa16913f5 - pristine_git_object: e229c9f8b589e29d88e3d8e630689309755c69b7 + last_write_checksum: sha1:ebac7a5111e6d60a39eb40ee721d88854b6277a9 + pristine_git_object: 91c9ee02561d24174285eae749fc3e686400c116 src/cribl_control_plane/models/pipelinefunctionredis.py: id: b2958a41d50d - last_write_checksum: sha1:365a02197c14140f9b6661187408c4bf13f65d02 - pristine_git_object: 11d36412ee96051ef7bace4d48e09726a918d7c9 + last_write_checksum: sha1:ea4f7e69ab308819ecde1e4d7f096091d901244b + pristine_git_object: a2ff76d470ee534bde047bcedaffeb9741ae65b9 src/cribl_control_plane/models/pipelinefunctionregexextract.py: id: 959f758592c0 - last_write_checksum: sha1:d1e5adad0c1e26d28f594a1bf66e83bace2d801d - pristine_git_object: f2357775150b51db9ae9bccecdbeed8ccddaccb1 + last_write_checksum: sha1:6a76f74a4478a2fe3a13f3e8e370acf5ff8ee8d6 + pristine_git_object: 9a6c26928e9058fc994040bf4b5f63db9891232e src/cribl_control_plane/models/pipelinefunctionregexfilter.py: id: a56bee11e3d4 - last_write_checksum: sha1:599050370b06348ffedc3ce337a3ba2a7ad80b5b - pristine_git_object: ef89a2d3f1d6561771c5fe41c8f6a0b58786610b + last_write_checksum: sha1:3f1058d5ffd31a80966ce316b56ad3e1bdb7f7fc + pristine_git_object: 552c2c985de877deb7cbce8517c9dfad42ae01c7 src/cribl_control_plane/models/pipelinefunctionrename.py: id: 956e42901af6 - last_write_checksum: sha1:cf0d3c2faa979ae926c9d285768a6d35dd96a9da - pristine_git_object: fdc172494a4d7799799544f86be4caae1228e606 + last_write_checksum: sha1:d7382dca90f96fab45ec497a4f71e5f67bfe001f + pristine_git_object: 5933ed46cf173e179946492cdd524ae6ea90356f src/cribl_control_plane/models/pipelinefunctionrollupmetrics.py: id: 7ae49003cf85 - last_write_checksum: sha1:6c26a7db5694325bcf68a682aeab0b8944d74edb - pristine_git_object: 70fa991469c8063409694f3f51c7dfd4258bf10f + last_write_checksum: sha1:55e48194a2ff4975241fc3e937681e40bf959623 + pristine_git_object: 6cc0ef1f283b1287beb647281ab445c2fd286bc2 src/cribl_control_plane/models/pipelinefunctionsampling.py: id: b87f24912cb9 - last_write_checksum: sha1:3c4bb7d8868f9bf7465709ff65a793fb163d6ec9 - pristine_git_object: 28603c2b3508547b65511e6d39abd26d68fc6887 + last_write_checksum: sha1:446ba5429f51e61677dc385d6987d013264dea3d + pristine_git_object: 7c846d7e4e2f67ebf83c9b896091a0b1843881d1 src/cribl_control_plane/models/pipelinefunctionsearchengineexport.py: id: d8d1e299ad32 - last_write_checksum: sha1:9bafe72eec3c3614466ff1b06f839756fcc65f7d - pristine_git_object: 2820cb443296ba9e94fd3b693020ba04cf68ad77 + last_write_checksum: sha1:bb643c509dafbc3f6d31f831291d2b4d37244028 + pristine_git_object: 6556c00acf95992cbc927278a076557b5f528def src/cribl_control_plane/models/pipelinefunctionsend.py: id: 38b78364c6b9 - last_write_checksum: sha1:dba198258c7a5896a4d47b09cd5b361ee3163fea - pristine_git_object: f5888db732ebdbd208c28e925201174e5187afb2 + last_write_checksum: sha1:bc2267ed8a5a1c56a3059255427b0d07c271b6d6 + pristine_git_object: c3e0d97c79764e94a82b92be1eac1d72abbcd007 src/cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py: id: 5b27fd834cd4 - last_write_checksum: sha1:c9f5411f59d2c4eda2ae25c9d754149fd680c8f5 - pristine_git_object: 6eadf233644b6f917e7ada077f178f4ea6903154 + last_write_checksum: sha1:4b279255a77ab5e9dade6c4b7bf0bbdc4a97d843 + pristine_git_object: fdb01f4f95c1bb75cb11545e6b7819dc7f05ca4b src/cribl_control_plane/models/pipelinefunctionserde.py: id: dfec9a4e2e48 - last_write_checksum: sha1:67552d5830eb5af045f884ecc1f626ae555f8b8a - pristine_git_object: 56b2dc7ae9d2106f2288558b49c002996a2c52e2 + last_write_checksum: sha1:4d7676c1b9a4196bbeed8247c8af538b99ae589c + pristine_git_object: e885574640ec669c9da31aefa969d268246ab37c src/cribl_control_plane/models/pipelinefunctionserialize.py: id: 2a32d73034c2 - last_write_checksum: sha1:2c7085c0910c4a38ccfbd6f01eeff93e5ac9a117 - pristine_git_object: 0db5d95cd21718fd626de9ea8250ed994781daf1 + last_write_checksum: sha1:4aa11b035b3ca39b137b39cb733cde40af4f7b90 + pristine_git_object: 9f4b93ef31a0f9a4205f813aeef9d07aae39be91 src/cribl_control_plane/models/pipelinefunctionsidlookup.py: id: b397803e1837 - last_write_checksum: sha1:1df079cc6ab47e397a8dcb60c1d70d474e423766 - pristine_git_object: 1d8ddf70ec1c1bfce617837c03f0913a97df5e9b + last_write_checksum: sha1:a529a5e410b9c1c5115339c0b9d1b0dada8b306b + pristine_git_object: f976c76f8df7375c9f517b6f31c86ad4661bde34 src/cribl_control_plane/models/pipelinefunctionsignalfilter.py: id: 1f3da32feacd - last_write_checksum: sha1:cffdda14ef46d06b39914ac2bddf0cc616ced0ef - pristine_git_object: 727dd3018fcfb483586af1bc2354e91eb1070b46 + last_write_checksum: sha1:8995425561bb9351a0ca30f30df51be15199af26 + pristine_git_object: 12d8f9cfa3e5308a89e7296069b02727e3cb037b src/cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py: id: 57733556d5e6 - last_write_checksum: sha1:a47dd8e319906fa93fd0d4bf8a757ed9390d3e7c - pristine_git_object: 19005a162650fd5d96c2792b15c71e896d486fbe + last_write_checksum: sha1:97c89d5d6bcd6b12ea75dc52e78745d7fce381b2 + pristine_git_object: a076bdad564140f24f1c2146c26eebd313edfdbe src/cribl_control_plane/models/pipelinefunctionsort.py: id: 193e97ac9fd5 - last_write_checksum: sha1:5c95769d26d19b15d33cad02d46cd8b712be7032 - pristine_git_object: 0eccf8353841c744bbbf3c557f6e4ed14e0d003e + last_write_checksum: sha1:708821457046be45b7229acfc624401183799732 + pristine_git_object: 875ddce01e192c13e5f72a433752238f47cdec6d src/cribl_control_plane/models/pipelinefunctionstore.py: id: 7370e8642d01 - last_write_checksum: sha1:998e53c62796ff22a6122fae1713099a415005af - pristine_git_object: 5e8ea48de40e5d0b373bb14b088520269ffa5e37 + last_write_checksum: sha1:a173dca3b7a05577831b661b90962ed0fd724a3a + pristine_git_object: f93a89384666d5f894ddd972bf835f384f87d19b src/cribl_control_plane/models/pipelinefunctionsuppress.py: id: a07dc4c5c9e7 - last_write_checksum: sha1:f747dffb3eec18d420ddb2791db45b600e8e5971 - pristine_git_object: 8786688319730c5c683bf4bc84b6e50c5794b64a + last_write_checksum: sha1:28f14a17c4a7f34bd6eaf895455ec35a7d47f770 + pristine_git_object: 3f514ee8727712a011c2db9da961e074193e5eb0 src/cribl_control_plane/models/pipelinefunctiontee.py: id: f9c4ea0522f6 - last_write_checksum: sha1:ca361099546fe1e8b8db5f1a8fda4f3616bedb9a - pristine_git_object: 49d1abcdbd0797027992ff19ae6afc608cbf5277 + last_write_checksum: sha1:7246a3a86e65f801d55f6467063b1e55513c7ff7 + pristine_git_object: dc26578cc35902817150ca19fedb9123ac25229e src/cribl_control_plane/models/pipelinefunctiontrimtimestamp.py: id: 9531a70c58a5 - last_write_checksum: sha1:27ca5731489eb938f6e274b2bf68c03387137f1e - pristine_git_object: d77c0130d8da20f09307b564791e3971ddcdcac7 + last_write_checksum: sha1:23f60ebaafd9a81f1154e81e6358d712e6ce96cf + pristine_git_object: 0083bbf6d657d776d327db378f61b148249df456 src/cribl_control_plane/models/pipelinefunctionunion.py: id: 7f7f965adbb2 - last_write_checksum: sha1:f8601d0781ecc3847635aa478570297e963e6914 - pristine_git_object: fcf3bed80b9a5bf70223c92f8448a249cfb0a961 + last_write_checksum: sha1:dbb77009e8d604931d41ce3e737b7992c4e14c94 + pristine_git_object: d4b4f654695fcd16808d81337c4afb40ce96a857 src/cribl_control_plane/models/pipelinefunctionunroll.py: id: 9a7fd579eeba - last_write_checksum: sha1:77300f490c47faff8bcfb744ac0412c91fd58c8f - pristine_git_object: d895f83c49e515812242a129b1d142b14e48f613 + last_write_checksum: sha1:6d3256dbd94d6699014763fa0360a0eaddf9b6d5 + pristine_git_object: 18e211487507643b9b4bc827ddea784f91174980 src/cribl_control_plane/models/pipelinefunctionwindow.py: id: a3b3f908955b - last_write_checksum: sha1:9ccfa1953a7ffd26e05339eb217942c4025c611f - pristine_git_object: 4108c232a1a04904db93c9031faf46cd4a653bd9 + last_write_checksum: sha1:25f6adf4fe4d2f1c1dbaea91dfbbde9b1624fe76 + pristine_git_object: 7b4f9c0276d3534f347cc38e95f70cd08e100d2b src/cribl_control_plane/models/pipelinefunctionxmlunroll.py: id: dc7d73ccfc74 - last_write_checksum: sha1:35cc8f9aa4c21450c8da07d30bc5ab38bbf0367c - pristine_git_object: 4b23ebce5804216d7ff8d45f1fbe8a395165a29a + last_write_checksum: sha1:d3481f5c56c647e18687bccea282d66a0042ed0c + pristine_git_object: 6a4a6f193130f8a0b50f59c8c33edb33d8ca3896 src/cribl_control_plane/models/pqtype.py: id: 20c891c56168 - last_write_checksum: sha1:891d20d7fa81a9934b134514216df02f3532bd05 - pristine_git_object: c06acaf8fa812f9b7c2da19795908305418c4670 + last_write_checksum: sha1:dbf7169ea3b81b2c4246cfdd10087812be1a71d5 + pristine_git_object: 4e92cd7d82af94e564cff3ddc7d01f9c03370837 src/cribl_control_plane/models/preprocesstype.py: id: 81b715137f24 last_write_checksum: sha1:017c57fff5b89f4b8f9bf9bed772ac84abb0fdaa @@ -19988,8 +20080,8 @@ trackedFiles: pristine_git_object: 1452da36dd3199f9f26b17964c842e6091e3e460 src/cribl_control_plane/models/tagstypepackinstallinfo.py: id: e013b02da9b8 - last_write_checksum: sha1:2f437edd64179d7be14e2ace1ab0bb4f062a76e9 - pristine_git_object: 940873a318f01b43752d29f7a18ee454171c6f55 + last_write_checksum: sha1:78b21f4f82255241b5fb6834685b1d486f7d389b + pristine_git_object: b64f92afc2762dc03beb13b738c58ccfe43ddfdc src/cribl_control_plane/models/targetcontext.py: id: f07bc3268872 last_write_checksum: sha1:5609bf2218a5c0dacbfeed8da6d533268cf71df7 @@ -20056,8 +20148,8 @@ trackedFiles: pristine_git_object: bdb3346c3d1f39ce13ad4a47bd72a1a5f6e0933a src/cribl_control_plane/models/tlssettingsserversidetype.py: id: 812bd0e9776f - last_write_checksum: sha1:8c2691b315b3eee825e485aa0a44e5a8e9a6c75d - pristine_git_object: 45fb67c997d176896189d8cae8e4b75d977c5bd4 + last_write_checksum: sha1:a3c21d94e002b5a249a9a94acf2d444fca7d0275 + pristine_git_object: 99f87f94e5038f60599dc2deaf9d15c6910d361b src/cribl_control_plane/models/typeoptions.py: id: 57c40538e449 last_write_checksum: sha1:d0dc31c97081762e63379969e75410d77732fe92 @@ -20112,8 +20204,8 @@ trackedFiles: pristine_git_object: cd0317699fb84ef828fa48542cab76bafd26e989 src/cribl_control_plane/models/updatepacksbyidop.py: id: 52e6ae0c0cfd - last_write_checksum: sha1:dca590495d6703cce901efe65051db5f7de228c3 - pristine_git_object: 1f479860baa01dfed0cbf4649a9ea79b865de4a7 + last_write_checksum: sha1:8e4fd91b81dc7c109b33f3dcd9237e7c876d00b0 + pristine_git_object: 5ea9d59b842c8aba86da66ea6a2fc0f71981d95e src/cribl_control_plane/models/updatepacksop.py: id: 4249b1bcad31 last_write_checksum: sha1:70cf2e68176508e4b29b14105d5a2a195fb01158 @@ -20132,12 +20224,12 @@ trackedFiles: pristine_git_object: effd244f1eb5479b62f01a28570ee8fbe7f83326 src/cribl_control_plane/models/updateroutesbyidop.py: id: 7f11d105d05c - last_write_checksum: sha1:7f4850bb4c086c3b647af474a62913fd866c6335 - pristine_git_object: ca8e1e02cd28eefc6f5628cc9b5e7ecbe1e87faa + last_write_checksum: sha1:f443bfc70de95b4e4a1f93d48f2e6d38b048368d + pristine_git_object: 0c9f32985eab19a01203496ad5addbbc98e07415 src/cribl_control_plane/models/updateroutesbypackandidop.py: id: 708e68d10bf4 - last_write_checksum: sha1:98e0444cc4be21a4ce3f878f05a2f721fc701e77 - pristine_git_object: 39f2bdf9a5929c6897d0e620c9e9e2ab1ec6e1b9 + last_write_checksum: sha1:0aea0e38d18c2df61784f609f24f681e0de3399e + pristine_git_object: 23dac400ad9d7364fc71dc264a04fa26b11b6b86 src/cribl_control_plane/models/updatesavedjobbyidop.py: id: 2b310577dbba last_write_checksum: sha1:7472e874eca27f903598cfb510d7a641c4122cb0 @@ -20160,8 +20252,8 @@ trackedFiles: pristine_git_object: bf7a323566c29fae1547afd39b36fe2922cd17a0 src/cribl_control_plane/models/uploadpackresponse.py: id: d5419a1fa8b8 - last_write_checksum: sha1:695b573e5dc7b71ad3e31b273a37acc9469679cd - pristine_git_object: 16b3bdc62087930e931d0a8c8eef1006019b13fd + last_write_checksum: sha1:bf711d36b8f3d96cdcbbccfbfab19c0ae08b051f + pristine_git_object: 0889109aec4f68a4ac5ade61cde65a1becd230a4 src/cribl_control_plane/models/urlconfoutputcriblhttp.py: id: 494069a918c1 last_write_checksum: sha1:84428bef5c8a08bf4a05be2620be5744cbc7fec9 @@ -20184,12 +20276,12 @@ trackedFiles: pristine_git_object: 57fb82b59dcff98b92faf0ac4c44733a89e2067b src/cribl_control_plane/packs.py: id: c77b21eb4262 - last_write_checksum: sha1:302c39bc13e2011e6b8084a6bedc9b858e5cd9ff - pristine_git_object: e80547cb60cd4345e4b159f18ab855c1995fa4cd + last_write_checksum: sha1:67bbeca23339fc871aa99400efc9b9295cb1265f + pristine_git_object: 2997812bbb861cec7ffd389d7c64be2b2bff84b7 src/cribl_control_plane/packs_destinations.py: id: c450853c5ba6 - last_write_checksum: sha1:0bb7ca03df900126288a3af8e52b41790b157318 - pristine_git_object: 962a0cb78dd99712e777f2e33f899739a60f5536 + last_write_checksum: sha1:890fa8b44c779d7de7890100661836c64e207943 + pristine_git_object: 11107caac50f42c7373a556f64b0a7764ee1303a src/cribl_control_plane/packs_destinations_pq.py: id: f732f776c1e8 last_write_checksum: sha1:1a943ca102b29ea120b070a47bab244e506734e9 @@ -20208,8 +20300,8 @@ trackedFiles: pristine_git_object: 37f41173a7ed9583aceeac79913c6ebfb9e98f9a src/cribl_control_plane/packs_routes.py: id: 6f322a6e1e21 - last_write_checksum: sha1:563acf2ed4ea70b3f4a6b79a17d7c3b948fdd003 - pristine_git_object: e1dbbe4733c234cd91a626b7567f55fa49cd2646 + last_write_checksum: sha1:a430ac8932952d7e2c4eb6902236a451ad45a46c + pristine_git_object: abd684938fa001134b1672f41977b6f02d40dc07 src/cribl_control_plane/packs_samples.py: id: 5d0ef82251bf last_write_checksum: sha1:9158f154814ac318153eac12fbdbdbc0308c9ce3 @@ -20236,8 +20328,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 src/cribl_control_plane/routes_sdk.py: id: d47e5614f00e - last_write_checksum: sha1:dc3969a74d1675f0a0372464a0941238c9c25e73 - pristine_git_object: 54db9db6763583c9b9a04e92c60cbdeeac8b4e91 + last_write_checksum: sha1:354a9ddbf2af54ac3efa27f362e0b74ae7ed418e + pristine_git_object: ad5ce7a7db341939ae40f16b00a1cf165fcfb39b src/cribl_control_plane/samples.py: id: 18147abe7c06 last_write_checksum: sha1:e642914090cac6bc664650912c582694b2919e8d @@ -20348,8 +20440,8 @@ trackedFiles: pristine_git_object: 591415af8e64baa410627b507d2740afb5387d13 src/cribl_control_plane/utils/retries.py: id: 33a7d7545e57 - last_write_checksum: sha1:471372f5c5d1dd5583239c9cf3c75f1b636e5d87 - pristine_git_object: af07d4e941007af4213c5ec9047ef8a2fca04e5e + last_write_checksum: sha1:3585b891142f30a597fbf7a2f0340700babef8e4 + pristine_git_object: ca7b59efebbbd9545744d0207ef42725c4cc5143 src/cribl_control_plane/utils/security.py: id: e07fa3288aac last_write_checksum: sha1:cb4aa1d8a8315558b97f7bb409ff0f48ffd6514b @@ -23827,6 +23919,16 @@ examples: responses: "200": application/json: {} + OutputCreateExamplesibmCloudS3: + requestBody: + application/json: {"id": "ibm-cloud-s3-output", "type": "ibm_cloud_s3", "endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud", "bucket": "my-bucket", "stagePath": "/tmp/staging"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} getOutputById: speakeasy-default-get-output-by-id: parameters: @@ -25782,6 +25884,19 @@ examples: responses: "200": application/json: {} + UpdateOutputExamplesibmCloudS3: + parameters: + path: + id: "" + requestBody: + application/json: {"id": "ibm-cloud-s3-output", "type": "ibm_cloud_s3", "endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud", "bucket": "my-bucket", "stagePath": "/tmp/staging"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} deleteOutputById: speakeasy-default-delete-output-by-id: parameters: @@ -25996,14 +26111,14 @@ examples: id: "" responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} RoutesResponseExamplesMultiRouteTable: parameters: path: id: "" responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "sourcetype=='syslog'", "final": false, "id": "route-security", "name": "Security events", "output": "splunk-hec", "pipeline": "security-pipeline"}, {"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} updateRoutesById: speakeasy-default-update-routes-by-id: parameters: @@ -26076,7 +26191,7 @@ examples: application/json: {"id": "", "routes": []} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} RoutesResponseExamplesMultiRouteTable: parameters: path: @@ -26085,7 +26200,7 @@ examples: application/json: {"id": "", "routes": []} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "sourcetype=='syslog'", "final": false, "id": "route-security", "name": "Security events", "output": "splunk-hec", "pipeline": "security-pipeline"}, {"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} createRoutesAppendById: speakeasy-default-create-routes-append-by-id: parameters: @@ -26158,7 +26273,7 @@ examples: application/json: [] responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} RoutesResponseExamplesMultiRouteTable: parameters: path: @@ -26167,7 +26282,7 @@ examples: application/json: [] responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "sourcetype=='syslog'", "final": false, "id": "route-security", "name": "Security events", "output": "splunk-hec", "pipeline": "security-pipeline"}, {"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} listPipeline: speakeasy-default-list-pipeline: responses: @@ -27332,17 +27447,17 @@ examples: application/json: {"source": "https://packs.cribl.io/dl/cribl-duo-rest-io/latest/cribl-duo-rest-io-latest.crbl", "allowCustomFunctions": true, "force": true} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "source": "", "tags": {"domain": ["security", "observability"], "technology": ["aws", "splunk"]}, "version": "1.0.0"}]} "500": application/json: {"status": "error", "message": ""} "401": application/json: {"status": "error", "message": ""} PackInstallExamplesEmptyPack: requestBody: - application/json: {"id": "", "spec": "", "version": "", "minLogStreamVersion": "", "displayName": "Amely_Gusikowski", "author": "", "description": "crowded that truly sideboard ample yahoo gracious enraged", "source": "", "tags": {"dataType": ["double", "boolean"], "domain": ["delectable-transom.com", "radiant-sightseeing.info"], "streamtags": ["", "", ""], "technology": [""]}, "allowCustomFunctions": false, "force": true} + application/json: {"id": "", "spec": "", "version": "", "minLogStreamVersion": "", "displayName": "Amely_Gusikowski", "author": "", "description": "crowded that truly sideboard ample yahoo gracious enraged", "source": "", "tags": {"dataType": ["double", "boolean"], "domain": ["delectable-transom.com", "radiant-sightseeing.info"], "technology": [""], "streamtags": ["", "", ""]}, "allowCustomFunctions": false, "force": true} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "source": "", "tags": {"domain": ["security", "observability"], "technology": ["aws", "splunk"]}, "version": "1.0.0"}]} "500": application/json: {"status": "error", "message": ""} "401": @@ -27352,7 +27467,7 @@ examples: application/json: {"id": "cribl-search-missing-logs", "source": "cribl-search-missing-logs-1.0.1.Do7DH5I.crbl", "allowCustomFunctions": false} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "source": "", "tags": {"domain": ["security", "observability"], "technology": ["aws", "splunk"]}, "version": "1.0.0"}]} "500": application/json: {"status": "error", "message": ""} "401": @@ -27362,7 +27477,7 @@ examples: application/json: {"source": "https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl", "allowCustomFunctions": false} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "source": "", "tags": {"domain": ["security", "observability"], "technology": ["aws", "splunk"]}, "version": "1.0.0"}]} "500": application/json: {"status": "error", "message": ""} "401": @@ -27372,7 +27487,7 @@ examples: application/json: {"source": "git+https://github.com/criblio/cribl_ocsf_postprocessing", "allowCustomFunctions": false} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "source": "", "tags": {"domain": ["security", "observability"], "technology": ["aws", "splunk"]}, "version": "1.0.0"}]} "500": application/json: {"status": "error", "message": ""} "401": @@ -27611,7 +27726,7 @@ examples: application/json: {"source": "https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl"} responses: "200": - application/json: {} + application/json: {"items": [{"id": "", "source": "", "tags": {"domain": ["security", "observability"], "technology": ["aws", "splunk"]}, "version": "1.0.0"}]} "500": application/json: {"status": "error", "message": ""} "401": @@ -27915,7 +28030,7 @@ examples: speakeasy-default-get-system-settings-conf: responses: "200": - application/json: {} + application/json: {"items": [{"api": {"disabled": true, "host": "hateful-joy.com", "port": 7477.26}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": true}, "rollback": {}, "shutdown": {"drainTimeout": 3565.12}, "sni": {}, "system": {"intercom": false, "upgrade": "api"}, "tls": {}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 9739.37, "memory": 760.41, "minimum": 6053.76}}]} "500": application/json: {"status": "error", "message": ""} "401": @@ -27923,10 +28038,10 @@ examples: updateSystemSettingsConf: speakeasy-default-update-system-settings-conf: requestBody: - application/json: {"api": {"disabled": false, "host": "meaty-spring.biz", "port": 2424.38}, "backups": {"backupPersistence": "", "backupsDirectory": ""}, "pii": {"enablePiiDetection": false}, "proxy": {"useEnvVars": true}, "rollback": {"rollbackEnabled": false, "rollbackRetries": 3174.73, "rollbackTimeout": 1506.54}, "shutdown": {"drainTimeout": 3723.75}, "sni": {"disableSNIRouting": false}, "system": {"intercom": false, "upgrade": "api"}, "tls": {"defaultCipherList": "", "defaultEcdhCurve": "", "maxVersion": "", "minVersion": "", "rejectUnauthorized": true}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 2124.14, "memory": 20.53, "minimum": 6157.83}} + application/json: {"api": {"disabled": true, "host": "both-draw.com", "port": 3795.06}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": false}, "rollback": {}, "shutdown": {"drainTimeout": 5067.58}, "sni": {}, "system": {"intercom": false, "upgrade": "false"}, "tls": {}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 89.27, "memory": 1420.72, "minimum": 2424.38}} responses: "200": - application/json: {} + application/json: {"items": [{"api": {"disabled": true, "host": "both-draw.com", "port": 3795.06}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": false}, "rollback": {}, "shutdown": {"drainTimeout": 5067.58}, "sni": {}, "system": {"intercom": false, "upgrade": "false"}, "tls": {}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 89.27, "memory": 1420.72, "minimum": 2424.38}}]} "500": application/json: {"status": "error", "message": ""} "401": @@ -27936,7 +28051,7 @@ examples: application/json: {"api": {"disabled": false, "host": "0.0.0.0", "port": 9000, "ssl": {"certPath": "/opt/cribl/local/cribl/auth/cribl.crt", "disabled": false, "passphrase": "", "privKeyPath": "/opt/cribl/local/cribl/auth/cribl.key"}}, "backups": {"backupPersistence": "24h", "backupsDirectory": "$CRIBL_STATE_DIR/backups"}, "pii": {"enablePiiDetection": false}, "proxy": {"useEnvVars": false}, "rollback": {"rollbackEnabled": true}, "shutdown": {"drainTimeout": 10000}, "sni": {"disableSNIRouting": false}, "system": {"intercom": true, "upgrade": "api"}, "tls": {"defaultCipherList": "DEFAULT", "defaultEcdhCurve": "auto", "maxVersion": "TLSv1.3", "minVersion": "TLSv1.2", "rejectUnauthorized": true}, "upgradeGroupSettings": {"isRolling": true, "quantity": 100, "retryCount": 5, "retryDelay": 1000}, "upgradeSettings": {}, "workers": {"count": 0, "memory": 0, "minimum": 1}} responses: "200": - application/json: {} + application/json: {"items": [{"api": {"disabled": true, "host": "both-draw.com", "port": 3795.06}, "backups": {}, "pii": {}, "proxy": {"useEnvVars": false}, "rollback": {}, "shutdown": {"drainTimeout": 5067.58}, "sni": {}, "system": {"intercom": false, "upgrade": "false"}, "tls": {}, "upgradeGroupSettings": {}, "upgradeSettings": {}, "workers": {"count": 89.27, "memory": 1420.72, "minimum": 2424.38}}]} "500": application/json: {"status": "error", "message": ""} "401": @@ -28002,9 +28117,9 @@ examples: HealthExamplesHealthyPrimary: responses: "200": - application/json: {"role": "primary", "startTime": 1700000000000, "status": "healthy"} + application/json: {"overlay": {"state": "inactive"}, "role": "primary", "startTime": 1700000000000, "status": "healthy"} "420": - application/json: {"role": "primary", "startTime": 1700000000000, "status": "healthy"} + application/json: {"overlay": {"state": "inactive"}, "role": "primary", "startTime": 1700000000000, "status": "healthy"} listFunctionResponse: speakeasy-default-list-function-response: responses: @@ -28188,6 +28303,12 @@ examples: application/json: {"status": "error", "message": ""} "401": application/json: {"status": "error", "message": ""} + CollectorResponseExamplesRestCollector: + requestBody: + application/json: {"type": "collection", "collector": {"type": "azure_blob", "conf": {"authType": "clientCert", "storageAccountName": "", "tenantId": "", "clientId": "", "certificate": {"certificateName": ""}, "containerName": ""}}} + responses: + "200": + application/json: {"count": 1, "items": [{"type": "executor", "executor": {"type": ""}}]} getSavedJob: speakeasy-default-get-saved-job: parameters: @@ -28202,6 +28323,10 @@ examples: application/json: {"status": "error", "message": ""} "401": application/json: {"status": "error", "message": ""} + CollectorListResponseExamplesListed: + responses: + "200": + application/json: {"count": 2, "items": [{"type": "scheduledSearch", "collector": {"type": "google_cloud_storage", "conf": {"authType": "secret", "textSecret": "", "bucket": ""}}}, {"type": "executor", "savedQueryId": ""}]} deleteSavedJobById: speakeasy-default-delete-saved-job-by-id: parameters: @@ -28217,6 +28342,13 @@ examples: application/json: {"status": "error", "message": ""} "401": application/json: {"status": "error", "message": ""} + CollectorResponseExamplesRestCollector: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"type": "executor", "savedQueryId": ""}]} getSavedJobById: speakeasy-default-get-saved-job-by-id: parameters: @@ -28231,6 +28363,13 @@ examples: application/json: {"status": "error", "message": ""} "401": application/json: {"status": "error", "message": ""} + CollectorResponseExamplesRestCollector: + parameters: + path: + id: "" + responses: + "200": + application/json: {"count": 1, "items": [{"type": "executor", "executor": {"type": ""}}]} updateSavedJobById: CollectorExamplesRest: parameters: @@ -28382,6 +28521,132 @@ examples: application/json: {"status": "error", "message": ""} "401": application/json: {"status": "error", "message": ""} + UpdateCollectorExamplesRest: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "collection", "collector": {"type": "splunk", "conf": {"authentication": "token", "token": "", "searchHead": "", "search": "", "endpoint": "", "outputMode": "json"}}} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateCollectorExamplesS3: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "collection", "executor": {"type": ""}} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateCollectorExamplesFilesystem: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "collection", "collector": {"type": "splunk", "conf": {"authentication": "token", "token": "", "searchHead": "", "search": "", "endpoint": "", "outputMode": "json"}}} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateCollectorExamplesAzureBlob: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "scheduledSearch", "savedQueryId": ""} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateCollectorExamplesGoogleCloudStorage: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "collection", "executor": {"type": ""}} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateCollectorExamplesDatabase: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "scheduledSearch", "savedQueryId": ""} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateCollectorExamplesSplunk: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "collection", "collector": {"type": "splunk", "conf": {"authentication": "token", "token": "", "searchHead": "", "search": "", "endpoint": "", "outputMode": "json"}}} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateCollectorExamplesScript: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "collection", "collector": {"type": "splunk", "conf": {"authentication": "token", "token": "", "searchHead": "", "search": "", "endpoint": "", "outputMode": "json"}}} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + UpdateCollectorExamplesCriblLake: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "collection", "collector": {"type": "splunk", "conf": {"authentication": "token", "token": "", "searchHead": "", "search": "", "endpoint": "", "outputMode": "json"}}} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} + CollectorResponseExamplesRestCollector: + parameters: + path: + id: "" + requestBody: + application/json: {"type": "collection", "executor": {"type": ""}} + responses: + "200": + application/json: {"count": 1, "items": [{"type": "collection", "collector": {"type": "script", "conf": {"discoverScript": "", "collectScript": ""}}}]} createDatabaseConnectionConfig: DatabaseConnectionExamplesMySQLWithConnectionString: requestBody: @@ -30508,11 +30773,11 @@ examples: RoutesResponseExamplesDefaultRoutingTable: responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} RoutesResponseExamplesMultiRouteTable: responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "sourcetype=='syslog'", "final": false, "id": "route-security", "name": "Security events", "output": "splunk-hec", "pipeline": "security-pipeline"}, {"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} getInputSystemByPack: speakeasy-default-get-input-system-by-pack: parameters: @@ -34651,6 +34916,19 @@ examples: responses: "200": application/json: {} + OutputCreateExamplesibmCloudS3: + parameters: + path: + pack: "" + requestBody: + application/json: {"id": "ibm-cloud-s3-output", "type": "ibm_cloud_s3", "endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud", "bucket": "my-bucket", "stagePath": "/tmp/staging"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} getOutputSystemByPackAndId: speakeasy-default-get-output-system-by-pack-and-id: parameters: @@ -36771,6 +37049,20 @@ examples: responses: "200": application/json: {} + UpdateOutputExamplesibmCloudS3: + parameters: + path: + id: "" + pack: "" + requestBody: + application/json: {"id": "ibm-cloud-s3-output", "type": "ibm_cloud_s3", "endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud", "bucket": "my-bucket", "stagePath": "/tmp/staging"} + responses: + "200": + application/json: {} + "401": + application/json: {"status": "error", "message": ""} + "500": + application/json: {"status": "error", "message": ""} deleteOutputSystemByPackAndId: speakeasy-default-delete-output-system-by-pack-and-id: parameters: @@ -37135,7 +37427,7 @@ examples: pack: "" responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} RoutesResponseExamplesMultiRouteTable: parameters: path: @@ -37143,7 +37435,7 @@ examples: pack: "" responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "sourcetype=='syslog'", "final": false, "id": "route-security", "name": "Security events", "output": "splunk-hec", "pipeline": "security-pipeline"}, {"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} updateRoutesByPackAndId: RoutesUpdateExamplesBasicRoute: parameters: @@ -37222,7 +37514,7 @@ examples: application/json: {"id": "", "routes": []} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} RoutesResponseExamplesMultiRouteTable: parameters: path: @@ -37232,7 +37524,7 @@ examples: application/json: {"id": "", "routes": []} responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "sourcetype=='syslog'", "final": false, "id": "route-security", "name": "Security events", "output": "splunk-hec", "pipeline": "security-pipeline"}, {"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} getRoutesByPack: speakeasy-default-get-routes-by-pack: parameters: @@ -37249,14 +37541,14 @@ examples: pack: "" responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} RoutesResponseExamplesMultiRouteTable: parameters: path: pack: "" responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "sourcetype=='syslog'", "final": false, "id": "route-security", "name": "Security events", "output": "splunk-hec", "pipeline": "security-pipeline"}, {"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} createRoutesAppendByPackAndId: RoutesAppendExamplesSingleRoute: parameters: @@ -37335,7 +37627,7 @@ examples: application/json: [{"name": "", "pipeline": ""}] responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} RoutesResponseExamplesMultiRouteTable: parameters: path: @@ -37345,7 +37637,7 @@ examples: application/json: [] responses: "200": - application/json: {} + application/json: {"count": 1, "items": [{"id": "default", "routes": [{"disabled": false, "filter": "sourcetype=='syslog'", "final": false, "id": "route-security", "name": "Security events", "output": "splunk-hec", "pipeline": "security-pipeline"}, {"disabled": false, "filter": "true", "final": true, "id": "default", "name": "default", "output": "default", "pipeline": "main"}]}]} createSystemSettingsRestart: speakeasy-default-create-system-settings-restart: responses: @@ -39324,7 +39616,7 @@ generatedTests: updatePacksById: "2025-08-01T02:34:48Z" deleteGroupsById: "2025-08-04T02:32:44Z" updateGroupsById: "2025-08-04T02:32:44Z" -releaseNotes: "## Python SDK Changes:\n* `cribl_control_plane.sources.delete()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.sources.list()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.versions.statuses.get()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.versions.commits.files.list()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.versions.commits.files.count()`: \n * `response.items[].count` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.versions.commits.get()`: \n * `response.items[].diff_json[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.versions.commits.diff()`: \n * `response.items[].diff_json[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.versions.commits.create()`: \n * `response.items[].summary` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.sources.update()`: \n * `request.input` **Changed** (Breaking ⚠️)\n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.sources.get()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.sources.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.sources.list()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.pipelines.get()`: \n * `response.items[].conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.pipelines.update()`: \n * `request.conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `response.items[].conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.pipelines.delete()`: \n * `response.items[].conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.pipelines.create()`: \n * `request.conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `response.items[].conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.pipelines.list()`: \n * `response.items[].conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.sources.delete()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.sources.update()`: \n * `request.input` **Changed** (Breaking ⚠️)\n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.sources.get()`: \n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.pipelines.list()`: \n * `response.items[].conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.pipelines.create()`: \n * `request.conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `response.items[].conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.pipelines.get()`: \n * `response.items[].conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.pipelines.update()`: \n * `request.conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `response.items[].conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.pipelines.delete()`: \n * `response.items[].conf.functions[].union(notification_policies).conf.policies[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.sources.create()`: \n * `request_body` **Changed** (Breaking ⚠️)\n * `response.items[]` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `cribl_control_plane.packs.upload()`: `error` **Changed**\n* `cribl_control_plane.lakes.datasets.create()`: \n * `request.storage_class` **Changed**\n * `response.items[].storage_class` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.packs.routes.append()`: `error` **Changed**\n* `cribl_control_plane.packs.routes.get()`: `error` **Changed**\n* `cribl_control_plane.packs.routes.list()`: `error` **Changed**\n* `cribl_control_plane.packs.delete()`: `error` **Changed**\n* `cribl_control_plane.packs.update()`: `error` **Changed**\n* `cribl_control_plane.packs.get()`: `error` **Changed**\n* `cribl_control_plane.packs.sources.hec_tokens.create()`: `error` **Changed**\n* `cribl_control_plane.packs.sources.hec_tokens.update()`: `error` **Changed**\n* `cribl_control_plane.packs.sources.pq.clear()`: `error` **Changed**\n* `cribl_control_plane.packs.sources.pq.get()`: `error` **Changed**\n* `cribl_control_plane.packs.sources.statuses.list()`: `error` **Changed**\n* `cribl_control_plane.packs.sources.statuses.get()`: `error` **Changed**\n* `cribl_control_plane.packs.destinations.list()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.create()`: \n * `request_body` **Changed**\n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.get()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.update()`: \n * `request.output` **Changed**\n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.delete()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.packs.destinations.pq.clear()`: `error` **Changed**\n* `cribl_control_plane.packs.destinations.pq.get()`: `error` **Changed**\n* `cribl_control_plane.packs.destinations.samples.get()`: `error` **Changed**\n* `cribl_control_plane.packs.destinations.samples.create()`: `error` **Changed**\n* `cribl_control_plane.packs.destinations.statuses.list()`: `error` **Changed**\n* `cribl_control_plane.packs.destinations.statuses.get()`: `error` **Changed**\n* `cribl_control_plane.groups.update()`: \n * `request.collectors_ha_enabled` **Added**\n * `response.items[].collectors_ha_enabled` **Added**\n * `error` **Changed**\n* `cribl_control_plane.packs.list()`: `error` **Changed**\n* `cribl_control_plane.packs.install()`: `error` **Changed**\n* `cribl_control_plane.groups.get()`: \n * `response.items[].collectors_ha_enabled` **Added**\n * `error` **Changed**\n* `cribl_control_plane.collectors.delete()`: `error` **Changed**\n* `cribl_control_plane.groups.list()`: \n * `response.items[].collectors_ha_enabled` **Added**\n * `error` **Changed**\n* `cribl_control_plane.groups.create()`: \n * `request.collectors_ha_enabled` **Added**\n * `response.items[].collectors_ha_enabled` **Added**\n * `error` **Changed**\n* `cribl_control_plane.collectors.update()`: `error` **Changed**\n* `cribl_control_plane.functions.list()`: `error` **Changed**\n* `cribl_control_plane.collectors.list()`: `error` **Changed**\n* `cribl_control_plane.groups.deploy()`: \n * `response.items[].collectors_ha_enabled` **Added**\n * `error` **Changed**\n* `cribl_control_plane.groups.acl.get()`: `error` **Changed**\n* `cribl_control_plane.groups.acl.teams.get()`: `error` **Changed**\n* `cribl_control_plane.groups.configs.versions.get()`: `error` **Changed**\n* `cribl_control_plane.nodes.count()`: `error` **Changed**\n* `cribl_control_plane.nodes.list()`: \n * `response.items[].info.cribl.config.teams_rev` **Added**\n * `error` **Changed**\n* `cribl_control_plane.nodes.get()`: \n * `response.items[].info.cribl.config.teams_rev` **Added**\n * `error` **Changed**\n* `cribl_control_plane.nodes.restart()`: `error` **Changed**\n* `cribl_control_plane.nodes.summaries.get()`: `error` **Changed**\n* `cribl_control_plane.lakes.datasets.list()`: \n * `request.exclude_netskope` **Added**\n * `response.items[].storage_class` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.packs.routes.update()`: `error` **Changed**\n* `cribl_control_plane.lakes.datasets.get()`: \n * `response.items[].storage_class` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.lakes.datasets.update()`: \n * `request.storage_class` **Changed**\n * `response.items[].storage_class` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.lakes.datasets.delete()`: \n * `response.items[].storage_class` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.routes.list()`: `error` **Changed**\n* `cribl_control_plane.routes.get()`: `error` **Changed**\n* `cribl_control_plane.routes.update()`: `error` **Changed**\n* `cribl_control_plane.routes.append()`: `error` **Changed**\n* `cribl_control_plane.system.captures.create()`: `error` **Changed**\n* `cribl_control_plane.system.settings.restart()`: `error` **Changed**\n* `cribl_control_plane.system.settings.cribl.list()`: \n * `response.items[].workers.worker_thread_pool_size` **Added**\n * `error` **Changed**\n* `cribl_control_plane.system.settings.cribl.update()`: \n * `request.workers.worker_thread_pool_size` **Added**\n * `response.items[].workers.worker_thread_pool_size` **Added**\n * `error` **Changed**\n* `cribl_control_plane.collectors.get()`: `error` **Changed**\n* `cribl_control_plane.collectors.create()`: `error` **Changed**\n* `cribl_control_plane.groups.delete()`: \n * `response.items[].collectors_ha_enabled` **Added**\n * `error` **Changed**\n* `cribl_control_plane.database_connections.delete()`: \n * `response.items[].tls` **Added**\n * `error` **Changed**\n* `cribl_control_plane.auth.tokens.get()`: `error` **Changed**\n* `cribl_control_plane.sources.hec_tokens.create()`: `error` **Changed**\n* `cribl_control_plane.sources.hec_tokens.update()`: `error` **Changed**\n* `cribl_control_plane.sources.pq.get()`: `error` **Changed**\n* `cribl_control_plane.sources.pq.clear()`: `error` **Changed**\n* `cribl_control_plane.sources.statuses.list()`: `error` **Changed**\n* `cribl_control_plane.sources.statuses.get()`: `error` **Changed**\n* `cribl_control_plane.destinations.list()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.destinations.create()`: \n * `request` **Changed**\n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.destinations.get()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.destinations.update()`: \n * `request.output` **Changed**\n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.destinations.delete()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.destinations.pq.clear()`: `error` **Changed**\n* `cribl_control_plane.destinations.pq.get()`: `error` **Changed**\n* `cribl_control_plane.destinations.samples.get()`: `error` **Changed**\n* `cribl_control_plane.destinations.samples.create()`: `error` **Changed**\n* `cribl_control_plane.destinations.statuses.list()`: `error` **Changed**\n* `cribl_control_plane.destinations.statuses.get()`: `error` **Changed**\n* `cribl_control_plane.versions.commits.list()`: `error` **Changed**\n* `cribl_control_plane.database_connections.update()`: \n * `request.tls` **Added**\n * `response.items[].tls` **Added**\n * `error` **Changed**\n* `cribl_control_plane.database_connections.get()`: \n * `response.items[].tls` **Added**\n * `error` **Changed**\n* `cribl_control_plane.versions.commits.push()`: `error` **Changed**\n* `cribl_control_plane.versions.commits.revert()`: `error` **Changed**\n* `cribl_control_plane.database_connections.create()`: \n * `request.tls` **Added**\n * `response.items[].tls` **Added**\n * `error` **Changed**\n* `cribl_control_plane.versions.commits.undo()`: `error` **Changed**\n* `cribl_control_plane.database_connections.list()`: \n * `response.items[].tls` **Added**\n * `error` **Changed**\n* `cribl_control_plane.health.get()`: `error` **Changed**\n* `cribl_control_plane.versions.branches.list()`: `error` **Changed**\n* `cribl_control_plane.versions.branches.get()`: `error` **Changed**\n* `cribl_control_plane.versions.configs.get()`: `error` **Changed**\n* `cribl_control_plane.functions.get()`: `error` **Changed**\n" +releaseNotes: "## Python SDK Changes:\n* `cribl_control_plane.packs.update()`: `request.minor` **Changed** (Breaking ⚠️)\n* `cribl_control_plane.packs.destinations.update()`: \n * `request.output` **Changed**\n * `response.items[]` **Changed**\n * `error.status[404]` **Added**\n* `cribl_control_plane.packs.destinations.delete()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n* `cribl_control_plane.health.get()`: \n * `response.overlay` **Added**\n * `error.overlay` **Added**\n* `cribl_control_plane.functions.list()`: `request.show_hidden` **Added**\n* `cribl_control_plane.packs.routes.update()`: `error.status[404]` **Added**\n* `cribl_control_plane.packs.routes.append()`: `error` **Changed**\n* `cribl_control_plane.packs.destinations.list()`: \n * `request.type` **Changed**\n * `response.items[]` **Changed**\n* `cribl_control_plane.packs.destinations.create()`: \n * `request_body` **Changed**\n * `response.items[]` **Changed**\n * `error.status[409]` **Added**\n* `cribl_control_plane.database_connections.delete()`: `error.status[409]` **Added**\n* `cribl_control_plane.packs.destinations.get()`: `response.items[]` **Changed**\n* `cribl_control_plane.packs.routes.get()`: `error.status[404]` **Added**\n* `cribl_control_plane.routes.get()`: `error.status[404]` **Added**\n* `cribl_control_plane.routes.update()`: `error.status[404]` **Added**\n* `cribl_control_plane.routes.append()`: `error` **Changed**\n* `cribl_control_plane.destinations.list()`: \n * `request.type` **Changed**\n * `response.items[]` **Changed**\n* `cribl_control_plane.destinations.create()`: \n * `request` **Changed**\n * `response.items[]` **Changed**\n * `error.status[409]` **Added**\n* `cribl_control_plane.destinations.get()`: `response.items[]` **Changed**\n* `cribl_control_plane.destinations.update()`: \n * `request.output` **Changed**\n * `response.items[]` **Changed**\n * `error.status[404]` **Added**\n* `cribl_control_plane.destinations.delete()`: \n * `response.items[]` **Changed**\n * `error` **Changed**\n" generatedFiles: - .devcontainer/README.md - .devcontainer/devcontainer.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 265df8d0f..dfa7983d9 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -33,7 +33,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 0.9.0b5 + version: 0.9.0b6 additionalDependencies: dev: {} main: {} @@ -52,6 +52,7 @@ python: enableCustomCodeRegions: false enumFormat: enum envVarPrefix: CRIBLCONTROLPLANE + errorSchemaValidation: true eventStreamClassNames: async: EventStreamAsync sync: EventStream @@ -92,6 +93,7 @@ python: pytestTimeout: 0 rawResponseHelpers: false responseFormat: flat + responseSchemaValidation: true sseFlatResponse: false templateVersion: v2 useAsyncHooks: false diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index e6051877c..099835fea 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -17,7 +17,7 @@ info: - Host (Worker or Edge Node) context: /api/v1/w/{nodeId} - Search context: /api/v1/m/default_search - version: 4.19.0-alpha.1781564968784-83d7e3bb + version: 4.19.0-alpha.1781910200538-80d95f00 contact: name: Support url: https://portal.support.cribl.io @@ -1025,36 +1025,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - aggregate_metrics + description: Identifier of the Function. Always aggregate_metrics loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1179,36 +1201,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - aggregation + description: Identifier of the Function. Always aggregation loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1300,36 +1344,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - auto_timestamp + description: Identifier of the Function. Always auto_timestamp loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1387,36 +1453,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - cef + description: Identifier of the Function. Always cef loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1438,36 +1526,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - chain + description: Identifier of the Function. Always chain loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1496,36 +1606,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - clone + description: Identifier of the Function. Always clone loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1571,36 +1703,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - code + description: Identifier of the Function. Always code loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1624,36 +1778,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - comment + description: Identifier of the Function. Always comment loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1693,36 +1869,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - distinct + description: Identifier of the Function. Always distinct loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1856,36 +2054,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - dns_lookup + description: Identifier of the Function. Always dns_lookup loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1902,36 +2122,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - drop + description: Identifier of the Function. Always drop loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -1969,36 +2211,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - drop_dimensions + description: Identifier of the Function. Always drop_dimensions loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2052,36 +2316,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - dynamic_sampling + description: Identifier of the Function. Always dynamic_sampling loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2140,36 +2426,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - eval + description: Identifier of the Function. Always eval loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2245,36 +2553,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - event_breaker + description: Identifier of the Function. Always event_breaker loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2318,36 +2648,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - eventstats + description: Identifier of the Function. Always eventstats loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2364,36 +2716,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - externaldata + description: Identifier of the Function. Always externaldata loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2434,36 +2808,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - flatten + description: Identifier of the Function. Always flatten loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2502,36 +2898,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - foldkeys + description: Identifier of the Function. Always foldkeys loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2555,36 +2973,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - gen_stats + description: Identifier of the Function. Always gen_stats loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2638,36 +3078,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - geoip + description: Identifier of the Function. Always geoip loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2699,36 +3161,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - grok + description: Identifier of the Function. Always grok loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2792,36 +3276,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - handlebars + description: Identifier of the Function. Always handlebars loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2879,36 +3385,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - join + description: Identifier of the Function. Always join loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -2935,36 +3463,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - json_unroll + description: Identifier of the Function. Always json_unroll loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3010,36 +3560,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - lake_export + description: Identifier of the Function. Always lake_export loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3063,36 +3635,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - limit + description: Identifier of the Function. Always limit loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3109,36 +3703,59 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - local_search_datatype_parser + description: Identifier of the Function. Always + local_search_datatype_parser loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3176,36 +3793,59 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - local_search_ruleset_runner + description: Identifier of the Function. Always + local_search_ruleset_runner loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3222,36 +3862,59 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - local_search_schema_mapper + description: Identifier of the Function. Always + local_search_schema_mapper loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3268,36 +3931,59 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - local_search_time_range_normalizer + description: Identifier of the Function. Always + local_search_time_range_normalizer loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3314,36 +4000,59 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - local_search_transformer + description: Identifier of the Function. Always + local_search_transformer loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3458,36 +4167,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - lookup + description: Identifier of the Function. Always lookup loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3548,36 +4279,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - mask + description: Identifier of the Function. Always mask loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3629,36 +4382,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - mv_expand + description: Identifier of the Function. Always mv_expand loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3702,36 +4477,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - mv_pull + description: Identifier of the Function. Always mv_pull loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3841,36 +4638,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - notification_policies + description: Identifier of the Function. Always notification_policies loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -3901,36 +4720,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - notifications + description: Identifier of the Function. Always notifications loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4032,36 +4873,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - notify + description: Identifier of the Function. Always notify loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4136,36 +4999,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - numerify + description: Identifier of the Function. Always numerify loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4215,36 +5100,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - otlp_logs + description: Identifier of the Function. Always otlp_logs loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4305,36 +5212,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - otlp_metrics + description: Identifier of the Function. Always otlp_metrics loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4386,36 +5315,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - otlp_traces + description: Identifier of the Function. Always otlp_traces loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4443,36 +5394,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - pack + description: Identifier of the Function. Always pack loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4510,36 +5483,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - pivot + description: Identifier of the Function. Always pivot loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4626,36 +5621,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - publish_metrics + description: Identifier of the Function. Always publish_metrics loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4820,36 +5837,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - redis + description: Identifier of the Function. Always redis loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4903,36 +5942,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - regex_extract + description: Identifier of the Function. Always regex_extract loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -4971,36 +6032,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - regex_filter + description: Identifier of the Function. Always regex_filter loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5063,36 +6146,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - rename + description: Identifier of the Function. Always rename loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5138,36 +6243,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - rollup_metrics + description: Identifier of the Function. Always rollup_metrics loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5205,36 +6332,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - sampling + description: Identifier of the Function. Always sampling loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5276,36 +6425,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - search_engine_export + description: Identifier of the Function. Always search_engine_export loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5369,36 +6540,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - send + description: Identifier of the Function. Always send loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5476,36 +6669,59 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - sensitive_data_scanner + description: Identifier of the Function. Always + sensitive_data_scanner loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5644,36 +6860,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - serde + description: Identifier of the Function. Always serde loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5755,36 +6993,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - serialize + description: Identifier of the Function. Always serialize loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5821,36 +7081,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - sidlookup + description: Identifier of the Function. Always sidlookup loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5876,36 +7158,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - signal_filter + description: Identifier of the Function. Always signal_filter loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -5961,36 +7265,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - snmp_trap_serialize + description: Identifier of the Function. Always snmp_trap_serialize loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -6032,36 +7358,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - sort + description: Identifier of the Function. Always sort loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -6124,36 +7472,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - store + description: Identifier of the Function. Always store loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -6211,36 +7581,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - suppress + description: Identifier of the Function. Always suppress loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -6278,36 +7670,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - tee + description: Identifier of the Function. Always tee loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -6330,36 +7744,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - trim_timestamp + description: Identifier of the Function. Always trim_timestamp loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -6390,36 +7826,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - union + description: Identifier of the Function. Always union loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -6446,36 +7904,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - unroll + description: Identifier of the Function. Always unroll loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -6513,36 +7993,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - window + description: Identifier of the Function. Always window loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -6578,36 +8080,58 @@ components: properties: __filename: type: string + description: Path to the JavaScript file that implements the Function. asyncTimeout: type: number + description: Maximum time, in milliseconds, that the Function is allowed to run + asynchronously before timing out. cribl_version: type: string + description: Minimum Cribl version required by the Function, if applicable. disabled: type: boolean + description: If true, the Function is disabled and will not execute + in a Pipeline. Otherwise, false. group: type: string + description: Category group the Function belongs to. handleSignals: type: boolean + description: If true, the Function handles stream signals such as + flush and close. Otherwise, + false. id: type: string enum: - xml_unroll + description: Identifier of the Function. Always xml_unroll loadTime: type: number + description: Time the Function module was loaded, in milliseconds since the Unix + epoch. modTime: type: number + description: Time the Function module was last modified, in milliseconds since + the Unix epoch. name: type: string + description: Display name of the Function. sync: type: boolean + description: If true, the Function executes synchronously. + Otherwise, false. uischema: type: object additionalProperties: true + description: UI Schema that controls how the Function's configuration form is + rendered. version: type: string + description: Version string of the Function. schema: type: object additionalProperties: true + description: JSON Schema document that describes the Function configuration. required: - __filename - group @@ -6773,7 +8297,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always aggregate_metrics type: string enum: - aggregate_metrics @@ -6813,7 +8337,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always aggregation type: string enum: - aggregation @@ -6853,7 +8377,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always auto_timestamp type: string enum: - auto_timestamp @@ -6889,7 +8413,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always cef type: string enum: - cef @@ -6925,7 +8449,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always chain type: string enum: - chain @@ -6964,7 +8488,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always clone type: string enum: - clone @@ -7000,7 +8524,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always code type: string enum: - code @@ -7036,7 +8560,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always comment type: string enum: - comment @@ -7072,7 +8596,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always distinct type: string enum: - distinct @@ -7111,7 +8635,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always dns_lookup type: string enum: - dns_lookup @@ -7147,7 +8671,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always drop type: string enum: - drop @@ -7183,7 +8707,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always drop_dimensions type: string enum: - drop_dimensions @@ -7223,7 +8747,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always dynamic_sampling type: string enum: - dynamic_sampling @@ -7263,7 +8787,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always eval type: string enum: - eval @@ -7299,7 +8823,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always event_breaker type: string enum: - event_breaker @@ -7338,7 +8862,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always eventstats type: string enum: - eventstats @@ -7377,7 +8901,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always externaldata type: string enum: - externaldata @@ -7413,7 +8937,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always flatten type: string enum: - flatten @@ -7449,7 +8973,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always foldkeys type: string enum: - foldkeys @@ -7485,7 +9009,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always gen_stats type: string enum: - gen_stats @@ -7521,7 +9045,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always geoip type: string enum: - geoip @@ -7560,7 +9084,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always grok type: string enum: - grok @@ -7599,7 +9123,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always handlebars type: string enum: - handlebars @@ -7638,7 +9162,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always join type: string enum: - join @@ -7677,7 +9201,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always json_unroll type: string enum: - json_unroll @@ -7716,7 +9240,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always lake_export type: string enum: - lake_export @@ -7756,7 +9280,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always limit type: string enum: - limit @@ -7792,7 +9316,8 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always + local_search_datatype_parser type: string enum: - local_search_datatype_parser @@ -7828,7 +9353,8 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always + local_search_ruleset_runner type: string enum: - local_search_ruleset_runner @@ -7864,7 +9390,8 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always + local_search_schema_mapper type: string enum: - local_search_schema_mapper @@ -7900,7 +9427,8 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always + local_search_time_range_normalizer type: string enum: - local_search_time_range_normalizer @@ -7936,7 +9464,8 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always + local_search_transformer type: string enum: - local_search_transformer @@ -7972,7 +9501,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always lookup type: string enum: - lookup @@ -8011,7 +9540,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always mask type: string enum: - mask @@ -8050,7 +9579,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always mv_expand type: string enum: - mv_expand @@ -8089,7 +9618,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always mv_pull type: string enum: - mv_pull @@ -8130,7 +9659,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always notification_policies type: string enum: - notification_policies @@ -8166,7 +9695,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always notifications type: string enum: - notifications @@ -8207,7 +9736,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always notify type: string enum: - notify @@ -8252,7 +9781,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always numerify type: string enum: - numerify @@ -8288,7 +9817,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always otlp_logs type: string enum: - otlp_logs @@ -8324,7 +9853,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always otlp_metrics type: string enum: - otlp_metrics @@ -8360,7 +9889,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always otlp_traces type: string enum: - otlp_traces @@ -8396,7 +9925,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always pack type: string enum: - pack @@ -8435,7 +9964,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always pivot type: string enum: - pivot @@ -8476,7 +10005,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always publish_metrics type: string enum: - publish_metrics @@ -8512,7 +10041,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always redis type: string enum: - redis @@ -8551,7 +10080,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always regex_extract type: string enum: - regex_extract @@ -8590,7 +10119,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always regex_filter type: string enum: - regex_filter @@ -8626,7 +10155,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always rename type: string enum: - rename @@ -8662,7 +10191,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always rollup_metrics type: string enum: - rollup_metrics @@ -8698,7 +10227,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always sampling type: string enum: - sampling @@ -8734,7 +10263,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always search_engine_export type: string enum: - search_engine_export @@ -8774,7 +10303,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always send type: string enum: - send @@ -8813,7 +10342,8 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always + sensitive_data_scanner type: string enum: - sensitive_data_scanner @@ -8852,7 +10382,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always serde type: string enum: - serde @@ -8892,7 +10422,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always serialize type: string enum: - serialize @@ -8931,7 +10461,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always sidlookup type: string enum: - sidlookup @@ -8967,7 +10497,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always signal_filter type: string enum: - signal_filter @@ -9003,7 +10533,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always snmp_trap_serialize type: string enum: - snmp_trap_serialize @@ -9039,7 +10569,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always sort type: string enum: - sort @@ -9078,7 +10608,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always store type: string enum: - store @@ -9117,7 +10647,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always suppress type: string enum: - suppress @@ -9158,7 +10688,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always tee type: string enum: - tee @@ -9197,7 +10727,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always trim_timestamp type: string enum: - trim_timestamp @@ -9233,7 +10763,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always union type: string enum: - union @@ -9273,7 +10803,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always unroll type: string enum: - unroll @@ -9313,7 +10843,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always window type: string enum: - window @@ -9353,7 +10883,7 @@ components: type: string id: title: ID - description: Function ID + description: Identifier of the Function. Always xml_unroll type: string enum: - xml_unroll @@ -13795,6 +15325,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -13899,6 +15430,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -14113,6 +15645,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -14158,6 +15691,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -14416,6 +15950,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -14494,11 +16029,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - http disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -14660,6 +16197,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -14718,6 +16256,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -14861,6 +16400,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. useFwdTimezone: type: boolean title: Use Universal Forwarder time zone @@ -14943,6 +16483,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -15158,6 +16699,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -15230,11 +16772,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - splunk_hec disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -15307,6 +16851,7 @@ components: enabled: type: boolean title: Enable token + description: If true, the token is active and can be used for authentication. description: type: string title: Description @@ -15477,6 +17022,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -15519,6 +17065,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -15645,6 +17192,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. connectionString: type: string title: Connection string @@ -15737,11 +17285,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - elastic disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -15971,6 +17521,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -16039,6 +17590,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -16252,6 +17804,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -16290,11 +17843,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - grafana disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -16485,6 +18040,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -16534,11 +18090,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - loki disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -16672,6 +18230,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -16729,11 +18288,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - prometheus_rw disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -16867,6 +18428,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -16933,6 +18495,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -17063,6 +18626,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. targetList: type: array title: Targets @@ -17291,6 +18855,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -17398,6 +18963,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. targets: type: array title: Targets @@ -17657,6 +19223,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -17799,6 +19366,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. clientSecret: type: string title: Client secret @@ -17861,6 +19429,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -17989,6 +19558,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. clientSecret: type: string title: Client secret @@ -18045,6 +19615,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -18182,6 +19753,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -18272,6 +19844,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -18414,6 +19987,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. clientSecret: type: string title: Client secret @@ -18508,6 +20082,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -18722,6 +20297,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -18765,6 +20341,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -19052,6 +20629,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -19164,6 +20742,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. interval: type: number title: Interval @@ -19196,11 +20775,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - firehose disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -19332,6 +20913,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -19375,6 +20957,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -19487,6 +21070,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. orderedDelivery: type: boolean title: Ordered delivery @@ -19532,6 +21116,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -19582,6 +21167,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -19612,6 +21198,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -19718,6 +21305,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -19751,11 +21339,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - cribl_http disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -19888,6 +21478,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -19921,11 +21512,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - cribl_lake_http disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -20121,6 +21714,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -20179,6 +21773,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -20284,6 +21879,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. authToken: type: string title: Auth token @@ -20327,6 +21923,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -20640,6 +22237,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -20666,6 +22264,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -20855,6 +22454,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -20881,6 +22481,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -20985,6 +22586,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -21011,6 +22613,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -21124,6 +22727,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -21150,6 +22754,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -21204,6 +22809,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -21230,6 +22836,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -21474,6 +23081,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -21503,6 +23111,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -21695,6 +23304,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -21780,11 +23390,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - datadog_agent disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -21935,6 +23547,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -21972,6 +23585,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22039,6 +23653,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -22062,11 +23677,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - http_raw disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22236,6 +23853,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -22284,6 +23902,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22456,6 +24075,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -22536,6 +24156,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22598,6 +24219,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -22627,6 +24249,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22718,6 +24341,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -22760,6 +24384,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -22971,6 +24596,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -23058,6 +24684,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -23277,6 +24904,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -23367,6 +24995,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -23496,6 +25125,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -23529,11 +25159,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - open_telemetry disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -23760,6 +25392,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -23830,6 +25463,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -23901,6 +25535,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -23939,6 +25574,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -24089,6 +25725,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -24178,6 +25815,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -24339,6 +25977,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. enableEnhancedProxyHeaderParsing: type: boolean title: Enable enhanced TLS handshake for proxy protocol @@ -24395,6 +26034,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -24529,6 +26169,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. path: type: string title: Search path @@ -24597,6 +26238,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -24722,6 +26364,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. authToken: type: string title: Auth token @@ -24769,6 +26412,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -24943,6 +26587,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. host: type: string title: Address @@ -25013,6 +26658,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25325,6 +26971,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. logFingerprintMismatch: type: boolean title: Log CA fingerprint mismatch warning @@ -25378,6 +27025,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25485,6 +27133,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. disableJsonRendering: type: boolean title: Render event message strings @@ -25522,6 +27171,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25591,6 +27241,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -25619,6 +27270,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25708,6 +27360,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -25745,6 +27398,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -25842,6 +27496,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -25872,6 +27527,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -26069,6 +27725,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. clientSecret: type: string title: Client secret @@ -26120,6 +27777,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -26347,6 +28005,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -26381,11 +28040,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - wiz_webhook disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -26555,6 +28216,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -26603,6 +28265,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -26709,6 +28372,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -26746,6 +28410,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -26952,6 +28617,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -27045,6 +28711,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -27235,6 +28902,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. credentialsSecret: type: string title: Credentials secret @@ -27361,11 +29029,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - zscaler_hec disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -27574,6 +29244,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -27631,11 +29302,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - cloudflare_hec disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -27869,6 +29542,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -27926,11 +29600,13 @@ components: description: Unique ID for this input type: type: string + description: Source type identifier. enum: - sysdig_hec disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -28100,6 +29776,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -28162,6 +29839,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -28305,6 +29983,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. workspaceId: type: string title: Workspace ID @@ -28384,6 +30063,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -28526,6 +30206,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -28554,6 +30235,7 @@ components: disabled: type: boolean title: Disabled + description: If true, the Source is disabled and will not collect data. pipeline: type: string title: Pipeline @@ -28665,6 +30347,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_environment: type: string description: Binds 'environment' to a variable for dynamic value resolution. Set @@ -29792,6 +31475,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. customSourceExpression: type: string title: Source expression @@ -30232,6 +31916,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. format: enum: - ndjson @@ -30666,6 +32351,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. loadBalanced: type: boolean title: Load balancing @@ -30921,6 +32607,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. maxFailedHealthChecks: type: number title: Failed health check limit @@ -31146,6 +32833,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. maxFailedHealthChecks: type: number title: Failed health check limit @@ -31463,6 +33151,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. url: type: string title: Splunk HEC Endpoint @@ -31758,6 +33447,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -31947,6 +33637,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. host: type: string title: Address @@ -32207,6 +33898,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. token: type: string title: Auth token @@ -32422,6 +34114,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. token: type: string title: Auth token @@ -32644,6 +34337,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: $ref: "#/components/schemas/CompressionOptionsHttp" compressionLevel: @@ -32995,6 +34689,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -33374,6 +35069,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: $ref: "#/components/schemas/CompressionOptionsHttp" compressionLevel: @@ -33683,6 +35379,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. clientSecret: type: string title: Client secret @@ -34328,6 +36025,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -34562,6 +36260,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -34811,6 +36510,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -35039,6 +36739,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -35290,6 +36991,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. extraLogTypes: type: array title: Custom log types @@ -35644,6 +37346,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: $ref: "#/components/schemas/CompressionOptionsHttp" compressionLevel: @@ -36194,6 +37897,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. logLocationExpression: title: Folder ID expression description: JavaScript expression to compute the value of the folder ID with @@ -36474,13 +38178,16 @@ components: type: number title: Events-per-request limit description: Max number of events to include in the request body. Default is 0 - (unlimited). + (unlimited). Use to keep outgoing data points within GCO request + limits. For metrics, combine with the OTLP Metrics function + batchSize. minimum: 0 onBackpressure: $ref: "#/components/schemas/BackpressureBehaviorOptions" description: type: string title: Description + description: Optional description for this configuration. secret: type: string title: Service account credentials (text secret) @@ -36671,6 +38378,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -36913,6 +38621,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. emptyDirCleanupSec: type: number title: Staging cleanup period @@ -37117,6 +38826,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. protobufLibraryId: type: string title: Definition set @@ -37360,6 +39070,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. protobufLibraryId: type: string title: Definition set @@ -37655,6 +39366,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -37969,6 +39681,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. url: type: string title: Bulk API URL or Cloud ID @@ -38265,6 +39978,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -38524,6 +40238,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. customUrl: type: string pattern: ^https?://.* @@ -38761,6 +40476,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. customUrl: type: string pattern: ^https?://.* @@ -39053,6 +40769,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. database: type: string title: Database @@ -39291,6 +41008,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -39610,6 +41328,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -39862,6 +41581,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. throttleRatePerSec: type: string title: Throttling @@ -40025,6 +41745,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. throttleRatePerSec: type: string title: Throttling @@ -40188,6 +41909,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. throttleRatePerSec: type: string title: Throttling @@ -40344,6 +42066,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_streamtags: type: string description: Binds 'streamtags' to a variable for dynamic value resolution. Set @@ -40460,6 +42183,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -40730,6 +42454,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -40945,6 +42670,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. maxRecordSize: type: number title: Maximum transmission unit (MTU) @@ -41114,6 +42840,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -41426,6 +43153,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. customUrl: type: string pqStrictOrdering: @@ -41690,6 +43418,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: type: boolean title: Compress @@ -41958,6 +43687,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: type: boolean title: Compress @@ -42221,6 +43951,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. metricsFlushPeriodSec: type: number title: Metadata flush period (sec) @@ -42454,6 +44185,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_streamtags: type: string description: Binds 'streamtags' to a variable for dynamic value resolution. Set @@ -42630,6 +44362,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -42970,6 +44703,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. rejectUnauthorized: type: boolean title: Validate server certs @@ -43282,6 +45016,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. customUrl: type: string pattern: ^https?://.* @@ -43466,6 +45201,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. host: type: string title: Address @@ -43737,6 +45473,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. url: type: string title: Cribl endpoint @@ -44013,6 +45750,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. url: type: string title: Cribl endpoint @@ -44261,6 +45999,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. token: type: string title: LogScale auth token @@ -44484,6 +46223,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. token: type: string title: Next-Gen SIEM authentication token @@ -44797,6 +46537,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -45264,6 +47005,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsApiKey: type: string title: Access key @@ -45533,6 +47275,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: $ref: "#/components/schemas/CompressionOptionsHttp" compressionLevel: @@ -45718,6 +47461,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. __template_streamtags: type: string description: Binds 'streamtags' to a variable for dynamic value resolution. Set @@ -45890,6 +47634,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -46186,6 +47931,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -46516,6 +48262,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. username: type: string title: Username @@ -46801,6 +48548,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. url: type: string title: XSIAM endpoint @@ -47021,6 +48769,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. maxRecordSize: type: number title: Maximum transmission unit (MTU) @@ -47219,6 +48968,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -47487,6 +49237,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. rejectUnauthorized: type: boolean title: Validate server certs @@ -47751,6 +49502,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. token: type: string title: AI SIEM API Key @@ -48135,6 +49887,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. serviceAccountCredentials: type: string title: Service account credentials @@ -48440,6 +50193,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. compress: $ref: "#/components/schemas/CompressionOptionsHttp" compressionLevel: @@ -48780,6 +50534,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. pqStrictOrdering: title: Strict ordering description: Use FIFO (first in, first out) processing. Disable to forward new @@ -49059,6 +50814,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -49407,6 +51163,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -49744,6 +51501,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -50075,6 +51833,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -50409,6 +52168,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -50765,6 +52525,7 @@ components: description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -51127,6 +52888,357 @@ components: description: type: string title: Description + description: Optional description for this configuration. + awsSecret: + type: string + title: Secret key pair + description: Select or create a stored secret that references your access key + and secret key + compress: + $ref: "#/components/schemas/CompressionOptionsHttp" + compressionLevel: + $ref: "#/components/schemas/CompressionLevelOptions" + automaticSchema: + type: boolean + title: Automatic schema + description: Automatically calculate the schema based on the events of each + Parquet file generated + parquetSchema: + type: string + title: Parquet schema + description: To add a new schema, navigate to Processing > Knowledge > Parquet + Schemas + minLength: 1 + parquetVersion: + $ref: "#/components/schemas/ParquetVersionOptions" + parquetDataPageVersion: + $ref: "#/components/schemas/DataPageVersionOptions" + parquetRowGroupLength: + type: number + title: Group row limit + description: The number of rows that every group will contain. The final group + can contain a smaller number of rows. + minimum: 1 + maximum: 67108864 + parquetPageSize: + type: string + title: Page size + description: Target memory size for page segments, such as 1MB or 128MB. + Generally, lower values improve reading speed, while higher values + improve compression. + pattern: ^\d+\s*(?:[kK][bB]|[mM][bB]|[gG][bB]|[tT][bB])?$ + shouldLogInvalidRows: + type: boolean + title: Log invalid rows + description: Log up to 3 rows that @{product} skips due to data mismatch + keyValueMetadata: + type: array + title: Metadata (optional) + description: 'The metadata of files the Destination writes will include the + properties you add here as key-value pairs. Useful for tagging. + Examples: "key":"OCSF Event Class", "value":"9001"' + minItems: 0 + items: + $ref: "#/components/schemas/KeyValueMetadataConfOutputFilesystem" + enableStatistics: + type: boolean + title: Write statistics + description: Statistics profile an entire file in terms of minimum/maximum + values within data, numbers of nulls, etc. You can use Parquet tools + to view statistics. + enableWritePageIndex: + type: boolean + title: Write page indexes + description: One page index contains statistics for one data page. Parquet + readers use statistics to enable page skipping. + enablePageChecksum: + type: boolean + title: Write page checksum + description: Parquet tools can use the checksum of a Parquet page to verify data + integrity + emptyDirCleanupSec: + type: number + title: Staging cleanup period + description: How frequently, in seconds, to clean up empty directories + minimum: 10 + maximum: 86400 + directoryBatchSize: + type: number + title: Directory batch size + description: Number of directories to process in each batch during cleanup of + empty directories. Minimum is 10, maximum is 10000. Higher values + may require more memory. + deadletterPath: + type: string + title: Dead-letter location + description: Storage location for files that fail to reach their final + destination after maximum retries are exceeded + maxRetryNum: + type: number + title: Retry limit + description: The maximum number of times a file will attempt to move to its + final destination before being dead-lettered + minimum: 1 + __template_streamtags: + type: string + description: Binds 'streamtags' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'streamtags' at runtime. + __template_bucket: + type: string + description: Binds 'bucket' to a variable for dynamic value resolution. Set to + variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'bucket' at runtime. + __template_region: + type: string + description: Binds 'region' to a variable for dynamic value resolution. Set to + variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'region' at runtime. + __template_destPath: + type: string + description: Binds 'destPath' to a variable for dynamic value resolution. Set to + variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'destPath' at runtime. + __template_partitionExpr: + type: string + description: Binds 'partitionExpr' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'partitionExpr' at runtime. + __template_format: + type: string + description: Binds 'format' to a variable for dynamic value resolution. Set to + variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'format' at runtime. + __template_baseFileName: + type: string + description: Binds 'baseFileName' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'baseFileName' at runtime. + __template_fileNameSuffix: + type: string + description: Binds 'fileNameSuffix' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'fileNameSuffix' at + runtime. + __template_onBackpressure: + type: string + description: Binds 'onBackpressure' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'onBackpressure' at + runtime. + __template_endpoint: + type: string + description: Binds 'endpoint' to a variable for dynamic value resolution. Set to + variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'endpoint' at runtime. + __template_compress: + type: string + description: Binds 'compress' to a variable for dynamic value resolution. Set to + variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'compress' at runtime. + __template_parquetSchema: + type: string + description: Binds 'parquetSchema' to a variable for dynamic value resolution. + Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'parquetSchema' at runtime. + OutputAlibabaCloudS3: + type: object + required: + - type + - bucket + - stagePath + - endpoint + properties: + id: + type: string + title: Output ID + description: Unique ID for this output + type: + type: string + enum: + - alibaba_cloud_s3 + pipeline: + type: string + title: Pipeline + description: Pipeline to process data before sending out to this output + systemFields: + type: array + title: System fields + description: Fields to automatically add to events, such as cribl_pipe. Supports + wildcards. + items: + type: string + environment: + type: string + title: Environment + description: Optionally, enable this config only on a specified Git branch. If + empty, will be enabled everywhere. + streamtags: + type: array + title: Tags + description: Tags for filtering and grouping in @{product} + items: + type: string + awsAuthenticationMethod: + type: string + title: Authentication method + description: Authentication method. + enum: + - auto + - secret + x-speakeasy-enum-descriptions: + - Auto + - Secret + x-speakeasy-unknown-values: allow + reuseConnections: + type: boolean + title: Reuse connections + description: Reuse connections between requests, which can improve performance + rejectUnauthorized: + type: boolean + title: Reject unauthorized certificates + description: Reject certificates that cannot be verified against a valid CA, + such as self-signed certificates + bucket: + type: string + title: Alibaba OSS bucket name + description: "Name of the destination Alibaba OSS bucket. Must be a JavaScript + expression (which can evaluate to a constant value), enclosed in + quotes or backticks. Can be evaluated only at initialization time. + Example referencing a Global Variable: `myBucket-${C.vars.myVar}`" + destPath: + type: string + title: Key prefix + description: "Prefix to prepend to files before uploading. Must be a JavaScript + expression (which can evaluate to a constant value), enclosed in + quotes or backticks. Can be evaluated only at init time. Example + referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`" + maxConcurrentFileParts: + type: number + title: Concurrent file parts upload limit + description: Maximum number of parts to upload in parallel per file. Minimum + part size is 5MB. + minimum: 1 + maximum: 10 + verifyPermissions: + type: boolean + title: Verify if bucket exists + description: Disable if you can access files within the bucket but not the + bucket itself + maxClosingFilesToBackpressure: + type: number + title: Staging file limit + description: Maximum number of files that can be waiting for upload before + backpressure is applied + minimum: 10 + maximum: 4200 + stagePath: + type: string + title: Staging location + description: Filesystem location in which to buffer files, before compressing + and moving to final destination. Use performant and stable storage. + addIdToStagePath: + type: boolean + title: Add output ID + description: Add the Output ID value to staging location + removeEmptyDirs: + type: boolean + title: Remove empty staging directories + description: Remove empty staging directories after moving files + partitionExpr: + type: string + title: Partitioning expression + description: JavaScript expression defining how files are partitioned and + organized. Default is date-based. If blank, Stream will fall back to + the event's __partition field value – if present – otherwise to each + location's root directory. + format: + $ref: "#/components/schemas/DataFormatOptions" + baseFileName: + type: string + title: File name prefix expression + description: JavaScript expression to define the output filename prefix (can be + constant) + fileNameSuffix: + type: string + title: File name suffix expression + description: JavaScript expression to define the output filename suffix (can be + constant). The `__format` variable refers to the value of the `Data + format` field (`json` or `raw`). The `__compression` field refers + to the kind of compression being used (`none` or `gzip`). + maxFileSizeMB: + type: number + title: File size limit (MB) + description: Maximum uncompressed output file size. Files of this size will be + closed and moved to final output location. + maximum: 1024 + minimum: 5 + maxFileOpenTimeSec: + type: number + title: File open time limit (sec) + description: Maximum amount of time to write to a file. Files open for longer + than this will be closed and moved to final output location. + minimum: 10 + maximum: 86400 + maxFileIdleTimeSec: + type: number + title: Idle time limit (sec) + description: Maximum amount of time to keep inactive files open. Files open for + longer than this will be closed and moved to final output location. + minimum: 5 + maximum: 86400 + maxOpenFiles: + type: number + title: Open file limit + description: Maximum number of files to keep open concurrently. When exceeded, + @{product} will close the oldest open files and move them to the + final output location. + minimum: 10 + maximum: 2000 + headerLine: + type: string + title: Header line + description: If set, this line will be written to the beginning of each output + file + writeHighWaterMark: + type: number + title: Writing high watermark (KB) + description: Buffer size used to write to a file + maximum: 4096 + minimum: 16 + onBackpressure: + $ref: "#/components/schemas/BackpressureBehaviorOptionsBlockDrop" + deadletterEnabled: + type: boolean + title: Enable dead-lettering + description: If a file fails to move to its final destination after the maximum + number of retries, move it to a designated directory to prevent + further errors + onDiskFullBackpressure: + $ref: "#/components/schemas/DiskSpaceProtectionOptions" + forceCloseOnShutdown: + type: boolean + title: Force close on shutdown + description: Force all staged files to close during an orderly Node shutdown. + This triggers immediate upload of in-progress data — regardless of + idle time, file age, or size thresholds — to minimize data loss. + retrySettings: + $ref: "#/components/schemas/RetrySettingsType" + orphans: + $ref: "#/components/schemas/OrphanFileRecoveryType" + objectACL: + $ref: "#/components/schemas/ObjectAclOptions" + endpoint: + type: string + title: OSS endpoint + description: "Alibaba OSS S3-compatible endpoint URL. Examples: public + `https://s3.oss-{region}.aliyuncs.com`, internal + `https://s3.oss-{region}-internal.aliyuncs.com`" + pattern: ^https?://.* + description: + type: string + title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -51227,11 +53339,6 @@ components: description: Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime. - __template_region: - type: string - description: Binds 'region' to a variable for dynamic value resolution. Set to - variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID - (group-scoped). Variable value overrides 'region' at runtime. __template_destPath: type: string description: Binds 'destPath' to a variable for dynamic value resolution. Set to @@ -51264,6 +53371,11 @@ components: Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. + __template_objectACL: + type: string + description: Binds 'objectACL' to a variable for dynamic value resolution. Set + to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'objectACL' at runtime. __template_endpoint: type: string description: Binds 'endpoint' to a variable for dynamic value resolution. Set to @@ -51279,7 +53391,7 @@ components: description: Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime. - OutputAlibabaCloudS3: + OutputIbmCloudS3: type: object required: - type @@ -51294,7 +53406,7 @@ components: type: type: string enum: - - alibaba_cloud_s3 + - ibm_cloud_s3 pipeline: type: string title: Pipeline @@ -51317,6 +53429,12 @@ components: description: Tags for filtering and grouping in @{product} items: type: string + endpoint: + type: string + title: IBM COS endpoint + description: "IBM Cloud Object Storage S3-compatible endpoint URL (example: + https://s3.us-south.cloud-object-storage.appdomain.cloud)" + pattern: ^https?://.* awsAuthenticationMethod: $ref: "#/components/schemas/AuthenticationMethodOptionsSecret" reuseConnections: @@ -51330,11 +53448,12 @@ components: such as self-signed certificates bucket: type: string - title: Alibaba OSS bucket name - description: "Name of the destination Alibaba OSS bucket. Must be a JavaScript - expression (which can evaluate to a constant value), enclosed in - quotes or backticks. Can be evaluated only at initialization time. - Example referencing a Global Variable: `myBucket-${C.vars.myVar}`" + title: IBM Cloud Object Storage bucket name + description: "Name of the destination IBM Cloud Object Storage bucket. Must be a + JavaScript expression (which can evaluate to a constant value), + enclosed in quotes or backticks. Can be evaluated only at + initialization time. Example referencing a Global Variable: + `myBucket-${C.vars.myVar}`" destPath: type: string title: Key prefix @@ -51455,18 +53574,10 @@ components: $ref: "#/components/schemas/RetrySettingsType" orphans: $ref: "#/components/schemas/OrphanFileRecoveryType" - objectACL: - $ref: "#/components/schemas/ObjectAclOptions" - endpoint: - type: string - title: OSS endpoint - description: "Alibaba OSS S3-compatible endpoint URL. Examples: public - `https://s3.oss-{region}.aliyuncs.com`, internal - `https://s3.oss-{region}-internal.aliyuncs.com`" - pattern: ^https?://.* description: type: string title: Description + description: Optional description for this configuration. awsSecret: type: string title: Secret key pair @@ -51562,6 +53673,11 @@ components: description: Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. + __template_endpoint: + type: string + description: Binds 'endpoint' to a variable for dynamic value resolution. Set to + variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID + (group-scoped). Variable value overrides 'endpoint' at runtime. __template_bucket: type: string description: Binds 'bucket' to a variable for dynamic value resolution. Set to @@ -51599,16 +53715,6 @@ components: Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. - __template_objectACL: - type: string - description: Binds 'objectACL' to a variable for dynamic value resolution. Set - to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID - (group-scoped). Variable value overrides 'objectACL' at runtime. - __template_endpoint: - type: string - description: Binds 'endpoint' to a variable for dynamic value resolution. Set to - variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID - (group-scoped). Variable value overrides 'endpoint' at runtime. __template_compress: type: string description: Binds 'compress' to a variable for dynamic value resolution. Set to @@ -51701,6 +53807,7 @@ components: - $ref: "#/components/schemas/OutputCloudianS3" - $ref: "#/components/schemas/OutputScalityS3" - $ref: "#/components/schemas/OutputAlibabaCloudS3" + - $ref: "#/components/schemas/OutputIbmCloudS3" discriminator: propertyName: type mapping: @@ -51784,6 +53891,7 @@ components: cloudian_s3: "#/components/schemas/OutputCloudianS3" scality_s3: "#/components/schemas/OutputScalityS3" alibaba_cloud_s3: "#/components/schemas/OutputAlibabaCloudS3" + ibm_cloud_s3: "#/components/schemas/OutputIbmCloudS3" CountedOutputResponse: type: object properties: @@ -51891,6 +53999,7 @@ components: - cloudian_s3 - scality_s3 - alibaba_cloud_s3 + - ibm_cloud_s3 x-speakeasy-unknown-values: allow CountedOutputSamplesResponse: type: object @@ -53169,6 +55278,13 @@ components: - stream - edge x-speakeasy-unknown-values: allow + EmptyObject: + type: object + maxProperties: 0 + additionalProperties: false + description: An object that must not contain any properties. + example: {} + title: EmptyObject CountedCriblLakeDataset: type: object properties: @@ -54066,9 +56182,50 @@ components: - groups description: Summary of the deployment for the specified Cribl product (Stream or Edge). + ActiveHealthOverlayStatus: + type: object + properties: + binaryVersion: + type: string + description: Binary version targeted by the active overlay. + example: 4.12.0 + overlayId: + type: string + description: Active overlay identifier. + examples: + - patch.0 + - sideload.a1b2c3d + state: + type: string + const: active + description: Current overlay state. + example: active + required: + - binaryVersion + - overlayId + - state + title: ActiveHealthOverlayStatus + NoActiveHealthOverlayStatus: + type: object + properties: + state: + type: string + const: inactive + description: Current overlay state. + example: inactive + required: + - state + title: NoActiveHealthOverlayStatus + HealthOverlayStatus: + oneOf: + - $ref: "#/components/schemas/ActiveHealthOverlayStatus" + - $ref: "#/components/schemas/NoActiveHealthOverlayStatus" HealthServerStatus: type: object properties: + overlay: + $ref: "#/components/schemas/HealthOverlayStatus" + description: Overlay state for this process. role: type: string enum: @@ -54089,6 +56246,7 @@ components: shutting down." x-speakeasy-unknown-values: allow required: + - overlay - startTime - status description: Health status of the Leader or Worker Node. @@ -54103,6 +56261,36 @@ components: description: List of items in this response. items: $ref: "#/components/schemas/PackInstallInfo" + TagsTypePackInstallInfo: + type: object + properties: + dataType: + type: array + items: + type: string + description: List of data type tags for the Pack. + domain: + type: array + items: + type: string + description: List of domain tags for the Pack. + example: + - security + - observability + streamtags: + type: array + items: + type: string + description: List of stream tags for routing and filtering. + technology: + type: array + items: + type: string + description: List of technology tags for the Pack. + example: + - aws + - splunk + description: Categorization tags for the Pack. InstallWarnings: type: array items: @@ -54112,44 +56300,64 @@ components: properties: author: type: string + description: Name or identifier of the Pack author. collectors: type: number + description: Number of Collectors (saved jobs) configured within the Pack. dependencies: type: object additionalProperties: type: string + description: Map of Pack dependency identifiers to their version constraints. description: type: string + description: Brief description of the Pack and its purpose. displayName: type: string + description: Human-readable display name for the Pack. exports: type: array items: type: string + description: List of entity IDs exported by this Pack and available for use + outside the Pack context. id: type: string description: Unique identifier. inputs: type: number + description: Number of Sources configured within the Pack. isDisabled: type: boolean + description: If true, the Pack is disabled. Otherwise, + false. minLogStreamVersion: type: string + description: Minimum version of Cribl Stream required to run this Pack. outputs: type: number + description: Number of Destinations configured within the Pack. settings: type: object additionalProperties: true + description: Pack-specific settings object. Contents vary by Pack. source: type: string + description: Source of the Pack — a file path, URL, or Git URL from which the + Pack was installed. spec: type: string + description: Semver range constraint that was applied when the Pack was installed. tags: $ref: "#/components/schemas/TagsTypePackInstallInfo" + description: Categorization tags for the Pack. version: type: string + description: Version of the Pack, following semantic versioning. + example: 1.0.0 warnings: $ref: "#/components/schemas/InstallWarnings" + description: List of warning messages generated during Pack installation, if any. required: - id - source @@ -54158,27 +56366,72 @@ components: properties: id: type: string + description: Unique identifier for the Pack. spec: type: string + description: Semver range constraint to apply when resolving the Pack version to + install. version: type: string + description: Version of the Pack, following semantic versioning. + example: 1.0.0 minLogStreamVersion: type: string + description: Minimum version of Cribl Stream required to run this Pack. displayName: type: string + description: Human-readable display name for the Pack. author: type: string + description: Name or identifier of the Pack author. description: type: string + description: Brief description of the Pack and its purpose. source: type: string - description: The source of the pack. If not present, an empty pack will be created + description: Source of the Pack. Provide a staging source ID from PUT + /packs, a direct URL to a .crbl file, or a + git+<repo-url> Git repository URL. If omitted, an + empty Pack is created. tags: - $ref: "#/components/schemas/TagsTypePackInstallInfo" + type: object + description: Categorization tags for the Pack. + properties: + dataType: + type: array + items: + type: string + description: List of data type tags for the Pack. + domain: + type: array + items: + type: string + description: List of domain tags for the Pack. + example: + - security + - observability + technology: + type: array + items: + type: string + description: List of technology tags for the Pack. + example: + - aws + - splunk + streamtags: + type: array + items: + type: string + description: List of stream tags for routing and filtering. allowCustomFunctions: type: boolean + description: If true or omitted, allow the Pack to use custom + JavaScript functions. If false, reject Packs that use + custom JavaScript functions. force: type: boolean + description: If true, overwrite an existing Pack with the same ID. + Otherwise, false. anyOf: - required: - id @@ -54200,8 +56453,10 @@ components: properties: id: type: string + description: Unique identifier for the Pack. source: type: string + description: Source from which the Pack was originally installed. required: - id - source @@ -54221,42 +56476,61 @@ components: properties: author: type: string + description: Name or identifier of the Pack author. collectors: type: number + description: Number of Collectors (saved jobs) configured within the Pack. dependencies: type: object additionalProperties: type: string + description: Map of Pack dependency identifiers to their version constraints. description: type: string + description: Brief description of the Pack and its purpose. displayName: type: string + description: Human-readable display name for the Pack. exports: type: array items: type: string + description: List of entity IDs exported by this Pack and available for use + outside the Pack context. id: type: string description: Unique identifier. inputs: type: number + description: Number of Sources configured within the Pack. isDisabled: type: boolean + description: If true, the Pack is disabled. Otherwise, + false. minLogStreamVersion: type: string + description: Minimum version of Cribl Stream required to run this Pack. outputs: type: number + description: Number of Destinations configured within the Pack. settings: type: object additionalProperties: true + description: Pack-specific settings object. Contents vary by Pack. source: type: string + description: Source of the Pack — a file path, URL, or Git URL from which the + Pack was installed. spec: type: string + description: Semver range constraint that was applied when the Pack was installed. tags: $ref: "#/components/schemas/TagsTypePackInstallInfo" + description: Categorization tags for the Pack. version: type: string + description: Version of the Pack, following semantic versioning. + example: 1.0.0 required: - id - source @@ -54265,12 +56539,23 @@ components: properties: allowCustomFunctions: type: boolean + description: If true or omitted, allow the Pack to use custom + JavaScript functions. If false, reject Packs that use + custom JavaScript functions. minor: - type: string + type: boolean + description: If true, allow the upgrade to install a minor + (non-breaking) version. Otherwise, false. source: type: string + description: Source of the upgraded Pack. Use the source value + returned by PUT /packs for an uploaded file, or provide + a direct URL to a .crbl file or a + git+<repo-url> Git repository URL. spec: type: string + description: Semver range constraint to apply when resolving the Pack version to + install. required: - source UploadPackResponse: @@ -54278,6 +56563,9 @@ components: properties: source: type: string + description: Unique staging source identifier for the uploaded Pack file. Pass + this value as the source parameter in a subsequent + POST /packs request to install the Pack. required: - source CountedGitCommitSummary: @@ -54701,10 +56989,6 @@ components: description: List of items in this response. items: $ref: "#/components/schemas/SystemSettingsConf" - EmptyObject: - type: object - additionalProperties: false - title: EmptyObject BackupsSettings: oneOf: - type: object @@ -55547,9 +57831,11 @@ components: properties: pipeline: title: Pipeline or Pack + description: Pipeline or Pack to process data before sending to the Destination. type: string output: title: Destination + description: Destination to send data to when not using Routes. type: string ModeOptionsPq: type: string @@ -57162,25 +59448,6 @@ components: required: - kind - name - TagsTypePackInstallInfo: - type: object - properties: - dataType: - type: array - items: - type: string - domain: - type: array - items: - type: string - streamtags: - type: array - items: - type: string - technology: - type: array - items: - type: string SslTypeSystemSettingsConfApi: type: object properties: @@ -57524,6 +59791,7 @@ components: pqControls: type: object title: "" + description: Management controls for the persistent queue. AuthType: type: object description: Credentials to use when authenticating with the schema registry @@ -57750,6 +60018,7 @@ components: disabled: type: boolean title: Disabled + description: If true, TLS is disabled on this connection. requestCert: type: boolean title: Authenticate client (mutual auth) @@ -60883,6 +63152,14 @@ components: bucket: my-bucket endpoint: https://s3.oss-cn-hangzhou.aliyuncs.com stagePath: /tmp/staging + OutputCreateExamplesibmCloudS3: + summary: IBM Cloud Object Storage + value: + id: ibm-cloud-s3-output + type: ibm_cloud_s3 + bucket: my-bucket + endpoint: https://s3.us-south.cloud-object-storage.appdomain.cloud + stagePath: /tmp/staging OutputCreateExamplesAzureBlob: summary: Azure Blob value: @@ -61649,6 +63926,18 @@ components: Destination.

The request body must include a complete representation of the Destination that you want to update. This endpoint does not support partial updates. + UpdateOutputExamplesibmCloudS3: + summary: IBM Cloud Object Storage + value: + id: ibm-cloud-s3-output + type: ibm_cloud_s3 + bucket: my-bucket + endpoint: https://s3.us-south.cloud-object-storage.appdomain.cloud + stagePath: /tmp/staging + description: Example request body for updating a IBM Cloud Object Storage + Destination.

The request body must include a complete + representation of the Destination that you want to update. This endpoint + does not support partial updates. UpdateOutputExamplesAzureBlob: summary: Azure Blob value: @@ -62500,7 +64789,8 @@ components: - name: env value: "'production'" PipelineExamplesEmpty: - summary: New empty Pipeline + summary: Create a new empty Pipeline + description: Example request body for creating a new Pipeline with no functions. value: id: empty-pipeline conf: @@ -62511,8 +64801,10 @@ components: functions: [] description: "" PipelineExamplesAggregations: - summary: Pipeline with aggregation function summing rejected bytes grouped by - source address + summary: Create a Pipeline with an aggregation function that sums rejected bytes + grouped by source address + description: Example request body for creating a Pipeline with an aggregation + function that sums rejected bytes grouped by source address. value: id: aggregation-pipeline conf: @@ -62539,8 +64831,10 @@ components: shouldTreatDotsAsLiterals: false flushOnInputClose: true PipelineExamplesAggregateMetrics: - summary: Pipeline with aggregate metrics function computing statistics on - process metrics + summary: Create a Pipeline with an aggregate metrics function that computes + statistics on process metrics + description: Example request body for creating a Pipeline with an aggregate + metrics function that computes statistics on process metrics. value: id: aggregate-metrics-pipeline conf: @@ -62576,8 +64870,10 @@ components: shouldTreatDotsAsLiterals: true flushOnInputClose: true PipelineExamplesAutoTimestamp: - summary: Pipeline with auto timestamp function extracting timestamps from event - data + summary: Create a Pipeline with an auto timestamp function that extracts + timestamps from event data + description: Example request body for creating a Pipeline with an auto timestamp + function that extracts timestamps from event data. value: id: auto-timestamp-pipeline conf: @@ -62604,8 +64900,10 @@ components: - regex: /(\d{1,2}\/\d{2}\/\d{4}\s\d{1,2}:\d{2}:\d{2}\s\w{2})/ strptime: "%Y-%m-%d %H:%M:%S" PipelineExamplesCEFSerializer: - summary: Pipeline with CEF serializer function formatting events in Common Event - Format + summary: Create a Pipeline with a CEF serializer function that formats events in + Common Event Format + description: Example request body for creating a Pipeline with a CEF serializer + function that formats events in Common Event Format. value: id: cef-serializer-pipeline conf: @@ -62639,8 +64937,10 @@ components: - name: c6a1Label value: "'Colorado_Ext_Bldg7'" PipelineExamplesChain: - summary: Pipeline with chain function connecting to another pipeline for - sequential processing + summary: Create a Pipeline with a chain function that connects to another + pipeline for sequential processing + description: Example request body for creating a Pipeline with a chain function + that connects to another pipeline for sequential processing. value: id: chain-pipeline conf: @@ -62656,8 +64956,10 @@ components: conf: processor: prometheus_metrics PipelineExamplesClone: - summary: Pipeline with clone function creating copies of events with additional - fields + summary: Create a Pipeline with a clone function that creates copies of events + with additional fields + description: Example request body for creating a Pipeline with a clone function + that creates copies of events with additional fields. value: id: clone-pipeline conf: @@ -62675,7 +64977,10 @@ components: - env: staging - index: clones PipelineExamplesComment: - summary: Pipeline with comment function adding documentation annotations + summary: Create a Pipeline with a comment function that adds documentation + annotations + description: Example request body for creating a Pipeline with a comment + function that adds documentation annotations. value: id: comment-pipeline conf: @@ -62691,7 +64996,10 @@ components: comment: This function processes security events and enriches them with DNS lookups PipelineExamplesDNSLookup: - summary: Pipeline with DNS lookup function resolving hostnames and IP addresses + summary: Create a Pipeline with a DNS lookup function that resolves hostnames + and IP addresses + description: Example request body for creating a Pipeline with a DNS lookup + function that resolves hostnames and IP addresses. value: id: dns-lookup-pipeline conf: @@ -62718,8 +65026,10 @@ components: lookupFallback: false lookupFailLogLevel: error PipelineExamplesDrop: - summary: Pipeline with drop function filtering out events matching specified - criteria + summary: Create a Pipeline with a drop function that filters out events matching + specified criteria + description: Example request body for creating a Pipeline with a drop function + that filters out events matching specified criteria. value: id: drop-pipeline conf: @@ -62733,8 +65043,11 @@ components: filter: _raw.search(/success/i)>=0 conf: {} PipelineExamplesDropDimensions: - summary: Pipeline with drop dimensions function reducing metric cardinality by - removing dimensions + summary: Create a Pipeline with a drop dimensions function that reduces metric + cardinality by removing dimensions + description: Example request body for creating a Pipeline with a drop dimensions + function that reduces metric cardinality by removing specified + dimensions. value: id: drop-dimensions-pipeline conf: @@ -62757,8 +65070,11 @@ components: - unit flushOnInputClose: true PipelineExamplesDynamicSampling: - summary: Pipeline with dynamic sampling function automatically adjusting sample - rates based on event volume + summary: Create a Pipeline with a dynamic sampling function that automatically + adjusts sample rates based on event volume + description: Example request body for creating a Pipeline with a dynamic + sampling function that automatically adjusts sample rates based on event + volume. value: id: dynamic-sampling-pipeline conf: @@ -62778,8 +65094,11 @@ components: minEvents: 3 maxSampleRate: 3 PipelineExamplesEval: - summary: Pipeline with eval function adding, modifying, and removing event - fields using JavaScript expressions + summary: Create a Pipeline with an eval function that adds, modifies, and + removes event fields using JavaScript expressions + description: Example request body for creating a Pipeline with an eval function + that adds, modifies, and removes event fields using JavaScript + expressions. value: id: eval-pipeline conf: @@ -62806,8 +65125,10 @@ components: remove: - identification PipelineExamplesEventBreaker: - summary: Pipeline with event breaker function splitting large blobs or streams - into discrete events + summary: Create a Pipeline with an event breaker function that splits large + blobs or streams into discrete events + description: Example request body for creating a Pipeline with an event breaker + function that splits large blobs or streams into discrete events. value: id: event-breaker-pipeline conf: @@ -62834,8 +65155,10 @@ components: timestampLatest: +1week shouldMarkCriblBreaker: true PipelineExamplesFlatten: - summary: Pipeline with flatten function pulling nested fields up to a higher - level in the object + summary: Create a Pipeline with a flatten function that pulls nested fields up + to a higher level in the object + description: Example request body for creating a Pipeline with a flatten + function that pulls nested fields up to a higher level in the object. value: id: flatten-pipeline conf: @@ -62853,8 +65176,10 @@ components: depth: 5 delimiter: _ PipelineExamplesFoldKeys: - summary: Pipeline with fold keys function transforming flat field names into - nested structures + summary: Create a Pipeline with a fold keys function that transforms flat field + names into nested structures + description: Example request body for creating a Pipeline with a fold keys + function that transforms flat field names into nested structures. value: id: fold-keys-pipeline conf: @@ -62872,8 +65197,10 @@ components: separator: _ selectionRegExp: ^data PipelineExamplesGeoIP: - summary: Pipeline with GeoIP function enriching events with geographic - information based on IP addresses + summary: Create a Pipeline with a GeoIP function that enriches events with + geographic information based on IP addresses + description: Example request body for creating a Pipeline with a GeoIP function + that enriches events with geographic information based on IP addresses. value: id: geoip-pipeline conf: @@ -62893,8 +65220,11 @@ components: - extraInField: src_ip extraOutField: src_geoip PipelineExamplesGrok: - summary: Pipeline with grok function extracting structured fields from - unstructured log data using patterns + summary: Create a Pipeline with a grok function that extracts structured fields + from unstructured log data using named patterns + description: Example request body for creating a Pipeline with a grok function + that extracts structured fields from unstructured log data using named + patterns. value: id: grok-pipeline conf: @@ -62913,8 +65243,11 @@ components: source: _raw patternList: [] PipelineExamplesGuard: - summary: Pipeline with guard function detecting and protecting sensitive data - using AI-driven scanning rulesets + summary: Create a Pipeline with a guard function that detects and protects + sensitive data using AI-driven scanning rulesets + description: Example request body for creating a Pipeline with a guard function + that detects and protects sensitive data using AI-driven scanning + rulesets. value: id: guard-pipeline conf: @@ -62940,8 +65273,10 @@ components: value: "true" includeDetectedRules: true PipelineExamplesJSONUnroll: - summary: Pipeline with JSON unroll function exploding arrays of objects into - individual events + summary: Create a Pipeline with a JSON unroll function that explodes arrays of + objects into individual events + description: Example request body for creating a Pipeline with a JSON unroll + function that explodes arrays of objects into individual events. value: id: json-unroll-pipeline conf: @@ -62958,8 +65293,10 @@ components: path: allCars name: cars PipelineExamplesLookup: - summary: Pipeline with lookup function enriching events with external fields - from lookup tables + summary: Create a Pipeline with a lookup function that enriches events with + external fields from lookup tables + description: Example request body for creating a Pipeline with a lookup function + that enriches events with external fields from lookup tables. value: id: lookup-pipeline conf: @@ -62987,8 +65324,10 @@ components: addToEvent: false ignoreCase: false PipelineExamplesMask: - summary: Pipeline with mask function redacting sensitive data using pattern - matching and replacement + summary: Create a Pipeline with a mask function that redacts sensitive data + using pattern matching and replacement + description: Example request body for creating a Pipeline with a mask function + that redacts sensitive data using pattern matching and replacement. value: id: mask-pipeline conf: @@ -63009,7 +65348,11 @@ components: - _raw depth: 5 PipelineExamplesNumerify: - summary: Pipeline with numerify function converting string numbers to numeric type + summary: Create a Pipeline with a numerify function that converts string number + values to numeric types + description: Example request body for creating a Pipeline with a numerify + function that converts string number values to numeric types for + mathematical operations. value: id: numerify-pipeline conf: @@ -63028,8 +65371,10 @@ components: filterExpr: "" format: none PipelineExamplesOTLPLogs: - summary: Pipeline with OTLP logs function normalizing and batching OpenTelemetry - log events + summary: Create a Pipeline with an OTLP logs function that normalizes and + batches OpenTelemetry log events + description: Example request body for creating a Pipeline with an OTLP logs + function that normalizes and batches OpenTelemetry log events. value: id: otlp-logs-pipeline conf: @@ -63051,8 +65396,10 @@ components: metadataKeys: [] metadataCardinalityLimit: 1000 PipelineExamplesOTLPMetrics: - summary: Pipeline with OTLP metrics function converting dimensional metrics to - OpenTelemetry format + summary: Create a Pipeline with an OTLP metrics function that converts + dimensional metrics to OpenTelemetry format + description: Example request body for creating a Pipeline with an OTLP metrics + function that converts dimensional metrics to OpenTelemetry format. value: id: otlp-metrics-pipeline conf: @@ -63083,8 +65430,10 @@ components: metadataKeys: [] metadataCardinalityLimit: 1000 PipelineExamplesOTLPTraces: - summary: Pipeline with OTLP traces function normalizing and batching - OpenTelemetry trace events + summary: Create a Pipeline with an OTLP traces function that normalizes and + batches OpenTelemetry trace events + description: Example request body for creating a Pipeline with an OTLP traces + function that normalizes and batches OpenTelemetry trace events. value: id: otlp-traces-pipeline conf: @@ -63107,7 +65456,10 @@ components: metadataKeys: [] metadataCardinalityLimit: 1000 PipelineExamplesParser: - summary: Pipeline with parser function extracting fields from key-value pairs + summary: Create a Pipeline with a parser function that extracts fields from + key-value pairs + description: Example request body for creating a Pipeline with a parser function + that extracts fields from key-value pair formatted data. value: id: parser-pipeline conf: @@ -63131,8 +65483,11 @@ components: - "*" cleanFields: false PipelineExamplesPublishMetrics: - summary: Pipeline with publish metrics function extracting and formatting - metrics from events + summary: Create a Pipeline with a publish metrics function that extracts and + formats metrics from events + description: Example request body for creating a Pipeline with a publish metrics + function that extracts and formats metrics from events for aggregation + platforms. value: id: publish-metrics-pipeline conf: @@ -63161,8 +65516,10 @@ components: removeMetrics: [] removeDimensions: [] PipelineExamplesRedis: - summary: Pipeline with Redis function interacting with Redis stores to set and - get key-value pairs + summary: Create a Pipeline with a Redis function that interacts with Redis + stores using GET and SET commands + description: Example request body for creating a Pipeline with a Redis function + that interacts with Redis stores using GET and SET commands. value: id: redis-pipeline conf: @@ -63185,8 +65542,11 @@ components: authType: none maxBlockSecs: 60 PipelineExamplesRegexExtract: - summary: Pipeline with regex extract function extracting fields from events - using regular expressions with named capture groups + summary: Create a Pipeline with a regex extract function that extracts fields + from events using regular expressions with named capture groups + description: Example request body for creating a Pipeline with a regex extract + function that extracts fields from events using regular expressions with + named capture groups. value: id: regex-extract-pipeline conf: @@ -63205,8 +65565,10 @@ components: iterations: 100 overwrite: false PipelineExamplesRegexFilter: - summary: Pipeline with regex filter function filtering out events based on - regular expression matches + summary: Create a Pipeline with a regex filter function that filters out events + based on regular expression matches + description: Example request body for creating a Pipeline with a regex filter + function that filters out events based on regular expression matches. value: id: regex-filter-pipeline conf: @@ -63222,8 +65584,10 @@ components: regex: /Opera/ field: _raw PipelineExamplesRename: - summary: Pipeline with rename function changing or reformatting field names - within events + summary: Create a Pipeline with a rename function that changes or reformats + field names within events + description: Example request body for creating a Pipeline with a rename function + that changes or reformats field names within events. value: id: rename-pipeline conf: @@ -63243,8 +65607,11 @@ components: baseFields: [] wildcardDepth: 5 PipelineExamplesRollupMetrics: - summary: Pipeline with rollup metrics function consolidating high-frequency - metrics into time windows + summary: Create a Pipeline with a rollup metrics function that consolidates + high-frequency metrics into time windows + description: Example request body for creating a Pipeline with a rollup metrics + function that consolidates high-frequency metrics into manageable time + windows. value: id: rollup-metrics-pipeline conf: @@ -63263,8 +65630,10 @@ components: timeWindow: 30s gaugeRollup: last PipelineExamplesSampling: - summary: Pipeline with sampling function filtering events based on criteria and - sampling rates + summary: Create a Pipeline with a sampling function that filters events based on + criteria and sampling rates + description: Example request body for creating a Pipeline with a sampling + function that filters events based on criteria and sampling rates. value: id: sampling-pipeline conf: @@ -63282,8 +65651,10 @@ components: - filter: __status == 200 rate: 5 PipelineExamplesSerialize: - summary: Pipeline with serialize function converting event content into - predefined formats + summary: Create a Pipeline with a serialize function that converts event content + into predefined formats + description: Example request body for creating a Pipeline with a serialize + function that converts event content into predefined formats. value: id: serialize-pipeline conf: @@ -63303,8 +65674,10 @@ components: srcField: "" dstField: _raw PipelineExamplesSNMPTrapSerialize: - summary: Pipeline with SNMP trap serialize function converting compliant events - into SNMP traps + summary: Create a Pipeline with an SNMP trap serialize function that converts + compliant events into SNMP trap format + description: Example request body for creating a Pipeline with an SNMP trap + serialize function that converts compliant events into SNMP trap format. value: id: snmp-trap-serialize-pipeline conf: @@ -63321,8 +65694,10 @@ components: strict: true dropFailedEvents: true PipelineExamplesSuppress: - summary: Pipeline with suppress function suppressing duplicate events based on - key expressions + summary: Create a Pipeline with a suppress function that suppresses duplicate + events based on key expressions + description: Example request body for creating a Pipeline with a suppress + function that suppresses duplicate events based on key expressions. value: id: suppress-pipeline conf: @@ -63343,8 +65718,11 @@ components: cacheIdleTimeoutPeriods: 2 numEventsIdleTimeoutTrigger: 10000 PipelineExamplesTee: - summary: Pipeline with tee function sending events to a command via stdin for - debugging and verification + summary: Create a Pipeline with a tee function that sends events to an external + command via stdin for debugging and verification + description: Example request body for creating a Pipeline with a tee function + that sends events to an external command via stdin for debugging and + verification. value: id: tee-pipeline conf: @@ -63364,8 +65742,10 @@ components: restartOnExit: true env: {} PipelineExamplesUnroll: - summary: Pipeline with unroll function breaking array fields into individual - events + summary: Create a Pipeline with an unroll function that breaks array fields into + individual events + description: Example request body for creating a Pipeline with an unroll + function that breaks array fields into individual events. value: id: unroll-pipeline conf: @@ -63381,8 +65761,10 @@ components: srcExpr: _raw.split(/\n/) dstField: _raw PipelineExamplesXMLUnroll: - summary: Pipeline with XML unroll function converting XML elements into - individual events + summary: Create a Pipeline with an XML unroll function that converts XML + elements into individual events + description: Example request body for creating a Pipeline with an XML unroll + function that converts XML elements into individual events. value: id: xml-unroll-pipeline conf: @@ -63400,7 +65782,10 @@ components: unrollIdxField: unroll_idx pretty: false UpdatePipelineExamplesEmpty: - summary: New empty Pipeline + summary: Create a new empty Pipeline + description: Example request body for updating a Pipeline.

The request + body must include a complete representation of the Pipeline that you + want to update. This endpoint does not support partial updates. value: id: empty-pipeline conf: @@ -63410,12 +65795,12 @@ components: asyncFuncTimeout: 1000 functions: [] description: "" + UpdatePipelineExamplesAggregations: + summary: Create a Pipeline with an aggregation function that sums rejected bytes + grouped by source address description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesAggregations: - summary: Pipeline with aggregation function summing rejected bytes grouped by - source address value: id: aggregation-pipeline conf: @@ -63441,12 +65826,12 @@ components: cumulative: false shouldTreatDotsAsLiterals: false flushOnInputClose: true + UpdatePipelineExamplesAggregateMetrics: + summary: Create a Pipeline with an aggregate metrics function that computes + statistics on process metrics description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesAggregateMetrics: - summary: Pipeline with aggregate metrics function computing statistics on - process metrics value: id: aggregate-metrics-pipeline conf: @@ -63481,12 +65866,12 @@ components: cumulative: false shouldTreatDotsAsLiterals: true flushOnInputClose: true + UpdatePipelineExamplesAutoTimestamp: + summary: Create a Pipeline with an auto timestamp function that extracts + timestamps from event data description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesAutoTimestamp: - summary: Pipeline with auto timestamp function extracting timestamps from event - data value: id: auto-timestamp-pipeline conf: @@ -63512,12 +65897,12 @@ components: timestamps: - regex: /(\d{1,2}\/\d{2}\/\d{4}\s\d{1,2}:\d{2}:\d{2}\s\w{2})/ strptime: "%Y-%m-%d %H:%M:%S" + UpdatePipelineExamplesCEFSerializer: + summary: Create a Pipeline with a CEF serializer function that formats events in + Common Event Format description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesCEFSerializer: - summary: Pipeline with CEF serializer function formatting events in Common Event - Format value: id: cef-serializer-pipeline conf: @@ -63550,12 +65935,12 @@ components: extension: - name: c6a1Label value: "'Colorado_Ext_Bldg7'" + UpdatePipelineExamplesChain: + summary: Create a Pipeline with a chain function that connects to another + pipeline for sequential processing description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesChain: - summary: Pipeline with chain function connecting to another pipeline for - sequential processing value: id: chain-pipeline conf: @@ -63570,12 +65955,12 @@ components: filter: "true" conf: processor: prometheus_metrics + UpdatePipelineExamplesClone: + summary: Create a Pipeline with a clone function that creates copies of events + with additional fields description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesClone: - summary: Pipeline with clone function creating copies of events with additional - fields value: id: clone-pipeline conf: @@ -63592,11 +65977,12 @@ components: clones: - env: staging - index: clones + UpdatePipelineExamplesComment: + summary: Create a Pipeline with a comment function that adds documentation + annotations description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesComment: - summary: Pipeline with comment function adding documentation annotations value: id: comment-pipeline conf: @@ -63611,11 +65997,12 @@ components: conf: comment: This function processes security events and enriches them with DNS lookups + UpdatePipelineExamplesDNSLookup: + summary: Create a Pipeline with a DNS lookup function that resolves hostnames + and IP addresses description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesDNSLookup: - summary: Pipeline with DNS lookup function resolving hostnames and IP addresses value: id: dns-lookup-pipeline conf: @@ -63641,12 +66028,12 @@ components: useResolvConf: false lookupFallback: false lookupFailLogLevel: error + UpdatePipelineExamplesDrop: + summary: Create a Pipeline with a drop function that filters out events matching + specified criteria description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesDrop: - summary: Pipeline with drop function filtering out events matching specified - criteria value: id: drop-pipeline conf: @@ -63659,12 +66046,12 @@ components: - id: drop filter: _raw.search(/success/i)>=0 conf: {} + UpdatePipelineExamplesDropDimensions: + summary: Create a Pipeline with a drop dimensions function that reduces metric + cardinality by removing dimensions description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesDropDimensions: - summary: Pipeline with drop dimensions function reducing metric cardinality by - removing dimensions value: id: drop-dimensions-pipeline conf: @@ -63686,12 +66073,12 @@ components: - pie - unit flushOnInputClose: true + UpdatePipelineExamplesDynamicSampling: + summary: Create a Pipeline with a dynamic sampling function that automatically + adjusts sample rates based on event volume description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesDynamicSampling: - summary: Pipeline with dynamic sampling function automatically adjusting sample - rates based on event volume value: id: dynamic-sampling-pipeline conf: @@ -63710,12 +66097,12 @@ components: samplePeriod: 20 minEvents: 3 maxSampleRate: 3 + UpdatePipelineExamplesEval: + summary: Create a Pipeline with an eval function that adds, modifies, and + removes event fields using JavaScript expressions description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesEval: - summary: Pipeline with eval function adding, modifying, and removing event - fields using JavaScript expressions value: id: eval-pipeline conf: @@ -63741,12 +66128,12 @@ components: - myTags remove: - identification + UpdatePipelineExamplesEventBreaker: + summary: Create a Pipeline with an event breaker function that splits large + blobs or streams into discrete events description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesEventBreaker: - summary: Pipeline with event breaker function splitting large blobs or streams - into discrete events value: id: event-breaker-pipeline conf: @@ -63772,12 +66159,12 @@ components: timestampEarliest: -420weeks timestampLatest: +1week shouldMarkCriblBreaker: true + UpdatePipelineExamplesFlatten: + summary: Create a Pipeline with a flatten function that pulls nested fields up + to a higher level in the object description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesFlatten: - summary: Pipeline with flatten function pulling nested fields up to a higher - level in the object value: id: flatten-pipeline conf: @@ -63794,12 +66181,12 @@ components: prefix: "" depth: 5 delimiter: _ + UpdatePipelineExamplesFoldKeys: + summary: Create a Pipeline with a fold keys function that transforms flat field + names into nested structures description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesFoldKeys: - summary: Pipeline with fold keys function transforming flat field names into - nested structures value: id: fold-keys-pipeline conf: @@ -63816,12 +66203,12 @@ components: deleteOriginal: true separator: _ selectionRegExp: ^data + UpdatePipelineExamplesGeoIP: + summary: Create a Pipeline with a GeoIP function that enriches events with + geographic information based on IP addresses description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesGeoIP: - summary: Pipeline with GeoIP function enriching events with geographic - information based on IP addresses value: id: geoip-pipeline conf: @@ -63840,12 +66227,12 @@ components: additionalFields: - extraInField: src_ip extraOutField: src_geoip + UpdatePipelineExamplesGrok: + summary: Create a Pipeline with a grok function that extracts structured fields + from unstructured log data using named patterns description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesGrok: - summary: Pipeline with grok function extracting structured fields from - unstructured log data using patterns value: id: grok-pipeline conf: @@ -63863,12 +66250,12 @@ components: %{GREEDYDATA:log_message}" source: _raw patternList: [] + UpdatePipelineExamplesGuard: + summary: Create a Pipeline with a guard function that detects and protects + sensitive data using AI-driven scanning rulesets description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesGuard: - summary: Pipeline with guard function detecting and protecting sensitive data - using AI-driven scanning rulesets value: id: guard-pipeline conf: @@ -63893,12 +66280,12 @@ components: - name: _sensitive value: "true" includeDetectedRules: true + UpdatePipelineExamplesJSONUnroll: + summary: Create a Pipeline with a JSON unroll function that explodes arrays of + objects into individual events description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesJSONUnroll: - summary: Pipeline with JSON unroll function exploding arrays of objects into - individual events value: id: json-unroll-pipeline conf: @@ -63914,12 +66301,12 @@ components: conf: path: allCars name: cars + UpdatePipelineExamplesLookup: + summary: Create a Pipeline with a lookup function that enriches events with + external fields from lookup tables description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesLookup: - summary: Pipeline with lookup function enriching events with external fields - from lookup tables value: id: lookup-pipeline conf: @@ -63946,12 +66333,12 @@ components: defaultValue: Unknown addToEvent: false ignoreCase: false + UpdatePipelineExamplesMask: + summary: Create a Pipeline with a mask function that redacts sensitive data + using pattern matching and replacement description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesMask: - summary: Pipeline with mask function redacting sensitive data using pattern - matching and replacement value: id: mask-pipeline conf: @@ -63971,11 +66358,12 @@ components: fields: - _raw depth: 5 + UpdatePipelineExamplesNumerify: + summary: Create a Pipeline with a numerify function that converts string number + values to numeric types description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesNumerify: - summary: Pipeline with numerify function converting string numbers to numeric type value: id: numerify-pipeline conf: @@ -63993,12 +66381,12 @@ components: ignoreFields: [] filterExpr: "" format: none + UpdatePipelineExamplesOTLPLogs: + summary: Create a Pipeline with an OTLP logs function that normalizes and + batches OpenTelemetry log events description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesOTLPLogs: - summary: Pipeline with OTLP logs function normalizing and batching OpenTelemetry - log events value: id: otlp-logs-pipeline conf: @@ -64019,12 +66407,12 @@ components: sendBatchMaxSize: 0 metadataKeys: [] metadataCardinalityLimit: 1000 + UpdatePipelineExamplesOTLPMetrics: + summary: Create a Pipeline with an OTLP metrics function that converts + dimensional metrics to OpenTelemetry format description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesOTLPMetrics: - summary: Pipeline with OTLP metrics function converting dimensional metrics to - OpenTelemetry format value: id: otlp-metrics-pipeline conf: @@ -64054,12 +66442,12 @@ components: sendBatchMaxSize: 0 metadataKeys: [] metadataCardinalityLimit: 1000 + UpdatePipelineExamplesOTLPTraces: + summary: Create a Pipeline with an OTLP traces function that normalizes and + batches OpenTelemetry trace events description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesOTLPTraces: - summary: Pipeline with OTLP traces function normalizing and batching - OpenTelemetry trace events value: id: otlp-traces-pipeline conf: @@ -64081,11 +66469,12 @@ components: sendBatchMaxSize: 0 metadataKeys: [] metadataCardinalityLimit: 1000 + UpdatePipelineExamplesParser: + summary: Create a Pipeline with a parser function that extracts fields from + key-value pairs description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesParser: - summary: Pipeline with parser function extracting fields from key-value pairs value: id: parser-pipeline conf: @@ -64108,12 +66497,12 @@ components: remove: - "*" cleanFields: false + UpdatePipelineExamplesPublishMetrics: + summary: Create a Pipeline with a publish metrics function that extracts and + formats metrics from events description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesPublishMetrics: - summary: Pipeline with publish metrics function extracting and formatting - metrics from events value: id: publish-metrics-pipeline conf: @@ -64141,12 +66530,12 @@ components: - dstaddr removeMetrics: [] removeDimensions: [] + UpdatePipelineExamplesRedis: + summary: Create a Pipeline with a Redis function that interacts with Redis + stores using GET and SET commands description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesRedis: - summary: Pipeline with Redis function interacting with Redis stores to set and - get key-value pairs value: id: redis-pipeline conf: @@ -64168,12 +66557,12 @@ components: url: "'redis://localhost:6379/0'" authType: none maxBlockSecs: 60 + UpdatePipelineExamplesRegexExtract: + summary: Create a Pipeline with a regex extract function that extracts fields + from events using regular expressions with named capture groups description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesRegexExtract: - summary: Pipeline with regex extract function extracting fields from events - using regular expressions with named capture groups value: id: regex-extract-pipeline conf: @@ -64191,12 +66580,12 @@ components: source: _raw iterations: 100 overwrite: false + UpdatePipelineExamplesRegexFilter: + summary: Create a Pipeline with a regex filter function that filters out events + based on regular expression matches description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesRegexFilter: - summary: Pipeline with regex filter function filtering out events based on - regular expression matches value: id: regex-filter-pipeline conf: @@ -64211,12 +66600,12 @@ components: conf: regex: /Opera/ field: _raw + UpdatePipelineExamplesRename: + summary: Create a Pipeline with a rename function that changes or reformats + field names within events description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesRename: - summary: Pipeline with rename function changing or reformatting field names - within events value: id: rename-pipeline conf: @@ -64235,12 +66624,12 @@ components: renameExpr: "name.startsWith('out') ? name.toUpperCase() : name" baseFields: [] wildcardDepth: 5 + UpdatePipelineExamplesRollupMetrics: + summary: Create a Pipeline with a rollup metrics function that consolidates + high-frequency metrics into time windows description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesRollupMetrics: - summary: Pipeline with rollup metrics function consolidating high-frequency - metrics into time windows value: id: rollup-metrics-pipeline conf: @@ -64258,12 +66647,12 @@ components: - "*" timeWindow: 30s gaugeRollup: last + UpdatePipelineExamplesSampling: + summary: Create a Pipeline with a sampling function that filters events based on + criteria and sampling rates description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesSampling: - summary: Pipeline with sampling function filtering events based on criteria and - sampling rates value: id: sampling-pipeline conf: @@ -64280,12 +66669,12 @@ components: rules: - filter: __status == 200 rate: 5 + UpdatePipelineExamplesSerialize: + summary: Create a Pipeline with a serialize function that converts event content + into predefined formats description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesSerialize: - summary: Pipeline with serialize function converting event content into - predefined formats value: id: serialize-pipeline conf: @@ -64304,12 +66693,12 @@ components: - state srcField: "" dstField: _raw + UpdatePipelineExamplesSNMPTrapSerialize: + summary: Create a Pipeline with an SNMP trap serialize function that converts + compliant events into SNMP trap format description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesSNMPTrapSerialize: - summary: Pipeline with SNMP trap serialize function converting compliant events - into SNMP traps value: id: snmp-trap-serialize-pipeline conf: @@ -64325,12 +66714,12 @@ components: conf: strict: true dropFailedEvents: true + UpdatePipelineExamplesSuppress: + summary: Create a Pipeline with a suppress function that suppresses duplicate + events based on key expressions description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesSuppress: - summary: Pipeline with suppress function suppressing duplicate events based on - key expressions value: id: suppress-pipeline conf: @@ -64350,12 +66739,12 @@ components: maxCacheSize: 50000 cacheIdleTimeoutPeriods: 2 numEventsIdleTimeoutTrigger: 10000 + UpdatePipelineExamplesTee: + summary: Create a Pipeline with a tee function that sends events to an external + command via stdin for debugging and verification description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesTee: - summary: Pipeline with tee function sending events to a command via stdin for - debugging and verification value: id: tee-pipeline conf: @@ -64374,12 +66763,12 @@ components: - /opt/cribl/foo.log restartOnExit: true env: {} + UpdatePipelineExamplesUnroll: + summary: Create a Pipeline with an unroll function that breaks array fields into + individual events description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesUnroll: - summary: Pipeline with unroll function breaking array fields into individual - events value: id: unroll-pipeline conf: @@ -64394,12 +66783,12 @@ components: conf: srcExpr: _raw.split(/\n/) dstField: _raw + UpdatePipelineExamplesXMLUnroll: + summary: Create a Pipeline with an XML unroll function that converts XML + elements into individual events description: Example request body for updating a Pipeline.

The request body must include a complete representation of the Pipeline that you want to update. This endpoint does not support partial updates. - UpdatePipelineExamplesXMLUnroll: - summary: Pipeline with XML unroll function converting XML elements into - individual events value: id: xml-unroll-pipeline conf: @@ -64416,46 +66805,45 @@ components: inherit: ^Parent\.(myID|branchLocation)$ unrollIdxField: unroll_idx pretty: false - description: Example request body for updating a Pipeline.

The request - body must include a complete representation of the Pipeline that you - want to update. This endpoint does not support partial updates. RoutesResponseExamplesDefaultRoutingTable: summary: Default Routing table response - description: Example response for the default Routing table with a single - pass-through Route. + description: Example response for listing the default Routing table with a + single pass-through Route. value: - id: default - conf: - routes: - - id: default - name: default - final: true - disabled: false - pipeline: main - filter: "true" - output: default + count: 1 + items: + - id: default + routes: + - id: default + name: default + final: true + disabled: false + pipeline: main + filter: "true" + output: default RoutesResponseExamplesMultiRouteTable: summary: Multi-route Routing table response - description: Example response for a Routing table with multiple Routes that send - events to different Pipelines. + description: Example response for listing a Routing table with multiple Routes + that send events to different Pipelines. value: - id: default - conf: - routes: - - id: route-security - name: Security events - final: false - disabled: false - pipeline: security-pipeline - filter: sourcetype=='syslog' - output: splunk-hec - - id: default - name: default - final: true - disabled: false - pipeline: main - filter: "true" - output: default + count: 1 + items: + - id: default + routes: + - id: route-security + name: Security events + final: false + disabled: false + pipeline: security-pipeline + filter: sourcetype=='syslog' + output: splunk-hec + - id: default + name: default + final: true + disabled: false + pipeline: main + filter: "true" + output: default RoutesUpdateExamplesBasicRoute: summary: Update Routes with a basic Route configuration description: "Example request body for updating the default Routes table @@ -64547,7 +66935,8 @@ components: description: Route access logs to main Pipeline RoutesAppendExamplesSingleRoute: summary: Append a single Route to the Routing table - description: "Add a single Route to the end of the default Routes table (id: default)" + description: "Example request body for appending a single Route to the end of + the default Routing table (id: default)." value: - id: route-new name: new-route @@ -64557,8 +66946,9 @@ components: final: true RoutesAppendExamplesMultipleRoutes: summary: Append multiple Routes to the Routing table - description: "Add multiple Routes to the end of the default Routes table (id: - default)" + description: "Example request body for appending multiple Routes to the end of + the default Routing table (id: default) in a single + request." value: - id: route-audit name: audit @@ -64576,9 +66966,9 @@ components: final: false RoutesAppendExamplesRouteWithOutputExpression: summary: Append a Route with dynamic Destination expression - description: "Add a Route to the end of the default Routes table (id: default) - that uses a JavaScript expression to dynamically determine the - Destination" + description: "Example request body for appending a Route to the end of the + default Routing table (id: default) that uses a JavaScript + expression to dynamically determine the Destination at Route startup." value: - id: route-dynamic-append name: dynamic-append @@ -64644,8 +67034,45 @@ components: healthCounts: Green: 1 Yellow: 1 + CollectorResponseExamplesRestCollector: + summary: Get a REST API Collector + description: Example response for a REST API Collector in a response envelope + with count and items. + value: + count: 1 + items: + - id: rest-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */4 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: rest + sendToRoutes: true + throttleRatePerSec: 100 + conf: + collectUrl: "'https://api.example.com/data'" + collectMethod: get + authentication: none + decodeUrl: true + timeout: 600 + pipelines: + - main + destinations: + - default + history: [] + notifications: [] CollectorExamplesRest: - summary: REST API Collector + summary: Create a REST API Collector + description: Example request body for creating a Collector that fetches data + from a REST API endpoint on a recurring schedule. value: id: rest-collector type: collection @@ -64674,7 +67101,9 @@ components: destinations: - default CollectorExamplesS3: - summary: S3 Bucket Collector + summary: Create an S3 Bucket Collector + description: Example request body for creating a Collector that ingests data + from an Amazon S3 bucket. value: id: s3-collector type: collection @@ -64703,7 +67132,9 @@ components: destinations: - s3-output CollectorExamplesFilesystem: - summary: Filesystem Collector + summary: Create a Filesystem Collector + description: Example request body for creating a Collector that reads log files + from the local filesystem. value: id: filesystem-collector type: collection @@ -64728,7 +67159,9 @@ components: destinations: - elasticsearch CollectorExamplesAzureBlob: - summary: Azure Blob Storage Collector + summary: Create an Azure Blob Storage Collector + description: Example request body for creating a Collector that ingests data + from an Azure Blob Storage container. value: id: azure-blob-collector type: collection @@ -64758,7 +67191,9 @@ components: destinations: - azure-output CollectorExamplesGoogleCloudStorage: - summary: Google Cloud Storage Collector + summary: Create a Google Cloud Storage Collector + description: Example request body for creating a Collector that ingests data + from a Google Cloud Storage bucket. value: id: gcs-collector type: collection @@ -64787,7 +67222,9 @@ components: destinations: - bigquery CollectorExamplesDatabase: - summary: Database Collector + summary: Create a Database Collector + description: Example request body for creating a Collector that queries a + relational database on a nightly schedule. value: id: database-collector type: collection @@ -64813,7 +67250,9 @@ components: destinations: - postgres-output CollectorExamplesSplunk: - summary: Splunk Collector + summary: Create a Splunk Collector + description: Example request body for creating a Collector that retrieves events + from a Splunk search head using a saved search query. value: id: splunk-collector type: collection @@ -64844,7 +67283,9 @@ components: destinations: - splunk-output CollectorExamplesScript: - summary: Script Collector + summary: Create a Script Collector + description: Example request body for creating a Collector that runs custom + discovery and collection scripts. value: id: script-collector type: collection @@ -64870,7 +67311,363 @@ components: destinations: - file-output CollectorExamplesCriblLake: - summary: Cribl Lake Dataset Collector (Cribl.Cloud only) + summary: Create a Cribl Lake Dataset Collector + description: Example request body for creating a Collector that reads from a + Cribl Lake dataset (Cribl.Cloud only). + value: + id: cribl-lake-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */2 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: cribl_lake + sendToRoutes: true + throttleRatePerSec: 1000 + conf: + storageLocationId: cribl_lake + dataset: cribl_logs + query: "*" + timeRange: + start: -1h + end: now + pipelines: + - lake-data-processing + destinations: + - analytics-platform + CollectorListResponseExamplesListed: + summary: Return all Collectors + description: Example response for listing all Collectors in a response envelope + with count and items. + value: + count: 2 + items: + - id: rest-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */4 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: rest + sendToRoutes: true + throttleRatePerSec: 100 + conf: + collectUrl: "'https://api.example.com/data'" + collectMethod: get + authentication: none + decodeUrl: true + timeout: 600 + pipelines: + - main + destinations: + - default + history: [] + notifications: [] + - id: s3-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */4 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: s3 + sendToRoutes: true + throttleRatePerSec: 500 + conf: + bucket: "'my-data-bucket'" + region: us-east-1 + pattern: "*.json" + awsAuthenticationMethod: auto + partitioningScheme: ddss + pipelines: + - data-processing + destinations: + - s3-output + history: [] + notifications: [] + UpdateCollectorExamplesRest: + summary: Update a REST API Collector + description: Example request body for updating an existing REST API Collector + with a revised schedule.

The request body must include a + complete representation of the Collector that you want to update. This + endpoint does not support partial updates. + value: + id: rest-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */4 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: rest + sendToRoutes: true + throttleRatePerSec: 100 + conf: + collectUrl: "'https://api.example.com/data'" + collectMethod: get + authentication: none + decodeUrl: true + timeout: 600 + pipelines: + - main + destinations: + - default + UpdateCollectorExamplesS3: + summary: Update an S3 Bucket Collector + description: Example request body for updating an existing S3 Collector with a + new bucket and pipeline configuration.

The request body must + include a complete representation of the Collector that you want to + update. This endpoint does not support partial updates. + value: + id: s3-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */6 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: s3 + sendToRoutes: true + throttleRatePerSec: 500 + conf: + bucket: "'my-data-bucket'" + region: us-east-1 + pattern: "*.json" + awsAuthenticationMethod: auto + partitioningScheme: ddss + pipelines: + - data-processing + destinations: + - s3-output + UpdateCollectorExamplesFilesystem: + summary: Update a Filesystem Collector + description: Example request body for updating an existing Filesystem Collector + with a revised path configuration.

The request body must + include a complete representation of the Collector that you want to + update. This endpoint does not support partial updates. + value: + id: filesystem-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */2 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: filesystem + sendToRoutes: true + throttleRatePerSec: 1000 + conf: + path: "'/var/log/application/*.log'" + pipelines: + - log-processing + destinations: + - elasticsearch + UpdateCollectorExamplesAzureBlob: + summary: Update an Azure Blob Storage Collector + description: Example request body for updating an existing Azure Blob Storage + Collector with revised container settings.

The request body + must include a complete representation of the Collector that you want to + update. This endpoint does not support partial updates. + value: + id: azure-blob-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */8 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: azure_blob + sendToRoutes: true + throttleRatePerSec: 200 + conf: + accountName: "'mystorageaccount'" + containerName: "'data-container'" + pattern: "'*.json'" + authType: manual + connectionString: "'DefaultEndpointsProtocol=https;AccountName=mystorageaccount\ + ;AccountKey=...'" + pipelines: + - data-pipeline + destinations: + - azure-output + UpdateCollectorExamplesGoogleCloudStorage: + summary: Update a Google Cloud Storage Collector + description: Example request body for updating an existing Google Cloud Storage + Collector with revised bucket settings.

The request body must + include a complete representation of the Collector that you want to + update. This endpoint does not support partial updates. + value: + id: gcs-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */12 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: google_cloud_storage + sendToRoutes: true + throttleRatePerSec: 300 + conf: + bucket: "'my-gcs-bucket'" + path: "'data/'" + authType: manual + serviceAccountCredentials: "'{ \"type\": \"service_account\", \"project_id\": + \"my-project\", \"private_key_id\": \"key123\" }'" + pipelines: + - csv-processing + destinations: + - bigquery + UpdateCollectorExamplesDatabase: + summary: Update a Database Collector + description: Example request body for updating an existing Database Collector + with revised query settings.

The request body must include a + complete representation of the Collector that you want to update. This + endpoint does not support partial updates. + value: + id: database-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 2 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: database + sendToRoutes: true + throttleRatePerSec: 50 + conf: + connectionId: "'my-postgres-connection'" + query: "`SELECT * FROM events WHERE created_at > '${earliest}'`" + pipelines: + - database-processing + destinations: + - postgres-output + UpdateCollectorExamplesSplunk: + summary: Update a Splunk Collector + description: Example request body for updating an existing Splunk Collector with + revised search settings.

The request body must include a + complete representation of the Collector that you want to update. This + endpoint does not support partial updates. + value: + id: splunk-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */1 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: splunk + sendToRoutes: true + throttleRatePerSec: 1000 + conf: + search: "'index=main sourcetype=syslog'" + searchHead: "'https://splunk.example.com:8089'" + endpoint: "'services/search/jobs/export'" + authentication: basic + username: "'admin'" + password: "'changeme'" + outputMode: json + pipelines: + - splunk-processing + destinations: + - splunk-output + UpdateCollectorExamplesScript: + summary: Update a Script Collector + description: Example request body for updating an existing Script Collector with + revised script settings.

The request body must include a + complete representation of the Collector that you want to update. This + endpoint does not support partial updates. + value: + id: script-collector + type: collection + schedule: + enabled: true + cronSchedule: 0 */3 * * * + tz: UTC + run: + mode: run + timeRangeType: relative + earliest: -300 + expression: "true" + logLevel: info + collector: + type: script + sendToRoutes: true + throttleRatePerSec: 10 + conf: + discoverScript: "'/opt/scripts/discover.py'" + collectScript: "'/opt/scripts/collect.py'" + pipelines: + - script-output-processing + destinations: + - file-output + UpdateCollectorExamplesCriblLake: + summary: Update a Cribl Lake Dataset Collector + description: Example request body for updating an existing Cribl Lake Dataset + Collector with revised dataset settings.

The request body must + include a complete representation of the Collector that you want to + update. This endpoint does not support partial updates. value: id: cribl-lake-collector type: collection @@ -65076,6 +67873,8 @@ components: status: healthy startTime: 1700000000000 role: primary + overlay: + state: inactive Health420ExamplesShuttingDown: summary: Shutting down (primary) description: Example response for a server that is acting as primary and is in @@ -65084,6 +67883,8 @@ components: status: shutting down startTime: 1700000000000 role: primary + overlay: + state: inactive Health420ExamplesStandby: summary: Standby description: Example response for a server that is in standby mode. @@ -65091,6 +67892,8 @@ components: status: standby startTime: 1700000000000 role: standby + overlay: + state: inactive PackInstallResponseExamplesInstalledFromURL: summary: Pack installed from URL response description: Example response for a Pack successfully installed from a URL. @@ -65108,7 +67911,7 @@ components: warnings: [] count: 1 PackInstallExamplesPackDispensary: - summary: Install from the Pack Dispensary + summary: Install a Pack from the Pack Dispensary description: Example request body for installing a Pack directly from the Cribl Pack Dispensary using a download URL. value: @@ -65116,9 +67919,9 @@ components: force: true allowCustomFunctions: true PackInstallExamplesEmptyPack: - summary: Create new empty Pack - description: Example request body for creating a new empty Pack with no - functions or resources. + summary: Create a new empty Pack + description: Example request body for creating a new empty Pack with metadata + but no configuration. value: version: 0.0.1 tags: @@ -65127,7 +67930,7 @@ components: displayName: testPackFoo id: testPackFoo PackInstallExamplesUploadedFile: - summary: Install Pack from file upload + summary: Install a Pack from an uploaded file description: Example request body for installing a Pack from a previously uploaded file. Use the source value returned by PUT /packs. @@ -65136,16 +67939,16 @@ components: id: cribl-search-missing-logs allowCustomFunctions: false PackInstallExamplesURL: - summary: Install Pack from URL - description: Example request body for installing a Pack by importing it directly - from a URL pointing to a .crbl file. + summary: Install a Pack from a URL + description: Example request body for installing a Pack by providing a direct + URL to a .crbl file. value: source: https://github.com/criblpacks/cribl-palo-alto-networks/releases/download/1.1.4/cribl-palo-alto-networks-a3e5a19d-1.1.4.crbl allowCustomFunctions: false PackInstallExamplesGitRepository: - summary: Install Pack from Git repository - description: Example request body for installing a Pack by importing it from a - Git repository. + summary: Install a Pack from a Git repository + description: Example request body for installing a Pack by importing directly + from a Git repository using a git+ URL. value: source: git+https://github.com/criblio/cribl_ocsf_postprocessing allowCustomFunctions: false @@ -65223,7 +68026,7 @@ components: - inputs count: 1 PackUpgradeExamplesUpgradeFromURL: - summary: Upgrade Pack from URL + summary: Upgrade a Pack from a URL description: Example request body for upgrading an installed Pack to a newer version by providing the URL of the updated .crbl file. value: @@ -65621,6 +68424,14 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + parameters: + - name: showHidden + in: query + required: false + schema: + type: boolean + description: If true, include hidden Functions in the response. + Otherwise, hidden Functions are excluded. /functions/{id}: get: operationId: getFunctionsById @@ -66065,6 +68876,9 @@ paths: DatabaseConnectionNotFoundResponseExamplesDatabaseConnectionNotFound: $ref: "#/components/examples/DatabaseConnectionNotFoundResponseExamplesDatabase\ ConnectionNotFound" + "409": + description: Request conflicts with current resource state — Database Connection + is referenced by another entity. "500": description: Unexpected server error. content: @@ -66091,11 +68905,15 @@ paths: description: Get a list of all Collectors. responses: "200": - description: List of SavedJobResponse objects. + description: The list of Collectors in a response envelope with + count and items. content: application/json: schema: $ref: "#/components/schemas/CountedSavedJobResponse" + examples: + CollectorListResponseExamplesListed: + $ref: "#/components/examples/CollectorListResponseExamplesListed" "401": description: Authentication failed (missing or invalid credentials or Bearer token). @@ -66115,7 +68933,7 @@ paths: required: false schema: $ref: "#/components/schemas/CollectorType" - description: Filter by collector type + description: Filter by collector type. post: operationId: createSavedJob tags: @@ -66128,11 +68946,15 @@ paths: description: Create a new Collector. responses: "200": - description: The created SavedJobResponse object in a single-item list. + description: The created Collector in a response envelope with + count and items. content: application/json: schema: $ref: "#/components/schemas/CountedSavedJobResponse" + examples: + CollectorResponseExamplesRestCollector: + $ref: "#/components/examples/CollectorResponseExamplesRestCollector" "401": description: Authentication failed (missing or invalid credentials or Bearer token). @@ -66185,11 +69007,15 @@ paths: description: Get the specified Collector. responses: "200": - description: The requested SavedJobResponse object in a single-item list. + description: The requested Collector in a response envelope with + count and items. content: application/json: schema: $ref: "#/components/schemas/CountedSavedJobResponse" + examples: + CollectorResponseExamplesRestCollector: + $ref: "#/components/examples/CollectorResponseExamplesRestCollector" "401": description: Authentication failed (missing or invalid credentials or Bearer token). @@ -66228,11 +69054,15 @@ paths: not function as expected. responses: "200": - description: The updated SavedJobResponse object in a single-item list. + description: The updated Collector in a response envelope with + count and items. content: application/json: schema: $ref: "#/components/schemas/CountedSavedJobResponse" + examples: + CollectorResponseExamplesRestCollector: + $ref: "#/components/examples/CollectorResponseExamplesRestCollector" "401": description: Authentication failed (missing or invalid credentials or Bearer token). @@ -66254,24 +69084,24 @@ paths: schema: $ref: "#/components/schemas/SavedJob" examples: - CollectorExamplesRest: - $ref: "#/components/examples/CollectorExamplesRest" - CollectorExamplesS3: - $ref: "#/components/examples/CollectorExamplesS3" - CollectorExamplesFilesystem: - $ref: "#/components/examples/CollectorExamplesFilesystem" - CollectorExamplesAzureBlob: - $ref: "#/components/examples/CollectorExamplesAzureBlob" - CollectorExamplesGoogleCloudStorage: - $ref: "#/components/examples/CollectorExamplesGoogleCloudStorage" - CollectorExamplesDatabase: - $ref: "#/components/examples/CollectorExamplesDatabase" - CollectorExamplesSplunk: - $ref: "#/components/examples/CollectorExamplesSplunk" - CollectorExamplesScript: - $ref: "#/components/examples/CollectorExamplesScript" - CollectorExamplesCriblLake: - $ref: "#/components/examples/CollectorExamplesCriblLake" + UpdateCollectorExamplesRest: + $ref: "#/components/examples/UpdateCollectorExamplesRest" + UpdateCollectorExamplesS3: + $ref: "#/components/examples/UpdateCollectorExamplesS3" + UpdateCollectorExamplesFilesystem: + $ref: "#/components/examples/UpdateCollectorExamplesFilesystem" + UpdateCollectorExamplesAzureBlob: + $ref: "#/components/examples/UpdateCollectorExamplesAzureBlob" + UpdateCollectorExamplesGoogleCloudStorage: + $ref: "#/components/examples/UpdateCollectorExamplesGoogleCloudStorage" + UpdateCollectorExamplesDatabase: + $ref: "#/components/examples/UpdateCollectorExamplesDatabase" + UpdateCollectorExamplesSplunk: + $ref: "#/components/examples/UpdateCollectorExamplesSplunk" + UpdateCollectorExamplesScript: + $ref: "#/components/examples/UpdateCollectorExamplesScript" + UpdateCollectorExamplesCriblLake: + $ref: "#/components/examples/UpdateCollectorExamplesCriblLake" parameters: - name: id in: path @@ -66291,11 +69121,15 @@ paths: description: Delete the specified Collector. responses: "200": - description: The deleted SavedJobResponse object in a single-item list. + description: The deleted Collector in a response envelope with + count and items. content: application/json: schema: $ref: "#/components/schemas/CountedSavedJobResponse" + examples: + CollectorResponseExamplesRestCollector: + $ref: "#/components/examples/CollectorResponseExamplesRestCollector" "401": description: Authentication failed (missing or invalid credentials or Bearer token). @@ -66807,6 +69641,9 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -66835,16 +69672,16 @@ paths: x-speakeasy-name-override: update x-cribl-internal: false x-cribl-availability: both - summary: Update a Route within a Pack - description: Update the specified Route within the specified - Pack.

Provide a complete representation of the Routing table, - including the Route that you want to update, in the request - body.

This endpoint does not support partial updates. Cribl - removes any omitted fields when updating the Routing - table.

Confirm that the configuration in your request body is - correct before sending the request. If the configuration is incorrect, - the updated Routing table might not function as expected.

Cribl - also removes any omitted Routes when updating the Routing table. + summary: Update a Routing table within a Pack + description: Update the specified Routing table within the specified + Pack.

Provide a complete representation of the Routing table + that you want to update in the request body.

This endpoint does + not support partial updates. Cribl removes any omitted fields when + updating the Routing table.

Confirm that the configuration in + your request body is correct before sending the request. If the + configuration is incorrect, the updated Routing table might not function + as expected.

Cribl also removes any omitted Routes when + updating the Routing table. responses: "200": description: The updated Routing table object in a single-item list. @@ -66867,6 +69704,9 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -66895,8 +69735,8 @@ paths: required: true schema: type: string - description: The id of the Routing table that contains the Route to - update. The supported value is default. + description: The id of the Routing table to update. The supported + value is default. - name: pack in: path required: true @@ -66927,6 +69767,9 @@ paths: $ref: "#/components/examples/RoutesResponseExamplesDefaultRoutingTable" RoutesResponseExamplesMultiRouteTable: $ref: "#/components/examples/RoutesResponseExamplesMultiRouteTable" + "400": + description: Failed validation or malformed input. The request body must be an + array of Route configurations. "401": description: Authentication failed (missing or invalid credentials or Bearer token). @@ -66934,6 +69777,9 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -67875,6 +70721,8 @@ paths: $ref: "#/components/examples/OutputCreateExamplesscalityS3" OutputCreateExamplesalibabaCloudS3: $ref: "#/components/examples/OutputCreateExamplesalibabaCloudS3" + OutputCreateExamplesibmCloudS3: + $ref: "#/components/examples/OutputCreateExamplesibmCloudS3" OutputCreateExamplesAzureBlob: $ref: "#/components/examples/OutputCreateExamplesAzureBlob" OutputCreateExamplesAzureDataExplorer: @@ -68024,6 +70872,9 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "409": + description: Request conflicts with current resource state — Destination with + the specified ID already exists. "500": description: Unexpected server error. content: @@ -68157,6 +71008,8 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesscalityS3" UpdateOutputExamplesalibabaCloudS3: $ref: "#/components/examples/UpdateOutputExamplesalibabaCloudS3" + UpdateOutputExamplesibmCloudS3: + $ref: "#/components/examples/UpdateOutputExamplesibmCloudS3" UpdateOutputExamplesAzureBlob: $ref: "#/components/examples/UpdateOutputExamplesAzureBlob" UpdateOutputExamplesAzureDataExplorer: @@ -68306,6 +71159,8 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "404": + description: The requested resource does not exist — Destination not found. "500": description: Unexpected server error. content: @@ -68356,6 +71211,11 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "404": + description: The requested resource does not exist — Destination not found. + "409": + description: Request conflicts with current resource state — Destination is + referenced by another entity. "500": description: Unexpected server error. content: @@ -68903,16 +71763,16 @@ paths: x-cribl-internal: false x-cribl-availability: both summary: Install a Pack - description: Install a Pack.

To install an uploaded Pack, provide the + description: Install a Pack.

To install an uploaded Pack, provide the source value from the PUT /packs response as - the source parameter in the request body.

To + the source parameter in the request body.

To install a Pack by importing from a URL, provide the direct URL location of the .crbl file for the Pack as the source - parameter in the request body.

To install a Pack by importing - from a Git repository, provide git+ as the - source parameter in the request body.

If you do not - include the source parameter in the request body, an empty - Pack is created. + parameter in the request body.

To install a Pack by importing + from a Git repository, provide git+<repo-url> as the + source parameter in the request body.

If you do + not include the source parameter in the request body, an + empty Pack is created. responses: "200": description: The installed Pack object in a single-item list. @@ -68993,10 +71853,10 @@ paths: required: false schema: type: string - description: Comma-separated list of additional properties to include in the - response. When set, the response includes a count of the specified - properties in the Pack. Available values are inputs and - outputs. + description: "Comma-separated list of additional properties to include in the + response. When set, the response includes a count of each specified + property in each Pack. Supported values: inputs, + outputs, collectors." put: operationId: updatePacks tags: @@ -69089,7 +71949,8 @@ paths: required: true schema: type: string - description: The id of the Pack to get. + description: The id of the Pack to get. Use the id + field from the list response. patch: operationId: updatePacksById tags: @@ -69146,7 +72007,8 @@ paths: required: true schema: type: string - description: The id of the Pack to upgrade. + description: The id of the Pack to upgrade. Use the id + field from the list response. delete: operationId: deletePacksById tags: @@ -69186,7 +72048,8 @@ paths: required: true schema: type: string - description: The id of the Pack to uninstall. + description: The id of the Pack to uninstall. Use the + id field from the list response. /pipelines: get: operationId: getPipelines @@ -70740,6 +73603,9 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -70762,14 +73628,15 @@ paths: x-speakeasy-name-override: update x-cribl-internal: false x-cribl-availability: both - summary: Update a Route - description: Update a Route in the specified Routing table.

\1 This - endpoint does not support partial updates. Cribl removes any omitted - fields when updating the Routing table.

Confirm that the - configuration in your request body is correct before sending the - request. If the configuration is incorrect, the updated Routing table - might not function as expected.

Cribl also removes any omitted - Routes when updating the Routing table. + summary: Update a Routing table + description: Update the specified Routing table.

Provide a complete + representation of the Routing table that you want to update in the + request body.

This endpoint does not support partial updates. + Cribl removes any omitted fields when updating the Routing + table.

Confirm that the configuration in your request body is + correct before sending the request. If the configuration is incorrect, + the updated Routing table might not function as expected.

Cribl + also removes any omitted Routes when updating the Routing table. responses: "200": description: The updated Routing table object in a single-item list. @@ -70792,6 +73659,9 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -70820,8 +73690,8 @@ paths: required: true schema: type: string - description: The id of the Routing table that contains the Route to - update. The supported value is default. + description: The id of the Routing table to update. The supported + value is default. /routes/{id}/append: post: operationId: createRoutesAppendById @@ -70845,6 +73715,9 @@ paths: $ref: "#/components/examples/RoutesResponseExamplesDefaultRoutingTable" RoutesResponseExamplesMultiRouteTable: $ref: "#/components/examples/RoutesResponseExamplesMultiRouteTable" + "400": + description: Failed validation or malformed input. The request body must be an + array of Route configurations. "401": description: Authentication failed (missing or invalid credentials or Bearer token). @@ -70852,6 +73725,9 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "404": + description: Routing table not found. The specified id does not + match any stored Routing table. "500": description: Unexpected server error. content: @@ -71775,6 +74651,8 @@ paths: $ref: "#/components/examples/OutputCreateExamplesscalityS3" OutputCreateExamplesalibabaCloudS3: $ref: "#/components/examples/OutputCreateExamplesalibabaCloudS3" + OutputCreateExamplesibmCloudS3: + $ref: "#/components/examples/OutputCreateExamplesibmCloudS3" OutputCreateExamplesAzureBlob: $ref: "#/components/examples/OutputCreateExamplesAzureBlob" OutputCreateExamplesAzureDataExplorer: @@ -71924,6 +74802,9 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "409": + description: Request conflicts with current resource state — Destination with + the specified ID already exists. "500": description: Unexpected server error. content: @@ -72038,6 +74919,8 @@ paths: $ref: "#/components/examples/UpdateOutputExamplesscalityS3" UpdateOutputExamplesalibabaCloudS3: $ref: "#/components/examples/UpdateOutputExamplesalibabaCloudS3" + UpdateOutputExamplesibmCloudS3: + $ref: "#/components/examples/UpdateOutputExamplesibmCloudS3" UpdateOutputExamplesAzureBlob: $ref: "#/components/examples/UpdateOutputExamplesAzureBlob" UpdateOutputExamplesAzureDataExplorer: @@ -72187,6 +75070,8 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "404": + description: The requested resource does not exist — Destination not found. "500": description: Unexpected server error. content: @@ -72231,6 +75116,11 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + "404": + description: The requested resource does not exist — Destination not found. + "409": + description: Request conflicts with current resource state — Destination is + referenced by another entity. "500": description: Unexpected server error. content: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 886272416..42a77d809 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,23 +1,23 @@ -speakeasyVersion: 1.778.0 +speakeasyVersion: 1.784.0 sources: Cribl API Reference: sourceNamespace: cribl-api-reference - sourceRevisionDigest: sha256:e267ed1bc8e0bb5f18aa299a6d7428a8225b6e6daa150614ee468bb6b7e8e782 - sourceBlobDigest: sha256:84a6040e15f33de41d4a75cd9064e555ddb29c797aab55a79eeff32bd7547493 + sourceRevisionDigest: sha256:78a4d43ae3100ecabeaed97fd6282ed3ea99b59150da128575a07c6742a16e3a + sourceBlobDigest: sha256:653cd2ec46009d4ce5a03bfe22cc438b5d7b0b728bb8a8c267f586ef811a3193 tags: - latest - - 4.19.0-alpha.1781564968784-83d7e3bb + - 4.19.0-alpha.1781910200538-80d95f00 targets: cribl-control-plane: source: Cribl API Reference sourceNamespace: cribl-api-reference - sourceRevisionDigest: sha256:e267ed1bc8e0bb5f18aa299a6d7428a8225b6e6daa150614ee468bb6b7e8e782 - sourceBlobDigest: sha256:84a6040e15f33de41d4a75cd9064e555ddb29c797aab55a79eeff32bd7547493 + sourceRevisionDigest: sha256:78a4d43ae3100ecabeaed97fd6282ed3ea99b59150da128575a07c6742a16e3a + sourceBlobDigest: sha256:653cd2ec46009d4ce5a03bfe22cc438b5d7b0b728bb8a8c267f586ef811a3193 codeSamplesNamespace: cribl-api-reference-python-code-samples - codeSamplesRevisionDigest: sha256:03ba20ae63a215a16692c0c614ce3c2e5a1a314bc61629673caee9ea6c95a32b + codeSamplesRevisionDigest: sha256:b17dff8fc136024ac2c86f7db6d89c63ff61d48f23a22724b03a4a29bdb1d1f7 workflow: workflowVersion: 1.0.0 - speakeasyVersion: 1.778.0 + speakeasyVersion: 1.784.0 sources: Cribl API Reference: inputs: diff --git a/README-PYPI.md b/README-PYPI.md index af6d96253..edca08ca6 100644 --- a/README-PYPI.md +++ b/README-PYPI.md @@ -352,7 +352,7 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packsroutes/README.md#list) - List all Routes within a Pack * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packsroutes/README.md#get) - Get a Routing table within a Pack -* [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packsroutes/README.md#update) - Update a Route within a Pack +* [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packsroutes/README.md#update) - Update a Routing table within a Pack * [append](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packsroutes/README.md#append) - Add a Route to the end of the Routing table within a Pack #### [Packs.Sources](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/packssources/README.md) @@ -390,7 +390,7 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl * [list](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md#list) - List all Routes * [get](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md#get) - Get a Routing table -* [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md#update) - Update a Route +* [update](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md#update) - Update a Routing table * [append](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/routessdk/README.md#append) - Add a Route to the end of the Routing table ### [Sources](https://github.com/criblio/cribl_control_plane_sdk_python/blob/master/docs/sdks/sources/README.md) diff --git a/README.md b/README.md index 3357ee07a..d8570b8aa 100644 --- a/README.md +++ b/README.md @@ -352,7 +352,7 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl * [list](docs/sdks/packsroutes/README.md#list) - List all Routes within a Pack * [get](docs/sdks/packsroutes/README.md#get) - Get a Routing table within a Pack -* [update](docs/sdks/packsroutes/README.md#update) - Update a Route within a Pack +* [update](docs/sdks/packsroutes/README.md#update) - Update a Routing table within a Pack * [append](docs/sdks/packsroutes/README.md#append) - Add a Route to the end of the Routing table within a Pack #### [Packs.Sources](docs/sdks/packssources/README.md) @@ -390,7 +390,7 @@ The [On-Prem Authentication Example](https://github.com/criblio/cribl_control_pl * [list](docs/sdks/routessdk/README.md#list) - List all Routes * [get](docs/sdks/routessdk/README.md#get) - Get a Routing table -* [update](docs/sdks/routessdk/README.md#update) - Update a Route +* [update](docs/sdks/routessdk/README.md#update) - Update a Routing table * [append](docs/sdks/routessdk/README.md#append) - Add a Route to the end of the Routing table ### [Sources](docs/sdks/sources/README.md) diff --git a/RELEASES.md b/RELEASES.md index cb3e72f1b..c0df2dd15 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -2318,4 +2318,14 @@ Based on: ### Generated - [python v0.9.0b5] . ### Releases -- [PyPI v0.9.0b5] https://pypi.org/project/cribl-control-plane/0.9.0b5 - . \ No newline at end of file +- [PyPI v0.9.0b5] https://pypi.org/project/cribl-control-plane/0.9.0b5 - . + +## 2026-06-22 06:14:06 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.784.0 (2.911.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.9.0b6] . +### Releases +- [PyPI v0.9.0b6] https://pypi.org/project/cribl-control-plane/0.9.0b6 - . \ No newline at end of file diff --git a/docs/errors/healthserverstatuserror.md b/docs/errors/healthserverstatuserror.md index 3f82df233..69f80e979 100644 --- a/docs/errors/healthserverstatuserror.md +++ b/docs/errors/healthserverstatuserror.md @@ -7,6 +7,7 @@ Health status of the Leader or Worker Node. | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `overlay` | [models.HealthOverlayStatus](../models/healthoverlaystatus.md) | :heavy_check_mark: | N/A | | `role` | [Optional[models.Role]](../models/role.md) | :heavy_minus_sign: | Leader Node role: primary or standby. | | `start_time` | *int* | :heavy_check_mark: | Timestamp (in Unix time) when the Cribl process started. | | `status` | [models.HealthServerStatusStatus](../models/healthserverstatusstatus.md) | :heavy_check_mark: | Health state: healthy, standby, or shutting down. | \ No newline at end of file diff --git a/docs/models/activehealthoverlaystatus.md b/docs/models/activehealthoverlaystatus.md new file mode 100644 index 000000000..3d327a60a --- /dev/null +++ b/docs/models/activehealthoverlaystatus.md @@ -0,0 +1,10 @@ +# ActiveHealthOverlayStatus + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `binary_version` | *str* | :heavy_check_mark: | Binary version targeted by the active overlay. | 4.12.0 | +| `overlay_id` | *str* | :heavy_check_mark: | Active overlay identifier. | **Example 1:** patch.0
**Example 2:** sideload.a1b2c3d | +| `state` | *Literal["active"]* | :heavy_check_mark: | Current overlay state. | active | \ No newline at end of file diff --git a/docs/models/connectionconfinputcollection.md b/docs/models/connectionconfinputcollection.md index 6595dd5ec..91aa0618c 100644 --- a/docs/models/connectionconfinputcollection.md +++ b/docs/models/connectionconfinputcollection.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `pipeline` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `output` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline or Pack to process data before sending to the Destination. | +| `output` | *Optional[str]* | :heavy_minus_sign: | Destination to send data to when not using Routes. | \ No newline at end of file diff --git a/docs/models/createinputauthtokensplunkhec.md b/docs/models/createinputauthtokensplunkhec.md index 660c68593..1e5834a78 100644 --- a/docs/models/createinputauthtokensplunkhec.md +++ b/docs/models/createinputauthtokensplunkhec.md @@ -8,7 +8,7 @@ | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | | `token_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `token` | *str* | :heavy_check_mark: | Shared secret to be provided by any client (Authorization: ) | -| `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the token is active and can be used for authentication. | | `description` | *Optional[str]* | :heavy_minus_sign: | Optional token description | | `allowed_indexes_at_token` | List[*str*] | :heavy_minus_sign: | Enter the values you want to allow in the HEC event index field at the token level. Supports wildcards. To skip validation, leave blank. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events referencing this token | \ No newline at end of file diff --git a/docs/models/createinputinputanthropiccompliance.md b/docs/models/createinputinputanthropiccompliance.md index 87b020160..c490f56be 100644 --- a/docs/models/createinputinputanthropiccompliance.md +++ b/docs/models/createinputinputanthropiccompliance.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeAnthropicCompliance](../models/createinputtypeanthropiccompliance.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -25,6 +25,6 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputappleunifiedlogs.md b/docs/models/createinputinputappleunifiedlogs.md index 273cc699b..1bfdc48d5 100644 --- a/docs/models/createinputinputappleunifiedlogs.md +++ b/docs/models/createinputinputappleunifiedlogs.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeAppleUnifiedLogs](../models/createinputtypeappleunifiedlogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -18,6 +18,6 @@ | `predicate` | *str* | :heavy_check_mark: | String to filter log entries, in NSPredicate format (e.g., subsystem == "com.apple.security" or process == "kernel"). See [Common Log Types and Predicates](https://docs.cribl.io/edge/sources-apple-unified-logs/#examples) for more information. | | `read_mode` | [Optional[models.CreateInputReadModeAppleUnifiedLogs]](../models/createinputreadmodeappleunifiedlogs.md) | :heavy_minus_sign: | Read all log entries (historical and upcoming), or only upcoming, from the last entry | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputappscope.md b/docs/models/createinputinputappscope.md index c72088279..e1c91882e 100644 --- a/docs/models/createinputinputappscope.md +++ b/docs/models/createinputinputappscope.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeAppscope](../models/createinputtypeappscope.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `filter_` | [Optional[models.CreateInputFilterAppscope]](../models/createinputfilterappscope.md) | :heavy_minus_sign: | N/A | | `persistence` | [Optional[models.CreateInputPersistenceAppscope]](../models/createinputpersistenceappscope.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | | `port` | *Optional[float]* | :heavy_minus_sign: | Port to listen on | | `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/createinputinputazureblob.md b/docs/models/createinputinputazureblob.md index c31da67c5..8ea4e0e09 100644 --- a/docs/models/createinputinputazureblob.md +++ b/docs/models/createinputinputazureblob.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeAzureBlob](../models/createinputtypeazureblob.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | | `parquet_chunk_download_timeout` | *Optional[float]* | :heavy_minus_sign: | The maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified. | | `auth_type` | [Optional[models.AuthenticationMethodOptions]](../models/authenticationmethodoptions.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `connection_string` | *Optional[str]* | :heavy_minus_sign: | Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `storage_account_name` | *Optional[str]* | :heavy_minus_sign: | The name of your Azure storage account | diff --git a/docs/models/createinputinputcloudflarehec.md b/docs/models/createinputinputcloudflarehec.md index 0001a3eac..fca287b9b 100644 --- a/docs/models/createinputinputcloudflarehec.md +++ b/docs/models/createinputinputcloudflarehec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeCloudflareHec](../models/createinputtypecloudflarehec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeCloudflareHec](../models/createinputtypecloudflarehec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputcollection.md b/docs/models/createinputinputcollection.md index 6c6668558..053e8a3a6 100644 --- a/docs/models/createinputinputcollection.md +++ b/docs/models/createinputinputcollection.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeCollection](../models/createinputtypecollection.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process results | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Send events to normal routing and event processing. Disable to select a specific Pipeline/Destination combination. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | diff --git a/docs/models/createinputinputconfluentcloud.md b/docs/models/createinputinputconfluentcloud.md index 2e9f31dfa..9077af10d 100644 --- a/docs/models/createinputinputconfluentcloud.md +++ b/docs/models/createinputinputconfluentcloud.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeConfluentCloud](../models/createinputtypeconfluentcloud.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/createinputinputcribl.md b/docs/models/createinputinputcribl.md index d7462782d..bfa92d659 100644 --- a/docs/models/createinputinputcribl.md +++ b/docs/models/createinputinputcribl.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeCribl](../models/createinputtypecribl.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -17,6 +17,6 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `filter_` | *Optional[str]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputcriblhttp.md b/docs/models/createinputinputcriblhttp.md index 291fcef4f..65a50b931 100644 --- a/docs/models/createinputinputcriblhttp.md +++ b/docs/models/createinputinputcriblhttp.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeCriblHTTP](../models/createinputtypecriblhttp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeCriblHTTP](../models/createinputtypecriblhttp.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,7 +31,7 @@ | `ip_allowlist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be processed, unless also matched by the denylist | | `ip_denylist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be ignored. This takes precedence over the allowlist. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputcribllakehttp.md b/docs/models/createinputinputcribllakehttp.md index 26fa6200b..98a43b2f4 100644 --- a/docs/models/createinputinputcribllakehttp.md +++ b/docs/models/createinputinputcribllakehttp.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeCriblLakeHTTP](../models/createinputtypecribllakehttp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeCriblLakeHTTP](../models/createinputtypecribllakehttp.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `splunk_hec_acks` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_tokens_ext` | List[[models.CreateInputAuthTokensExt](../models/createinputauthtokensext.md)] | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputcriblmetrics.md b/docs/models/createinputinputcriblmetrics.md index 25ec40a3a..e2af1cea4 100644 --- a/docs/models/createinputinputcriblmetrics.md +++ b/docs/models/createinputinputcriblmetrics.md @@ -7,7 +7,7 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeCriblmetrics](../models/createinputtypecriblmetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -18,6 +18,6 @@ | `prefix` | *Optional[str]* | :heavy_minus_sign: | A prefix that is applied to the metrics provided by Cribl Stream | | `full_fidelity` | *Optional[bool]* | :heavy_minus_sign: | Include granular metrics. Disabling this will drop the following metrics events: `cribl.logstream.host.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.index.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.source.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.sourcetype.(in_bytes,in_events,out_bytes,out_events)`. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputcribltcp.md b/docs/models/createinputinputcribltcp.md index f093bbae9..4507db174 100644 --- a/docs/models/createinputinputcribltcp.md +++ b/docs/models/createinputinputcribltcp.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeCriblTCP](../models/createinputtypecribltcp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -26,7 +26,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | | `auth_tokens` | List[[models.AuthTokenConfInputCriblTCP](../models/authtokenconfinputcribltcp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputcrowdstrike.md b/docs/models/createinputinputcrowdstrike.md index d8f771a17..cf2fa4852 100644 --- a/docs/models/createinputinputcrowdstrike.md +++ b/docs/models/createinputinputcrowdstrike.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeCrowdstrike](../models/createinputtypecrowdstrike.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -42,7 +42,7 @@ | `checkpointing` | [Optional[models.CheckpointingType]](../models/checkpointingtype.md) | :heavy_minus_sign: | N/A | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/createinputinputdatadogagent.md b/docs/models/createinputinputdatadogagent.md index 94bc60776..e60d37ddb 100644 --- a/docs/models/createinputinputdatadogagent.md +++ b/docs/models/createinputinputdatadogagent.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeDatadogAgent](../models/createinputtypedatadogagent.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeDatadogAgent](../models/createinputtypedatadogagent.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Toggle to Yes to extract each incoming metric to multiple events, one per data point. This works well when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave toggled to No (the default). | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `proxy_mode` | [Optional[models.CreateInputProxyModeDatadogAgent]](../models/createinputproxymodedatadogagent.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputdatagen.md b/docs/models/createinputinputdatagen.md index 676b89f6e..c09efd1d0 100644 --- a/docs/models/createinputinputdatagen.md +++ b/docs/models/createinputinputdatagen.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeDatagen](../models/createinputtypedatagen.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -17,6 +17,6 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `samples` | List[[models.CreateInputSample](../models/createinputsample.md)] | :heavy_check_mark: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputedgeprometheus.md b/docs/models/createinputinputedgeprometheus.md index 8001d82da..46cf2d3ed 100644 --- a/docs/models/createinputinputedgeprometheus.md +++ b/docs/models/createinputinputedgeprometheus.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeEdgePrometheus](../models/createinputtypeedgeprometheus.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `persistence` | [Optional[models.DiskSpoolingType]](../models/diskspoolingtype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_type` | [Optional[models.CreateInputAuthenticationMethodEdgePrometheus]](../models/createinputauthenticationmethodedgeprometheus.md) | :heavy_minus_sign: | Enter credentials directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `targets` | List[[models.CreateInputTarget](../models/createinputtarget.md)] | :heavy_minus_sign: | N/A | | `record_type` | [Optional[models.RecordTypeOptions]](../models/recordtypeoptions.md) | :heavy_minus_sign: | DNS record type to resolve | | `scrape_port` | *Optional[float]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets. | diff --git a/docs/models/createinputinputelastic.md b/docs/models/createinputinputelastic.md index 9f3ca6afa..ff2e1e680 100644 --- a/docs/models/createinputinputelastic.md +++ b/docs/models/createinputinputelastic.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeElastic](../models/createinputtypeelastic.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeElastic](../models/createinputtypeelastic.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `proxy_mode` | [Optional[models.CreateInputProxyModeElastic]](../models/createinputproxymodeelastic.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createinputinputeventhub.md b/docs/models/createinputinputeventhub.md index 0e1f3300d..6ef39e3a1 100644 --- a/docs/models/createinputinputeventhub.md +++ b/docs/models/createinputinputeventhub.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeEventhub](../models/createinputtypeeventhub.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `minimize_duplicates` | *Optional[bool]* | :heavy_minus_sign: | Minimize duplicate events by starting only one consumer for each topic partition | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/createinputinputeventhubamqp.md b/docs/models/createinputinputeventhubamqp.md index a4c271470..8e0cd27f8 100644 --- a/docs/models/createinputinputeventhubamqp.md +++ b/docs/models/createinputinputeventhubamqp.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeEventhubAmqp](../models/createinputtypeeventhubamqp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,6 +31,6 @@ | `connection_max_backoff` | *Optional[int]* | :heavy_minus_sign: | Maximum delay between reconnection attempts, in milliseconds | | `connection_timeout_in_ms` | *Optional[int]* | :heavy_minus_sign: | Maximum time to wait for a connection to complete | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputexec.md b/docs/models/createinputinputexec.md index 0e9168003..c6f6ed587 100644 --- a/docs/models/createinputinputexec.md +++ b/docs/models/createinputinputexec.md @@ -22,7 +22,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `interval` | *Optional[float]* | :heavy_minus_sign: | Interval between command executions in seconds. | | `cron_schedule` | *Optional[str]* | :heavy_minus_sign: | Cron schedule to execute the command on. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputinputfile.md b/docs/models/createinputinputfile.md index 94d3c8f38..5031e2764 100644 --- a/docs/models/createinputinputfile.md +++ b/docs/models/createinputinputfile.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputInputFileType](../models/createinputinputfiletype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `disable_stale_channel_flush` | *Optional[bool]* | :heavy_minus_sign: | When enabled, no Event Breaker channel flush timeout applies and the timeout below is ignored. Prefer this option when using header-based breakers for file types such as CSV or IIS. | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `path` | *Optional[str]* | :heavy_minus_sign: | Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/). | | `depth` | *Optional[float]* | :heavy_minus_sign: | Set how many subdirectories deep to search. Use 0 to search only files in the given path, 1 to also look in its immediate subdirectories, etc. Leave it empty for unlimited depth. | | `suppress_missing_path_errors` | *Optional[bool]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/createinputinputfirehose.md b/docs/models/createinputinputfirehose.md index b8b01ef11..adaaeb664 100644 --- a/docs/models/createinputinputfirehose.md +++ b/docs/models/createinputinputfirehose.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeFirehose](../models/createinputtypefirehose.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeFirehose](../models/createinputtypefirehose.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,7 +31,7 @@ | `ip_allowlist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be processed, unless also matched by the denylist | | `ip_denylist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be ignored. This takes precedence over the allowlist. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputgooglepubsub.md b/docs/models/createinputinputgooglepubsub.md index 43adc6a5c..21bff2796 100644 --- a/docs/models/createinputinputgooglepubsub.md +++ b/docs/models/createinputinputgooglepubsub.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeGooglePubsub](../models/createinputtypegooglepubsub.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `concurrency` | *Optional[float]* | :heavy_minus_sign: | How many streams to pull messages from at one time. Doubling the value doubles the number of messages this Source pulls from the topic (if available), while consuming more CPU and memory. Defaults to 5. | | `request_timeout` | *Optional[float]* | :heavy_minus_sign: | Pull request timeout, in milliseconds | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `ordered_delivery` | *Optional[bool]* | :heavy_minus_sign: | Receive events in the order they were added to the queue. The process sending events must have ordering enabled. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/createinputinputgrafanagrafana1.md b/docs/models/createinputinputgrafanagrafana1.md index e982a6fc2..6a971d73b 100644 --- a/docs/models/createinputinputgrafanagrafana1.md +++ b/docs/models/createinputinputgrafanagrafana1.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputInputGrafanaType1](../models/createinputinputgrafanatype1.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputInputGrafanaType1](../models/createinputinputgrafanatype1.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `prometheus_auth` | [Optional[models.CreateInputPrometheusAuth1]](../models/createinputprometheusauth1.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.CreateInputLokiAuth1]](../models/createinputlokiauth1.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputgrafanagrafana2.md b/docs/models/createinputinputgrafanagrafana2.md index ee9a110cb..3aa286bad 100644 --- a/docs/models/createinputinputgrafanagrafana2.md +++ b/docs/models/createinputinputgrafanagrafana2.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputInputGrafanaType2](../models/createinputinputgrafanatype2.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputInputGrafanaType2](../models/createinputinputgrafanatype2.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `prometheus_auth` | [Optional[models.CreateInputPrometheusAuth2]](../models/createinputprometheusauth2.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.CreateInputLokiAuth2]](../models/createinputlokiauth2.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputgrafanatype1.md b/docs/models/createinputinputgrafanatype1.md index 76587f6d6..28997cc35 100644 --- a/docs/models/createinputinputgrafanatype1.md +++ b/docs/models/createinputinputgrafanatype1.md @@ -1,5 +1,7 @@ # CreateInputInputGrafanaType1 +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputinputgrafanatype2.md b/docs/models/createinputinputgrafanatype2.md index 2de5384f0..6f8fd4ebf 100644 --- a/docs/models/createinputinputgrafanatype2.md +++ b/docs/models/createinputinputgrafanatype2.md @@ -1,5 +1,7 @@ # CreateInputInputGrafanaType2 +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputinputhttp.md b/docs/models/createinputinputhttp.md index 8878f11eb..11a9db440 100644 --- a/docs/models/createinputinputhttp.md +++ b/docs/models/createinputinputhttp.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeHTTP](../models/createinputtypehttp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeHTTP](../models/createinputtypehttp.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `splunk_hec_acks` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputhttpraw.md b/docs/models/createinputinputhttpraw.md index 43259f9f6..3d7bbd4ac 100644 --- a/docs/models/createinputinputhttpraw.md +++ b/docs/models/createinputinputhttpraw.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeHTTPRaw](../models/createinputtypehttpraw.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeHTTPRaw](../models/createinputtypehttpraw.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `allowed_paths` | List[*str*] | :heavy_minus_sign: | List of URI paths accepted by this input, wildcards are supported, e.g /api/v*/hook. Defaults to allow all. | | `allowed_methods` | List[*str*] | :heavy_minus_sign: | List of HTTP methods accepted by this input. Wildcards are supported (such as P*, GET). Defaults to allow all. | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputjournalfiles.md b/docs/models/createinputinputjournalfiles.md index 1eb6457a3..1e2b47b9b 100644 --- a/docs/models/createinputinputjournalfiles.md +++ b/docs/models/createinputinputjournalfiles.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputInputJournalFilesType](../models/createinputinputjournalfilestype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,6 +23,6 @@ | `max_age_dur` | *Optional[str]* | :heavy_minus_sign: | The maximum log message age, in duration form (e.g,: 60s, 4h, 3d, 1w). Default of no value will apply no max age filters. | | `suppress_missing_path_errors` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputkafka.md b/docs/models/createinputinputkafka.md index f7d09f724..d635e5bdb 100644 --- a/docs/models/createinputinputkafka.md +++ b/docs/models/createinputinputkafka.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeKafka](../models/createinputtypekafka.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/createinputinputkinesis.md b/docs/models/createinputinputkinesis.md index 0cb3db5e2..ad5f9d07a 100644 --- a/docs/models/createinputinputkinesis.md +++ b/docs/models/createinputinputkinesis.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeKinesis](../models/createinputtypekinesis.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `verify_kpl_check_sums` | *Optional[bool]* | :heavy_minus_sign: | Verify Kinesis Producer Library (KPL) event checksums | | `avoid_duplicates` | *Optional[bool]* | :heavy_minus_sign: | When resuming streaming from a stored state, Stream will read the next available record, rather than rereading the last-read record. Enabling this setting can cause data loss after a Worker Node's unexpected shutdown or restart. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputinputkubeevents.md b/docs/models/createinputinputkubeevents.md index e2445f793..72c160ba9 100644 --- a/docs/models/createinputinputkubeevents.md +++ b/docs/models/createinputinputkubeevents.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeKubeEvents](../models/createinputtypekubeevents.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -17,6 +17,6 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `rules` | List[[models.RuleConfInputKubeMetrics](../models/ruleconfinputkubemetrics.md)] | :heavy_minus_sign: | Filtering on event fields | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputkubelogs.md b/docs/models/createinputinputkubelogs.md index b3726aef8..273f0c21c 100644 --- a/docs/models/createinputinputkubelogs.md +++ b/docs/models/createinputinputkubelogs.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeKubeLogs](../models/createinputtypekubelogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -25,6 +25,6 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputkubemetrics.md b/docs/models/createinputinputkubemetrics.md index 52d6e6a19..f242bbdae 100644 --- a/docs/models/createinputinputkubemetrics.md +++ b/docs/models/createinputinputkubemetrics.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeKubeMetrics](../models/createinputtypekubemetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -21,6 +21,6 @@ | `rules` | List[[models.RuleConfInputKubeMetrics](../models/ruleconfinputkubemetrics.md)] | :heavy_minus_sign: | Add rules to decide which Kubernetes objects to generate metrics for. Events are generated if no rules are given or of all the rules' expressions evaluate to true. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.CreateInputPersistenceKubeMetrics]](../models/createinputpersistencekubemetrics.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputloki.md b/docs/models/createinputinputloki.md index 9c3249e7d..aeb828522 100644 --- a/docs/models/createinputinputloki.md +++ b/docs/models/createinputinputloki.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeLoki](../models/createinputtypeloki.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeLoki](../models/createinputtypeloki.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `loki_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'. | | `auth_type` | [Optional[models.AuthenticationTypeOptionsLokiAuth]](../models/authenticationtypeoptionslokiauth.md) | :heavy_minus_sign: | Loki logs authentication type | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/createinputinputmetrics.md b/docs/models/createinputinputmetrics.md index fd0228ff5..6ea20804f 100644 --- a/docs/models/createinputinputmetrics.md +++ b/docs/models/createinputinputmetrics.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeMetrics](../models/createinputtypemetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -24,7 +24,7 @@ | `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputmicrosoftgraph.md b/docs/models/createinputinputmicrosoftgraph.md index 76d5af11d..eda5aa886 100644 --- a/docs/models/createinputinputmicrosoftgraph.md +++ b/docs/models/createinputinputmicrosoftgraph.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeMicrosoftGraph](../models/createinputtypemicrosoftgraph.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -33,7 +33,7 @@ | `max_task_reschedule` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times a task can be rescheduled | | `log_level` | [Optional[models.LogLevelOptionsDebugError]](../models/logleveloptionsdebugerror.md) | :heavy_minus_sign: | Log Level (verbosity) for collection runtime behavior. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | client_secret to pass in the OAuth request parameter. | | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Directory ID (tenant identifier) in Azure Active Directory. | | `client_id` | *Optional[str]* | :heavy_minus_sign: | client_id to pass in the OAuth request parameter. | diff --git a/docs/models/createinputinputmodeldriventelemetry.md b/docs/models/createinputinputmodeldriventelemetry.md index 982b7fb46..e75264ea1 100644 --- a/docs/models/createinputinputmodeldriventelemetry.md +++ b/docs/models/createinputinputmodeldriventelemetry.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeModelDrivenTelemetry](../models/createinputtypemodeldriventelemetry.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -21,7 +21,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_active_cxn` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active connections allowed per Worker Process. Use 0 for unlimited. | | `shutdown_timeout_ms` | *Optional[float]* | :heavy_minus_sign: | Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputmsk.md b/docs/models/createinputinputmsk.md index 9c7ae020e..8cc6a77ce 100644 --- a/docs/models/createinputinputmsk.md +++ b/docs/models/createinputinputmsk.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeMsk](../models/createinputtypemsk.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -48,7 +48,7 @@ | `max_bytes_per_partition` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of data that Kafka will return per partition, per fetch request. Must equal or exceed the maximum message size (maxBytesPerPartition) that Kafka is configured to allow. Otherwise, @{product} can get stuck trying to retrieve messages. Defaults to 1048576 (1 MB). | | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputinputnetflow.md b/docs/models/createinputinputnetflow.md index 799078ccc..9817cc530 100644 --- a/docs/models/createinputinputnetflow.md +++ b/docs/models/createinputinputnetflow.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeNetflow](../models/createinputtypenetflow.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -26,7 +26,7 @@ | `v9_enabled` | *Optional[bool]* | :heavy_minus_sign: | Accept messages in Netflow V9 format. | | `ipfix_enabled` | *Optional[bool]* | :heavy_minus_sign: | Accept messages in IPFIX format. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputoffice365mgmt.md b/docs/models/createinputinputoffice365mgmt.md index 222469645..fed906ba9 100644 --- a/docs/models/createinputinputoffice365mgmt.md +++ b/docs/models/createinputinputoffice365mgmt.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeOffice365Mgmt](../models/createinputtypeoffice365mgmt.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `ingestion_lag` | *Optional[float]* | :heavy_minus_sign: | Use this setting to account for ingestion lag. This is necessary because there can be a lag of 60 - 90 minutes (or longer) before Microsoft 365 events are available for retrieval. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | Microsoft 365 Azure client secret | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputinputoffice365msgtrace.md b/docs/models/createinputinputoffice365msgtrace.md index adb397612..5a5ee5518 100644 --- a/docs/models/createinputinputoffice365msgtrace.md +++ b/docs/models/createinputinputoffice365msgtrace.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeOffice365MsgTrace](../models/createinputtypeoffice365msgtrace.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `max_task_reschedule` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times a task can be rescheduled | | `log_level` | [Optional[models.LogLevelOptionsDebugError]](../models/logleveloptionsdebugerror.md) | :heavy_minus_sign: | Log Level (verbosity) for collection runtime behavior. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username to run Message Trace API call. | | `password` | *Optional[str]* | :heavy_minus_sign: | Password to run Message Trace API call. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials. | diff --git a/docs/models/createinputinputoffice365service.md b/docs/models/createinputinputoffice365service.md index 460e83797..224957787 100644 --- a/docs/models/createinputinputoffice365service.md +++ b/docs/models/createinputinputoffice365service.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeOffice365Service](../models/createinputtypeoffice365service.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `content_config` | List[[models.CreateInputContentConfigOffice365Service](../models/createinputcontentconfigoffice365service.md)] | :heavy_minus_sign: | Enable Microsoft 365 Service Communication API content types and polling intervals. Polling intervals are used to set up search date range and cron schedule, e.g.: */${interval} * * * *. Because of this, intervals entered for current and historical status must be evenly divisible by 60 to give a predictable schedule. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | Microsoft 365 Azure client secret | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputinputokta.md b/docs/models/createinputinputokta.md index 2b8425e92..ffb153caa 100644 --- a/docs/models/createinputinputokta.md +++ b/docs/models/createinputinputokta.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeOkta](../models/createinputtypeokta.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_okta_domain` | *Optional[str]* | :heavy_minus_sign: | Binds 'oktaDomain' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oktaDomain' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputopenai.md b/docs/models/createinputinputopenai.md index a1d62e5f6..1a81a1fb6 100644 --- a/docs/models/createinputinputopenai.md +++ b/docs/models/createinputinputopenai.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeOpenai](../models/createinputtypeopenai.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -27,7 +27,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_openai_organization` | *Optional[str]* | :heavy_minus_sign: | Binds 'openaiOrganization' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'openaiOrganization' at runtime. | diff --git a/docs/models/createinputinputopenaicompliancelogs.md b/docs/models/createinputinputopenaicompliancelogs.md index bacc2a6d8..bde3823df 100644 --- a/docs/models/createinputinputopenaicompliancelogs.md +++ b/docs/models/createinputinputopenaicompliancelogs.md @@ -7,7 +7,7 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeOpenaiComplianceLogs](../models/createinputtypeopenaicompliancelogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `workspace_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the ChatGPT workspace to collect logs from (UUID format) | | `workspace_event_types` | List[*str*] | :heavy_minus_sign: | One or more compliance log categories to collect | | `organization_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the OpenAI API Platform Organization (example: org-XXXXXXXXXXXXXXXXXXXXXXXX) | diff --git a/docs/models/createinputinputopentelemetry.md b/docs/models/createinputinputopentelemetry.md index 8b9f63a7a..58a1aecd3 100644 --- a/docs/models/createinputinputopentelemetry.md +++ b/docs/models/createinputinputopentelemetry.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeOpenTelemetry](../models/createinputtypeopentelemetry.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeOpenTelemetry](../models/createinputtypeopentelemetry.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `auth_methods_ext` | List[[models.CreateInputAuthMethodsExt](../models/createinputauthmethodsext.md)] | :heavy_minus_sign: | Shared secrets to authenticate clients. Supports Bearer tokens and Basic auth. If empty, unauthenticated access is permitted. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_active_cxn` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active connections allowed per Worker Process. Use 0 for unlimited. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/createinputinputprometheus.md b/docs/models/createinputinputprometheus.md index 63b6c9be7..fc64cd459 100644 --- a/docs/models/createinputinputprometheus.md +++ b/docs/models/createinputinputprometheus.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypePrometheus](../models/createinputtypeprometheus.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_type` | [Optional[models.AuthenticationMethodOptionsSasl]](../models/authenticationmethodoptionssasl.md) | :heavy_minus_sign: | Enter credentials directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `target_list` | List[*str*] | :heavy_minus_sign: | 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'. | | `record_type` | [Optional[models.RecordTypeOptions]](../models/recordtypeoptions.md) | :heavy_minus_sign: | DNS record type to resolve | | `scrape_port` | *Optional[float]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets | diff --git a/docs/models/createinputinputprometheusrw.md b/docs/models/createinputinputprometheusrw.md index a7e4e6bfb..6dc774bbb 100644 --- a/docs/models/createinputinputprometheusrw.md +++ b/docs/models/createinputinputprometheusrw.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypePrometheusRw](../models/createinputtypeprometheusrw.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypePrometheusRw](../models/createinputtypeprometheusrw.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `prometheus_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://:/write. | | `auth_type` | [Optional[models.AuthenticationTypeOptionsPrometheusAuth]](../models/authenticationtypeoptionsprometheusauth.md) | :heavy_minus_sign: | Remote Write authentication type | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/createinputinputrawudp.md b/docs/models/createinputinputrawudp.md index 96a4c6467..65cececb7 100644 --- a/docs/models/createinputinputrawudp.md +++ b/docs/models/createinputinputrawudp.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeRawUDP](../models/createinputtyperawudp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `ingest_raw_bytes` | *Optional[bool]* | :heavy_minus_sign: | If true, a __rawBytes field will be added to each event containing the raw bytes of the datagram. | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputs3.md b/docs/models/createinputinputs3.md index 73735f6e2..2a1a35479 100644 --- a/docs/models/createinputinputs3.md +++ b/docs/models/createinputinputs3.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeS3](../models/createinputtypes3.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -45,7 +45,7 @@ | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | | `tag_after_processing` | *Optional[bool]* | :heavy_minus_sign: | Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `processed_tag_key` | *Optional[str]* | :heavy_minus_sign: | The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | diff --git a/docs/models/createinputinputs3inventory.md b/docs/models/createinputinputs3inventory.md index 20fcf0856..6de8a7b66 100644 --- a/docs/models/createinputinputs3inventory.md +++ b/docs/models/createinputinputs3inventory.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeS3Inventory](../models/createinputtypes3inventory.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -46,7 +46,7 @@ | `checksum_suffix` | *Optional[str]* | :heavy_minus_sign: | Filename suffix of the manifest checksum file. If a filename matching this suffix is received in the queue, the matching manifest file will be downloaded and validated against its value. Defaults to "checksum" | | `max_manifest_size_kb` | *Optional[int]* | :heavy_minus_sign: | Maximum download size (KB) of each manifest or checksum file. Manifest files larger than this size will not be read. Defaults to 4096. | | `validate_inventory_files` | *Optional[bool]* | :heavy_minus_sign: | If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/createinputinputsecuritylake.md b/docs/models/createinputinputsecuritylake.md index 7aae0ae1f..ad9122b22 100644 --- a/docs/models/createinputinputsecuritylake.md +++ b/docs/models/createinputinputsecuritylake.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeSecurityLake](../models/createinputtypesecuritylake.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -44,7 +44,7 @@ | `checkpointing` | [Optional[models.CheckpointingType]](../models/checkpointingtype.md) | :heavy_minus_sign: | N/A | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/createinputinputservicenowtable.md b/docs/models/createinputinputservicenowtable.md index 0790f35f2..409e02b7e 100644 --- a/docs/models/createinputinputservicenowtable.md +++ b/docs/models/createinputinputservicenowtable.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeServicenowTable](../models/createinputtypeservicenowtable.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | | `oauth_grant_type` | [Optional[models.CreateInputGrantType]](../models/createinputgranttype.md) | :heavy_minus_sign: | ServiceNow OAuth grant type used for token requests | | `username` | *Optional[str]* | :heavy_minus_sign: | ServiceNow username for the password grant type | diff --git a/docs/models/createinputinputsnmp.md b/docs/models/createinputinputsnmp.md index 00217c31c..0dea88d96 100644 --- a/docs/models/createinputinputsnmp.md +++ b/docs/models/createinputinputsnmp.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeSnmp](../models/createinputtypesnmp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -24,7 +24,7 @@ | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `varbinds_with_types` | *Optional[bool]* | :heavy_minus_sign: | If enabled, parses varbinds as an array of objects that include OID, value, and type | | `best_effort_parsing` | *Optional[bool]* | :heavy_minus_sign: | If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputsplunk.md b/docs/models/createinputinputsplunk.md index 319ecf9a7..0ee4e36fe 100644 --- a/docs/models/createinputinputsplunk.md +++ b/docs/models/createinputinputsplunk.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeSplunk](../models/createinputtypesplunk.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `auth_tokens` | List[[models.CreateInputAuthTokenSplunk](../models/createinputauthtokensplunk.md)] | :heavy_minus_sign: | Shared secrets to be provided by any Splunk forwarder. If empty, unauthorized access is permitted. | | `max_s2_sversion` | [Optional[models.CreateInputMaxS2SVersion]](../models/createinputmaxs2sversion.md) | :heavy_minus_sign: | The highest S2S protocol version to advertise during handshake | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `use_fwd_timezone` | *Optional[bool]* | :heavy_minus_sign: | Event Breakers will determine events' time zone from UF-provided metadata, when TZ can't be inferred from the raw event | | `drop_control_fields` | *Optional[bool]* | :heavy_minus_sign: | Drop Splunk control fields such as `crcSalt` and `_savedPort`. If disabled, control fields are stored in the internal field `__ctrlFields`. | | `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Extract and process Splunk-generated metrics as Cribl metrics | diff --git a/docs/models/createinputinputsplunkhec.md b/docs/models/createinputinputsplunkhec.md index b50ade622..8f3dec7cf 100644 --- a/docs/models/createinputinputsplunkhec.md +++ b/docs/models/createinputinputsplunkhec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeSplunkHec](../models/createinputtypesplunkhec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeSplunkHec](../models/createinputtypesplunkhec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -41,7 +41,7 @@ | `access_control_allow_origin` | List[*str*] | :heavy_minus_sign: | Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards. | | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | Optionally, list HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputsplunksearch.md b/docs/models/createinputinputsplunksearch.md index 57e7baf4d..b4e59844e 100644 --- a/docs/models/createinputinputsplunksearch.md +++ b/docs/models/createinputinputsplunksearch.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeSplunkSearch](../models/createinputtypesplunksearch.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `auth_type` | [models.CreateInputAuthenticationTypeSplunkSearch](../models/createinputauthenticationtypesplunksearch.md) | :heavy_check_mark: | Splunk Search authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/createinputinputsqs.md b/docs/models/createinputinputsqs.md index d54787b88..3afb09fc7 100644 --- a/docs/models/createinputinputsqs.md +++ b/docs/models/createinputinputsqs.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeSqs](../models/createinputtypesqs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -33,7 +33,7 @@ | `visibility_timeout` | *Optional[float]* | :heavy_minus_sign: | After messages are retrieved by a ReceiveMessage request, @{product} will hide them from subsequent retrieve requests for at least this duration. You can set this as high as 43200 sec. (12 hours). | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `num_receivers` | *Optional[float]* | :heavy_minus_sign: | How many receiver processes to run. The higher the number, the better the throughput - at the expense of CPU overhead. | diff --git a/docs/models/createinputinputsysdighec.md b/docs/models/createinputinputsysdighec.md index 874ef835b..6addf983c 100644 --- a/docs/models/createinputinputsysdighec.md +++ b/docs/models/createinputinputsysdighec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeSysdigHec](../models/createinputtypesysdighec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeSysdigHec](../models/createinputtypesysdighec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `access_control_allow_origin` | List[*str*] | :heavy_minus_sign: | HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards. | | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputsyslogsyslog1.md b/docs/models/createinputinputsyslogsyslog1.md index 865fa0f08..58b0da58f 100644 --- a/docs/models/createinputinputsyslogsyslog1.md +++ b/docs/models/createinputinputsyslogsyslog1.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputInputSyslogType1](../models/createinputinputsyslogtype1.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `enable_enhanced_proxy_header_parsing` | *Optional[bool]* | :heavy_minus_sign: | When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/createinputinputsyslogsyslog2.md b/docs/models/createinputinputsyslogsyslog2.md index 2d3eaabf2..27ec4fbc3 100644 --- a/docs/models/createinputinputsyslogsyslog2.md +++ b/docs/models/createinputinputsyslogsyslog2.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputInputSyslogType2](../models/createinputinputsyslogtype2.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `enable_enhanced_proxy_header_parsing` | *Optional[bool]* | :heavy_minus_sign: | When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/createinputinputsystemmetrics.md b/docs/models/createinputinputsystemmetrics.md index 0d0664c16..e90831341 100644 --- a/docs/models/createinputinputsystemmetrics.md +++ b/docs/models/createinputinputsystemmetrics.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeSystemMetrics](../models/createinputtypesystemmetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -22,6 +22,6 @@ | `gpu` | [Optional[models.GpuType]](../models/gputype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.CreateInputPersistenceSystemMetrics]](../models/createinputpersistencesystemmetrics.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputsystemstate.md b/docs/models/createinputinputsystemstate.md index daf025267..a53f7c5d5 100644 --- a/docs/models/createinputinputsystemstate.md +++ b/docs/models/createinputinputsystemstate.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeSystemState](../models/createinputtypesystemstate.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -21,6 +21,6 @@ | `persistence` | [Optional[models.CreateInputPersistenceSystemState]](../models/createinputpersistencesystemstate.md) | :heavy_minus_sign: | N/A | | `disable_native_module` | *Optional[bool]* | :heavy_minus_sign: | Enable to use built-in tools (PowerShell) to collect events instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab) | | `disable_native_last_log_module` | *Optional[bool]* | :heavy_minus_sign: | Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputtcp.md b/docs/models/createinputinputtcp.md index e4d70356e..5d109d458 100644 --- a/docs/models/createinputinputtcp.md +++ b/docs/models/createinputinputtcp.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeTCP](../models/createinputtypetcp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `enable_header` | *Optional[bool]* | :heavy_minus_sign: | Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { "authToken" : "myToken", "fields": { "field1": "value1", "field2": "value2" } } | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted. | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createinputinputtcpjson.md b/docs/models/createinputinputtcpjson.md index 7e333acec..7ebf0c745 100644 --- a/docs/models/createinputinputtcpjson.md +++ b/docs/models/createinputinputtcpjson.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeTcpjson](../models/createinputtypetcpjson.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -27,7 +27,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputinputwef.md b/docs/models/createinputinputwef.md index 9c93800c4..e10c23da5 100644 --- a/docs/models/createinputinputwef.md +++ b/docs/models/createinputinputwef.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeWef](../models/createinputtypewef.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `allow_machine_id_mismatch` | *Optional[bool]* | :heavy_minus_sign: | Allow events to be ingested even if their MachineID does not match the client certificate CN | | `subscriptions` | List[[models.CreateInputSubscription](../models/createinputsubscription.md)] | :heavy_check_mark: | Subscriptions to events on forwarding endpoints | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `log_fingerprint_mismatch` | *Optional[bool]* | :heavy_minus_sign: | Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/createinputinputwindowsmetrics.md b/docs/models/createinputinputwindowsmetrics.md index b2e1f6c3a..f9fd996b3 100644 --- a/docs/models/createinputinputwindowsmetrics.md +++ b/docs/models/createinputinputwindowsmetrics.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeWindowsMetrics](../models/createinputtypewindowsmetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -22,6 +22,6 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.CreateInputPersistenceWindowsMetrics]](../models/createinputpersistencewindowsmetrics.md) | :heavy_minus_sign: | N/A | | `disable_native_module` | *Optional[bool]* | :heavy_minus_sign: | Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputinputwineventlogs.md b/docs/models/createinputinputwineventlogs.md index f87301f5d..405698c82 100644 --- a/docs/models/createinputinputwineventlogs.md +++ b/docs/models/createinputinputwineventlogs.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeWinEventLogs](../models/createinputtypewineventlogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `batch_size` | *Optional[float]* | :heavy_minus_sign: | The maximum number of events to read in one polling interval. A batch size higher than 500 can cause delays when pulling from multiple event logs. (Applicable for pre-4.8.0 nodes that use Windows Tools) | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_event_bytes` | *Optional[int]* | :heavy_minus_sign: | The maximum number of bytes in an event before it is flushed to the pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `disable_json_rendering` | *Optional[bool]* | :heavy_minus_sign: | Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API) | | `disable_xml_rendering` | *Optional[bool]* | :heavy_minus_sign: | Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API) | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputinputwiz.md b/docs/models/createinputinputwiz.md index dc50de1b6..39ed47217 100644 --- a/docs/models/createinputinputwiz.md +++ b/docs/models/createinputinputwiz.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputTypeWiz](../models/createinputtypewiz.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | The client secret of the Wiz application | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputinputwizwebhook.md b/docs/models/createinputinputwizwebhook.md index 14825ea2f..5f719e83d 100644 --- a/docs/models/createinputinputwizwebhook.md +++ b/docs/models/createinputinputwizwebhook.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeWizWebhook](../models/createinputtypewizwebhook.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeWizWebhook](../models/createinputtypewizwebhook.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `allowed_paths` | List[*str*] | :heavy_minus_sign: | List of URI paths accepted by this input. Wildcards are supported (such as /api/v*/hook). Defaults to allow all. | | `allowed_methods` | List[*str*] | :heavy_minus_sign: | List of HTTP methods accepted by this input. Wildcards are supported (such as P*, GET). Defaults to allow all. | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputinputzscalerhec.md b/docs/models/createinputinputzscalerhec.md index 3244d7265..98889a032 100644 --- a/docs/models/createinputinputzscalerhec.md +++ b/docs/models/createinputinputzscalerhec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputTypeZscalerHec](../models/createinputtypezscalerhec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputTypeZscalerHec](../models/createinputtypezscalerhec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | | `hec_acks` | *Optional[bool]* | :heavy_minus_sign: | Whether to enable Zscaler HEC acknowledgements | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackauthtokensplunkhec.md b/docs/models/createinputsystembypackauthtokensplunkhec.md index 27e04f2c5..06112772a 100644 --- a/docs/models/createinputsystembypackauthtokensplunkhec.md +++ b/docs/models/createinputsystembypackauthtokensplunkhec.md @@ -8,7 +8,7 @@ | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | | `token_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `token` | *str* | :heavy_check_mark: | Shared secret to be provided by any client (Authorization: ) | -| `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the token is active and can be used for authentication. | | `description` | *Optional[str]* | :heavy_minus_sign: | Optional token description | | `allowed_indexes_at_token` | List[*str*] | :heavy_minus_sign: | Enter the values you want to allow in the HEC event index field at the token level. Supports wildcards. To skip validation, leave blank. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events referencing this token | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputanthropiccompliance.md b/docs/models/createinputsystembypackinputanthropiccompliance.md index bcf8fdc43..39397869c 100644 --- a/docs/models/createinputsystembypackinputanthropiccompliance.md +++ b/docs/models/createinputsystembypackinputanthropiccompliance.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeAnthropicCompliance](../models/createinputsystembypacktypeanthropiccompliance.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -25,6 +25,6 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputappleunifiedlogs.md b/docs/models/createinputsystembypackinputappleunifiedlogs.md index b478bce3e..97200b4fd 100644 --- a/docs/models/createinputsystembypackinputappleunifiedlogs.md +++ b/docs/models/createinputsystembypackinputappleunifiedlogs.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeAppleUnifiedLogs](../models/createinputsystembypacktypeappleunifiedlogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -18,6 +18,6 @@ | `predicate` | *str* | :heavy_check_mark: | String to filter log entries, in NSPredicate format (e.g., subsystem == "com.apple.security" or process == "kernel"). See [Common Log Types and Predicates](https://docs.cribl.io/edge/sources-apple-unified-logs/#examples) for more information. | | `read_mode` | [Optional[models.CreateInputSystemByPackReadModeAppleUnifiedLogs]](../models/createinputsystembypackreadmodeappleunifiedlogs.md) | :heavy_minus_sign: | Read all log entries (historical and upcoming), or only upcoming, from the last entry | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputappscope.md b/docs/models/createinputsystembypackinputappscope.md index cfd8881bf..e87d4635e 100644 --- a/docs/models/createinputsystembypackinputappscope.md +++ b/docs/models/createinputsystembypackinputappscope.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeAppscope](../models/createinputsystembypacktypeappscope.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `filter_` | [Optional[models.CreateInputSystemByPackFilterAppscope]](../models/createinputsystembypackfilterappscope.md) | :heavy_minus_sign: | N/A | | `persistence` | [Optional[models.CreateInputSystemByPackPersistenceAppscope]](../models/createinputsystembypackpersistenceappscope.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | | `port` | *Optional[float]* | :heavy_minus_sign: | Port to listen on | | `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/createinputsystembypackinputazureblob.md b/docs/models/createinputsystembypackinputazureblob.md index 066406454..269921286 100644 --- a/docs/models/createinputsystembypackinputazureblob.md +++ b/docs/models/createinputsystembypackinputazureblob.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeAzureBlob](../models/createinputsystembypacktypeazureblob.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | | `parquet_chunk_download_timeout` | *Optional[float]* | :heavy_minus_sign: | The maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified. | | `auth_type` | [Optional[models.AuthenticationMethodOptions]](../models/authenticationmethodoptions.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `connection_string` | *Optional[str]* | :heavy_minus_sign: | Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `storage_account_name` | *Optional[str]* | :heavy_minus_sign: | The name of your Azure storage account | diff --git a/docs/models/createinputsystembypackinputcloudflarehec.md b/docs/models/createinputsystembypackinputcloudflarehec.md index f741df550..2dcc38d35 100644 --- a/docs/models/createinputsystembypackinputcloudflarehec.md +++ b/docs/models/createinputsystembypackinputcloudflarehec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeCloudflareHec](../models/createinputsystembypacktypecloudflarehec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeCloudflareHec](../models/createinputsystembypacktypecloudflarehec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputcollection.md b/docs/models/createinputsystembypackinputcollection.md index b0a198e89..add806c6d 100644 --- a/docs/models/createinputsystembypackinputcollection.md +++ b/docs/models/createinputsystembypackinputcollection.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeCollection](../models/createinputsystembypacktypecollection.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process results | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Send events to normal routing and event processing. Disable to select a specific Pipeline/Destination combination. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | diff --git a/docs/models/createinputsystembypackinputconfluentcloud.md b/docs/models/createinputsystembypackinputconfluentcloud.md index bea850ff5..b68e53401 100644 --- a/docs/models/createinputsystembypackinputconfluentcloud.md +++ b/docs/models/createinputsystembypackinputconfluentcloud.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeConfluentCloud](../models/createinputsystembypacktypeconfluentcloud.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/createinputsystembypackinputcribl.md b/docs/models/createinputsystembypackinputcribl.md index 535fc6351..fe36ff49d 100644 --- a/docs/models/createinputsystembypackinputcribl.md +++ b/docs/models/createinputsystembypackinputcribl.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeCribl](../models/createinputsystembypacktypecribl.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -17,6 +17,6 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `filter_` | *Optional[str]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputcriblhttp.md b/docs/models/createinputsystembypackinputcriblhttp.md index 8ef7ceb39..21b7c2c26 100644 --- a/docs/models/createinputsystembypackinputcriblhttp.md +++ b/docs/models/createinputsystembypackinputcriblhttp.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeCriblHTTP](../models/createinputsystembypacktypecriblhttp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeCriblHTTP](../models/createinputsystembypacktypecriblhttp.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,7 +31,7 @@ | `ip_allowlist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be processed, unless also matched by the denylist | | `ip_denylist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be ignored. This takes precedence over the allowlist. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputcribllakehttp.md b/docs/models/createinputsystembypackinputcribllakehttp.md index ee9c522a0..50d43f728 100644 --- a/docs/models/createinputsystembypackinputcribllakehttp.md +++ b/docs/models/createinputsystembypackinputcribllakehttp.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeCriblLakeHTTP](../models/createinputsystembypacktypecribllakehttp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeCriblLakeHTTP](../models/createinputsystembypacktypecribllakehttp.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `splunk_hec_acks` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_tokens_ext` | List[[models.CreateInputSystemByPackAuthTokensExt](../models/createinputsystembypackauthtokensext.md)] | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputcriblmetrics.md b/docs/models/createinputsystembypackinputcriblmetrics.md index 835c72fbd..7323eb33b 100644 --- a/docs/models/createinputsystembypackinputcriblmetrics.md +++ b/docs/models/createinputsystembypackinputcriblmetrics.md @@ -7,7 +7,7 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeCriblmetrics](../models/createinputsystembypacktypecriblmetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -18,6 +18,6 @@ | `prefix` | *Optional[str]* | :heavy_minus_sign: | A prefix that is applied to the metrics provided by Cribl Stream | | `full_fidelity` | *Optional[bool]* | :heavy_minus_sign: | Include granular metrics. Disabling this will drop the following metrics events: `cribl.logstream.host.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.index.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.source.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.sourcetype.(in_bytes,in_events,out_bytes,out_events)`. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputcribltcp.md b/docs/models/createinputsystembypackinputcribltcp.md index b11451210..dc9503943 100644 --- a/docs/models/createinputsystembypackinputcribltcp.md +++ b/docs/models/createinputsystembypackinputcribltcp.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeCriblTCP](../models/createinputsystembypacktypecribltcp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -26,7 +26,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | | `auth_tokens` | List[[models.AuthTokenConfInputCriblTCP](../models/authtokenconfinputcribltcp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputcrowdstrike.md b/docs/models/createinputsystembypackinputcrowdstrike.md index 3f613ef2e..6750e3ffe 100644 --- a/docs/models/createinputsystembypackinputcrowdstrike.md +++ b/docs/models/createinputsystembypackinputcrowdstrike.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeCrowdstrike](../models/createinputsystembypacktypecrowdstrike.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -42,7 +42,7 @@ | `checkpointing` | [Optional[models.CheckpointingType]](../models/checkpointingtype.md) | :heavy_minus_sign: | N/A | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/createinputsystembypackinputdatadogagent.md b/docs/models/createinputsystembypackinputdatadogagent.md index afac18c83..e05cfada5 100644 --- a/docs/models/createinputsystembypackinputdatadogagent.md +++ b/docs/models/createinputsystembypackinputdatadogagent.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeDatadogAgent](../models/createinputsystembypacktypedatadogagent.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeDatadogAgent](../models/createinputsystembypacktypedatadogagent.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Toggle to Yes to extract each incoming metric to multiple events, one per data point. This works well when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave toggled to No (the default). | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `proxy_mode` | [Optional[models.CreateInputSystemByPackProxyModeDatadogAgent]](../models/createinputsystembypackproxymodedatadogagent.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputdatagen.md b/docs/models/createinputsystembypackinputdatagen.md index 9423c874c..cb612d363 100644 --- a/docs/models/createinputsystembypackinputdatagen.md +++ b/docs/models/createinputsystembypackinputdatagen.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeDatagen](../models/createinputsystembypacktypedatagen.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -17,6 +17,6 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `samples` | List[[models.CreateInputSystemByPackSample](../models/createinputsystembypacksample.md)] | :heavy_check_mark: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputedgeprometheus.md b/docs/models/createinputsystembypackinputedgeprometheus.md index dc63efa5b..727b3a7c8 100644 --- a/docs/models/createinputsystembypackinputedgeprometheus.md +++ b/docs/models/createinputsystembypackinputedgeprometheus.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeEdgePrometheus](../models/createinputsystembypacktypeedgeprometheus.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `persistence` | [Optional[models.DiskSpoolingType]](../models/diskspoolingtype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_type` | [Optional[models.CreateInputSystemByPackAuthenticationMethodEdgePrometheus]](../models/createinputsystembypackauthenticationmethodedgeprometheus.md) | :heavy_minus_sign: | Enter credentials directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `targets` | List[[models.CreateInputSystemByPackTarget](../models/createinputsystembypacktarget.md)] | :heavy_minus_sign: | N/A | | `record_type` | [Optional[models.RecordTypeOptions]](../models/recordtypeoptions.md) | :heavy_minus_sign: | DNS record type to resolve | | `scrape_port` | *Optional[float]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets. | diff --git a/docs/models/createinputsystembypackinputelastic.md b/docs/models/createinputsystembypackinputelastic.md index 94b177107..87b0bd729 100644 --- a/docs/models/createinputsystembypackinputelastic.md +++ b/docs/models/createinputsystembypackinputelastic.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeElastic](../models/createinputsystembypacktypeelastic.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeElastic](../models/createinputsystembypacktypeelastic.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `proxy_mode` | [Optional[models.CreateInputSystemByPackProxyModeElastic]](../models/createinputsystembypackproxymodeelastic.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createinputsystembypackinputeventhub.md b/docs/models/createinputsystembypackinputeventhub.md index 096f7c162..494286b3e 100644 --- a/docs/models/createinputsystembypackinputeventhub.md +++ b/docs/models/createinputsystembypackinputeventhub.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeEventhub](../models/createinputsystembypacktypeeventhub.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `minimize_duplicates` | *Optional[bool]* | :heavy_minus_sign: | Minimize duplicate events by starting only one consumer for each topic partition | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/createinputsystembypackinputeventhubamqp.md b/docs/models/createinputsystembypackinputeventhubamqp.md index 5c1018178..5298c2a94 100644 --- a/docs/models/createinputsystembypackinputeventhubamqp.md +++ b/docs/models/createinputsystembypackinputeventhubamqp.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeEventhubAmqp](../models/createinputsystembypacktypeeventhubamqp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,6 +31,6 @@ | `connection_max_backoff` | *Optional[int]* | :heavy_minus_sign: | Maximum delay between reconnection attempts, in milliseconds | | `connection_timeout_in_ms` | *Optional[int]* | :heavy_minus_sign: | Maximum time to wait for a connection to complete | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputexec.md b/docs/models/createinputsystembypackinputexec.md index 798f1971e..db23f1561 100644 --- a/docs/models/createinputsystembypackinputexec.md +++ b/docs/models/createinputsystembypackinputexec.md @@ -22,7 +22,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `interval` | *Optional[float]* | :heavy_minus_sign: | Interval between command executions in seconds. | | `cron_schedule` | *Optional[str]* | :heavy_minus_sign: | Cron schedule to execute the command on. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputsystembypackinputfile.md b/docs/models/createinputsystembypackinputfile.md index 7ce87ad6e..1fe0a760d 100644 --- a/docs/models/createinputsystembypackinputfile.md +++ b/docs/models/createinputsystembypackinputfile.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackInputFileType](../models/createinputsystembypackinputfiletype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `disable_stale_channel_flush` | *Optional[bool]* | :heavy_minus_sign: | When enabled, no Event Breaker channel flush timeout applies and the timeout below is ignored. Prefer this option when using header-based breakers for file types such as CSV or IIS. | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `path` | *Optional[str]* | :heavy_minus_sign: | Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/). | | `depth` | *Optional[float]* | :heavy_minus_sign: | Set how many subdirectories deep to search. Use 0 to search only files in the given path, 1 to also look in its immediate subdirectories, etc. Leave it empty for unlimited depth. | | `suppress_missing_path_errors` | *Optional[bool]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/createinputsystembypackinputfirehose.md b/docs/models/createinputsystembypackinputfirehose.md index caeb377e7..df42eaf9f 100644 --- a/docs/models/createinputsystembypackinputfirehose.md +++ b/docs/models/createinputsystembypackinputfirehose.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeFirehose](../models/createinputsystembypacktypefirehose.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeFirehose](../models/createinputsystembypacktypefirehose.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,7 +31,7 @@ | `ip_allowlist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be processed, unless also matched by the denylist | | `ip_denylist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be ignored. This takes precedence over the allowlist. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputgooglepubsub.md b/docs/models/createinputsystembypackinputgooglepubsub.md index bacd07774..6d76b5b1b 100644 --- a/docs/models/createinputsystembypackinputgooglepubsub.md +++ b/docs/models/createinputsystembypackinputgooglepubsub.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeGooglePubsub](../models/createinputsystembypacktypegooglepubsub.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `concurrency` | *Optional[float]* | :heavy_minus_sign: | How many streams to pull messages from at one time. Doubling the value doubles the number of messages this Source pulls from the topic (if available), while consuming more CPU and memory. Defaults to 5. | | `request_timeout` | *Optional[float]* | :heavy_minus_sign: | Pull request timeout, in milliseconds | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `ordered_delivery` | *Optional[bool]* | :heavy_minus_sign: | Receive events in the order they were added to the queue. The process sending events must have ordering enabled. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/createinputsystembypackinputgrafanagrafana1.md b/docs/models/createinputsystembypackinputgrafanagrafana1.md index b41ef2765..1cdde92a3 100644 --- a/docs/models/createinputsystembypackinputgrafanagrafana1.md +++ b/docs/models/createinputsystembypackinputgrafanagrafana1.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackInputGrafanaType1](../models/createinputsystembypackinputgrafanatype1.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackInputGrafanaType1](../models/createinputsystembypackinputgrafanatype1.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `prometheus_auth` | [Optional[models.CreateInputSystemByPackPrometheusAuth1]](../models/createinputsystembypackprometheusauth1.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.CreateInputSystemByPackLokiAuth1]](../models/createinputsystembypacklokiauth1.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputgrafanagrafana2.md b/docs/models/createinputsystembypackinputgrafanagrafana2.md index 9e50bea34..b909eca40 100644 --- a/docs/models/createinputsystembypackinputgrafanagrafana2.md +++ b/docs/models/createinputsystembypackinputgrafanagrafana2.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackInputGrafanaType2](../models/createinputsystembypackinputgrafanatype2.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackInputGrafanaType2](../models/createinputsystembypackinputgrafanatype2.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `prometheus_auth` | [Optional[models.CreateInputSystemByPackPrometheusAuth2]](../models/createinputsystembypackprometheusauth2.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.CreateInputSystemByPackLokiAuth2]](../models/createinputsystembypacklokiauth2.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputgrafanatype1.md b/docs/models/createinputsystembypackinputgrafanatype1.md index d474356c1..a4511d46d 100644 --- a/docs/models/createinputsystembypackinputgrafanatype1.md +++ b/docs/models/createinputsystembypackinputgrafanatype1.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackInputGrafanaType1 +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypackinputgrafanatype2.md b/docs/models/createinputsystembypackinputgrafanatype2.md index b1cc4ab7e..85f842f1b 100644 --- a/docs/models/createinputsystembypackinputgrafanatype2.md +++ b/docs/models/createinputsystembypackinputgrafanatype2.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackInputGrafanaType2 +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypackinputhttp.md b/docs/models/createinputsystembypackinputhttp.md index 7b0ac7e8c..3f173fcfa 100644 --- a/docs/models/createinputsystembypackinputhttp.md +++ b/docs/models/createinputsystembypackinputhttp.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeHTTP](../models/createinputsystembypacktypehttp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeHTTP](../models/createinputsystembypacktypehttp.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `splunk_hec_acks` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputhttpraw.md b/docs/models/createinputsystembypackinputhttpraw.md index e6a1ae5d6..99c65d7ec 100644 --- a/docs/models/createinputsystembypackinputhttpraw.md +++ b/docs/models/createinputsystembypackinputhttpraw.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeHTTPRaw](../models/createinputsystembypacktypehttpraw.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeHTTPRaw](../models/createinputsystembypacktypehttpraw.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `allowed_paths` | List[*str*] | :heavy_minus_sign: | List of URI paths accepted by this input, wildcards are supported, e.g /api/v*/hook. Defaults to allow all. | | `allowed_methods` | List[*str*] | :heavy_minus_sign: | List of HTTP methods accepted by this input. Wildcards are supported (such as P*, GET). Defaults to allow all. | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputjournalfiles.md b/docs/models/createinputsystembypackinputjournalfiles.md index 0cc25f5ce..ceaefc7aa 100644 --- a/docs/models/createinputsystembypackinputjournalfiles.md +++ b/docs/models/createinputsystembypackinputjournalfiles.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackInputJournalFilesType](../models/createinputsystembypackinputjournalfilestype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,6 +23,6 @@ | `max_age_dur` | *Optional[str]* | :heavy_minus_sign: | The maximum log message age, in duration form (e.g,: 60s, 4h, 3d, 1w). Default of no value will apply no max age filters. | | `suppress_missing_path_errors` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputkafka.md b/docs/models/createinputsystembypackinputkafka.md index 1373f8415..2141cf066 100644 --- a/docs/models/createinputsystembypackinputkafka.md +++ b/docs/models/createinputsystembypackinputkafka.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeKafka](../models/createinputsystembypacktypekafka.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/createinputsystembypackinputkinesis.md b/docs/models/createinputsystembypackinputkinesis.md index 18b5ac303..5ae9e2ac0 100644 --- a/docs/models/createinputsystembypackinputkinesis.md +++ b/docs/models/createinputsystembypackinputkinesis.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeKinesis](../models/createinputsystembypacktypekinesis.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `verify_kpl_check_sums` | *Optional[bool]* | :heavy_minus_sign: | Verify Kinesis Producer Library (KPL) event checksums | | `avoid_duplicates` | *Optional[bool]* | :heavy_minus_sign: | When resuming streaming from a stored state, Stream will read the next available record, rather than rereading the last-read record. Enabling this setting can cause data loss after a Worker Node's unexpected shutdown or restart. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputsystembypackinputkubeevents.md b/docs/models/createinputsystembypackinputkubeevents.md index 92dfd433e..ecd9ef386 100644 --- a/docs/models/createinputsystembypackinputkubeevents.md +++ b/docs/models/createinputsystembypackinputkubeevents.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeKubeEvents](../models/createinputsystembypacktypekubeevents.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -17,6 +17,6 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `rules` | List[[models.RuleConfInputKubeMetrics](../models/ruleconfinputkubemetrics.md)] | :heavy_minus_sign: | Filtering on event fields | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputkubelogs.md b/docs/models/createinputsystembypackinputkubelogs.md index ee71df8c5..c9e9ccf0f 100644 --- a/docs/models/createinputsystembypackinputkubelogs.md +++ b/docs/models/createinputsystembypackinputkubelogs.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeKubeLogs](../models/createinputsystembypacktypekubelogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -25,6 +25,6 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputkubemetrics.md b/docs/models/createinputsystembypackinputkubemetrics.md index 8c9d731cf..f78a55a2a 100644 --- a/docs/models/createinputsystembypackinputkubemetrics.md +++ b/docs/models/createinputsystembypackinputkubemetrics.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeKubeMetrics](../models/createinputsystembypacktypekubemetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -21,6 +21,6 @@ | `rules` | List[[models.RuleConfInputKubeMetrics](../models/ruleconfinputkubemetrics.md)] | :heavy_minus_sign: | Add rules to decide which Kubernetes objects to generate metrics for. Events are generated if no rules are given or of all the rules' expressions evaluate to true. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.CreateInputSystemByPackPersistenceKubeMetrics]](../models/createinputsystembypackpersistencekubemetrics.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputloki.md b/docs/models/createinputsystembypackinputloki.md index 816bc8bab..e8a7c1d4d 100644 --- a/docs/models/createinputsystembypackinputloki.md +++ b/docs/models/createinputsystembypackinputloki.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeLoki](../models/createinputsystembypacktypeloki.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeLoki](../models/createinputsystembypacktypeloki.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `loki_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'. | | `auth_type` | [Optional[models.AuthenticationTypeOptionsLokiAuth]](../models/authenticationtypeoptionslokiauth.md) | :heavy_minus_sign: | Loki logs authentication type | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/createinputsystembypackinputmetrics.md b/docs/models/createinputsystembypackinputmetrics.md index 6b426b753..c1843706c 100644 --- a/docs/models/createinputsystembypackinputmetrics.md +++ b/docs/models/createinputsystembypackinputmetrics.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeMetrics](../models/createinputsystembypacktypemetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -24,7 +24,7 @@ | `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputmicrosoftgraph.md b/docs/models/createinputsystembypackinputmicrosoftgraph.md index f50dcf1a8..94ca63164 100644 --- a/docs/models/createinputsystembypackinputmicrosoftgraph.md +++ b/docs/models/createinputsystembypackinputmicrosoftgraph.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeMicrosoftGraph](../models/createinputsystembypacktypemicrosoftgraph.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -33,7 +33,7 @@ | `max_task_reschedule` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times a task can be rescheduled | | `log_level` | [Optional[models.LogLevelOptionsDebugError]](../models/logleveloptionsdebugerror.md) | :heavy_minus_sign: | Log Level (verbosity) for collection runtime behavior. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | client_secret to pass in the OAuth request parameter. | | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Directory ID (tenant identifier) in Azure Active Directory. | | `client_id` | *Optional[str]* | :heavy_minus_sign: | client_id to pass in the OAuth request parameter. | diff --git a/docs/models/createinputsystembypackinputmodeldriventelemetry.md b/docs/models/createinputsystembypackinputmodeldriventelemetry.md index 61819cbcd..cc1a0a98b 100644 --- a/docs/models/createinputsystembypackinputmodeldriventelemetry.md +++ b/docs/models/createinputsystembypackinputmodeldriventelemetry.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeModelDrivenTelemetry](../models/createinputsystembypacktypemodeldriventelemetry.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -21,7 +21,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_active_cxn` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active connections allowed per Worker Process. Use 0 for unlimited. | | `shutdown_timeout_ms` | *Optional[float]* | :heavy_minus_sign: | Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputmsk.md b/docs/models/createinputsystembypackinputmsk.md index e0f998502..98dc9207a 100644 --- a/docs/models/createinputsystembypackinputmsk.md +++ b/docs/models/createinputsystembypackinputmsk.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeMsk](../models/createinputsystembypacktypemsk.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -48,7 +48,7 @@ | `max_bytes_per_partition` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of data that Kafka will return per partition, per fetch request. Must equal or exceed the maximum message size (maxBytesPerPartition) that Kafka is configured to allow. Otherwise, @{product} can get stuck trying to retrieve messages. Defaults to 1048576 (1 MB). | | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputsystembypackinputnetflow.md b/docs/models/createinputsystembypackinputnetflow.md index 720774151..4d8ad3ae8 100644 --- a/docs/models/createinputsystembypackinputnetflow.md +++ b/docs/models/createinputsystembypackinputnetflow.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeNetflow](../models/createinputsystembypacktypenetflow.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -26,7 +26,7 @@ | `v9_enabled` | *Optional[bool]* | :heavy_minus_sign: | Accept messages in Netflow V9 format. | | `ipfix_enabled` | *Optional[bool]* | :heavy_minus_sign: | Accept messages in IPFIX format. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputoffice365mgmt.md b/docs/models/createinputsystembypackinputoffice365mgmt.md index 616655b68..015b28ade 100644 --- a/docs/models/createinputsystembypackinputoffice365mgmt.md +++ b/docs/models/createinputsystembypackinputoffice365mgmt.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeOffice365Mgmt](../models/createinputsystembypacktypeoffice365mgmt.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `ingestion_lag` | *Optional[float]* | :heavy_minus_sign: | Use this setting to account for ingestion lag. This is necessary because there can be a lag of 60 - 90 minutes (or longer) before Microsoft 365 events are available for retrieval. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | Microsoft 365 Azure client secret | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputsystembypackinputoffice365msgtrace.md b/docs/models/createinputsystembypackinputoffice365msgtrace.md index 79b574b76..0f35188cc 100644 --- a/docs/models/createinputsystembypackinputoffice365msgtrace.md +++ b/docs/models/createinputsystembypackinputoffice365msgtrace.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeOffice365MsgTrace](../models/createinputsystembypacktypeoffice365msgtrace.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `max_task_reschedule` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times a task can be rescheduled | | `log_level` | [Optional[models.LogLevelOptionsDebugError]](../models/logleveloptionsdebugerror.md) | :heavy_minus_sign: | Log Level (verbosity) for collection runtime behavior. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username to run Message Trace API call. | | `password` | *Optional[str]* | :heavy_minus_sign: | Password to run Message Trace API call. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials. | diff --git a/docs/models/createinputsystembypackinputoffice365service.md b/docs/models/createinputsystembypackinputoffice365service.md index a9ecbc13e..f25d4822f 100644 --- a/docs/models/createinputsystembypackinputoffice365service.md +++ b/docs/models/createinputsystembypackinputoffice365service.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeOffice365Service](../models/createinputsystembypacktypeoffice365service.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `content_config` | List[[models.CreateInputSystemByPackContentConfigOffice365Service](../models/createinputsystembypackcontentconfigoffice365service.md)] | :heavy_minus_sign: | Enable Microsoft 365 Service Communication API content types and polling intervals. Polling intervals are used to set up search date range and cron schedule, e.g.: */${interval} * * * *. Because of this, intervals entered for current and historical status must be evenly divisible by 60 to give a predictable schedule. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | Microsoft 365 Azure client secret | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputsystembypackinputokta.md b/docs/models/createinputsystembypackinputokta.md index 7bf20800e..b067a2173 100644 --- a/docs/models/createinputsystembypackinputokta.md +++ b/docs/models/createinputsystembypackinputokta.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeOkta](../models/createinputsystembypacktypeokta.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_okta_domain` | *Optional[str]* | :heavy_minus_sign: | Binds 'oktaDomain' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oktaDomain' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputopenai.md b/docs/models/createinputsystembypackinputopenai.md index 49479a39f..b17b93caa 100644 --- a/docs/models/createinputsystembypackinputopenai.md +++ b/docs/models/createinputsystembypackinputopenai.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeOpenai](../models/createinputsystembypacktypeopenai.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -27,7 +27,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_openai_organization` | *Optional[str]* | :heavy_minus_sign: | Binds 'openaiOrganization' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'openaiOrganization' at runtime. | diff --git a/docs/models/createinputsystembypackinputopenaicompliancelogs.md b/docs/models/createinputsystembypackinputopenaicompliancelogs.md index d5adea62b..3ab688615 100644 --- a/docs/models/createinputsystembypackinputopenaicompliancelogs.md +++ b/docs/models/createinputsystembypackinputopenaicompliancelogs.md @@ -7,7 +7,7 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeOpenaiComplianceLogs](../models/createinputsystembypacktypeopenaicompliancelogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `workspace_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the ChatGPT workspace to collect logs from (UUID format) | | `workspace_event_types` | List[*str*] | :heavy_minus_sign: | One or more compliance log categories to collect | | `organization_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the OpenAI API Platform Organization (example: org-XXXXXXXXXXXXXXXXXXXXXXXX) | diff --git a/docs/models/createinputsystembypackinputopentelemetry.md b/docs/models/createinputsystembypackinputopentelemetry.md index 460532a07..b9173a577 100644 --- a/docs/models/createinputsystembypackinputopentelemetry.md +++ b/docs/models/createinputsystembypackinputopentelemetry.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeOpenTelemetry](../models/createinputsystembypacktypeopentelemetry.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeOpenTelemetry](../models/createinputsystembypacktypeopentelemetry.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `auth_methods_ext` | List[[models.CreateInputSystemByPackAuthMethodsExt](../models/createinputsystembypackauthmethodsext.md)] | :heavy_minus_sign: | Shared secrets to authenticate clients. Supports Bearer tokens and Basic auth. If empty, unauthenticated access is permitted. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_active_cxn` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active connections allowed per Worker Process. Use 0 for unlimited. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/createinputsystembypackinputprometheus.md b/docs/models/createinputsystembypackinputprometheus.md index ccea691b7..76ffab45b 100644 --- a/docs/models/createinputsystembypackinputprometheus.md +++ b/docs/models/createinputsystembypackinputprometheus.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypePrometheus](../models/createinputsystembypacktypeprometheus.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_type` | [Optional[models.AuthenticationMethodOptionsSasl]](../models/authenticationmethodoptionssasl.md) | :heavy_minus_sign: | Enter credentials directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `target_list` | List[*str*] | :heavy_minus_sign: | 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'. | | `record_type` | [Optional[models.RecordTypeOptions]](../models/recordtypeoptions.md) | :heavy_minus_sign: | DNS record type to resolve | | `scrape_port` | *Optional[float]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets | diff --git a/docs/models/createinputsystembypackinputprometheusrw.md b/docs/models/createinputsystembypackinputprometheusrw.md index 31144295d..f61bf3c82 100644 --- a/docs/models/createinputsystembypackinputprometheusrw.md +++ b/docs/models/createinputsystembypackinputprometheusrw.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypePrometheusRw](../models/createinputsystembypacktypeprometheusrw.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypePrometheusRw](../models/createinputsystembypacktypeprometheusrw.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `prometheus_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://:/write. | | `auth_type` | [Optional[models.AuthenticationTypeOptionsPrometheusAuth]](../models/authenticationtypeoptionsprometheusauth.md) | :heavy_minus_sign: | Remote Write authentication type | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/createinputsystembypackinputrawudp.md b/docs/models/createinputsystembypackinputrawudp.md index 24d15dad4..f1f61fa09 100644 --- a/docs/models/createinputsystembypackinputrawudp.md +++ b/docs/models/createinputsystembypackinputrawudp.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeRawUDP](../models/createinputsystembypacktyperawudp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `ingest_raw_bytes` | *Optional[bool]* | :heavy_minus_sign: | If true, a __rawBytes field will be added to each event containing the raw bytes of the datagram. | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputs3.md b/docs/models/createinputsystembypackinputs3.md index 337c9be18..dafaa71ef 100644 --- a/docs/models/createinputsystembypackinputs3.md +++ b/docs/models/createinputsystembypackinputs3.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeS3](../models/createinputsystembypacktypes3.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -45,7 +45,7 @@ | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | | `tag_after_processing` | *Optional[bool]* | :heavy_minus_sign: | Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `processed_tag_key` | *Optional[str]* | :heavy_minus_sign: | The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | diff --git a/docs/models/createinputsystembypackinputs3inventory.md b/docs/models/createinputsystembypackinputs3inventory.md index 084fcac81..743e3dd5f 100644 --- a/docs/models/createinputsystembypackinputs3inventory.md +++ b/docs/models/createinputsystembypackinputs3inventory.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeS3Inventory](../models/createinputsystembypacktypes3inventory.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -46,7 +46,7 @@ | `checksum_suffix` | *Optional[str]* | :heavy_minus_sign: | Filename suffix of the manifest checksum file. If a filename matching this suffix is received in the queue, the matching manifest file will be downloaded and validated against its value. Defaults to "checksum" | | `max_manifest_size_kb` | *Optional[int]* | :heavy_minus_sign: | Maximum download size (KB) of each manifest or checksum file. Manifest files larger than this size will not be read. Defaults to 4096. | | `validate_inventory_files` | *Optional[bool]* | :heavy_minus_sign: | If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/createinputsystembypackinputsecuritylake.md b/docs/models/createinputsystembypackinputsecuritylake.md index d8c4cb955..6529f1006 100644 --- a/docs/models/createinputsystembypackinputsecuritylake.md +++ b/docs/models/createinputsystembypackinputsecuritylake.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeSecurityLake](../models/createinputsystembypacktypesecuritylake.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -44,7 +44,7 @@ | `checkpointing` | [Optional[models.CheckpointingType]](../models/checkpointingtype.md) | :heavy_minus_sign: | N/A | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/createinputsystembypackinputservicenowtable.md b/docs/models/createinputsystembypackinputservicenowtable.md index 19577d1e4..95c058983 100644 --- a/docs/models/createinputsystembypackinputservicenowtable.md +++ b/docs/models/createinputsystembypackinputservicenowtable.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeServicenowTable](../models/createinputsystembypacktypeservicenowtable.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | | `oauth_grant_type` | [Optional[models.CreateInputSystemByPackGrantType]](../models/createinputsystembypackgranttype.md) | :heavy_minus_sign: | ServiceNow OAuth grant type used for token requests | | `username` | *Optional[str]* | :heavy_minus_sign: | ServiceNow username for the password grant type | diff --git a/docs/models/createinputsystembypackinputsnmp.md b/docs/models/createinputsystembypackinputsnmp.md index 8aa2cd7e3..2f5fe92fa 100644 --- a/docs/models/createinputsystembypackinputsnmp.md +++ b/docs/models/createinputsystembypackinputsnmp.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeSnmp](../models/createinputsystembypacktypesnmp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -24,7 +24,7 @@ | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `varbinds_with_types` | *Optional[bool]* | :heavy_minus_sign: | If enabled, parses varbinds as an array of objects that include OID, value, and type | | `best_effort_parsing` | *Optional[bool]* | :heavy_minus_sign: | If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputsplunk.md b/docs/models/createinputsystembypackinputsplunk.md index 243f6033f..f8645e1bc 100644 --- a/docs/models/createinputsystembypackinputsplunk.md +++ b/docs/models/createinputsystembypackinputsplunk.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeSplunk](../models/createinputsystembypacktypesplunk.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `auth_tokens` | List[[models.CreateInputSystemByPackAuthTokenSplunk](../models/createinputsystembypackauthtokensplunk.md)] | :heavy_minus_sign: | Shared secrets to be provided by any Splunk forwarder. If empty, unauthorized access is permitted. | | `max_s2_sversion` | [Optional[models.CreateInputSystemByPackMaxS2SVersion]](../models/createinputsystembypackmaxs2sversion.md) | :heavy_minus_sign: | The highest S2S protocol version to advertise during handshake | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `use_fwd_timezone` | *Optional[bool]* | :heavy_minus_sign: | Event Breakers will determine events' time zone from UF-provided metadata, when TZ can't be inferred from the raw event | | `drop_control_fields` | *Optional[bool]* | :heavy_minus_sign: | Drop Splunk control fields such as `crcSalt` and `_savedPort`. If disabled, control fields are stored in the internal field `__ctrlFields`. | | `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Extract and process Splunk-generated metrics as Cribl metrics | diff --git a/docs/models/createinputsystembypackinputsplunkhec.md b/docs/models/createinputsystembypackinputsplunkhec.md index 7e9e867c2..d088412ae 100644 --- a/docs/models/createinputsystembypackinputsplunkhec.md +++ b/docs/models/createinputsystembypackinputsplunkhec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeSplunkHec](../models/createinputsystembypacktypesplunkhec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeSplunkHec](../models/createinputsystembypacktypesplunkhec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -41,7 +41,7 @@ | `access_control_allow_origin` | List[*str*] | :heavy_minus_sign: | Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards. | | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | Optionally, list HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputsplunksearch.md b/docs/models/createinputsystembypackinputsplunksearch.md index da4a6e681..b4d92136f 100644 --- a/docs/models/createinputsystembypackinputsplunksearch.md +++ b/docs/models/createinputsystembypackinputsplunksearch.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeSplunkSearch](../models/createinputsystembypacktypesplunksearch.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `auth_type` | [models.CreateInputSystemByPackAuthenticationTypeSplunkSearch](../models/createinputsystembypackauthenticationtypesplunksearch.md) | :heavy_check_mark: | Splunk Search authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/createinputsystembypackinputsqs.md b/docs/models/createinputsystembypackinputsqs.md index a08d2775a..0b1c8ffe8 100644 --- a/docs/models/createinputsystembypackinputsqs.md +++ b/docs/models/createinputsystembypackinputsqs.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeSqs](../models/createinputsystembypacktypesqs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -33,7 +33,7 @@ | `visibility_timeout` | *Optional[float]* | :heavy_minus_sign: | After messages are retrieved by a ReceiveMessage request, @{product} will hide them from subsequent retrieve requests for at least this duration. You can set this as high as 43200 sec. (12 hours). | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `num_receivers` | *Optional[float]* | :heavy_minus_sign: | How many receiver processes to run. The higher the number, the better the throughput - at the expense of CPU overhead. | diff --git a/docs/models/createinputsystembypackinputsysdighec.md b/docs/models/createinputsystembypackinputsysdighec.md index c6881be1e..344268890 100644 --- a/docs/models/createinputsystembypackinputsysdighec.md +++ b/docs/models/createinputsystembypackinputsysdighec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeSysdigHec](../models/createinputsystembypacktypesysdighec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeSysdigHec](../models/createinputsystembypacktypesysdighec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `access_control_allow_origin` | List[*str*] | :heavy_minus_sign: | HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards. | | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputsyslogsyslog1.md b/docs/models/createinputsystembypackinputsyslogsyslog1.md index 845574e68..383810197 100644 --- a/docs/models/createinputsystembypackinputsyslogsyslog1.md +++ b/docs/models/createinputsystembypackinputsyslogsyslog1.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackInputSyslogType1](../models/createinputsystembypackinputsyslogtype1.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `enable_enhanced_proxy_header_parsing` | *Optional[bool]* | :heavy_minus_sign: | When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/createinputsystembypackinputsyslogsyslog2.md b/docs/models/createinputsystembypackinputsyslogsyslog2.md index 737b4117a..cd4e2c6d9 100644 --- a/docs/models/createinputsystembypackinputsyslogsyslog2.md +++ b/docs/models/createinputsystembypackinputsyslogsyslog2.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackInputSyslogType2](../models/createinputsystembypackinputsyslogtype2.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `enable_enhanced_proxy_header_parsing` | *Optional[bool]* | :heavy_minus_sign: | When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/createinputsystembypackinputsystemmetrics.md b/docs/models/createinputsystembypackinputsystemmetrics.md index 91fbf1e73..32133827d 100644 --- a/docs/models/createinputsystembypackinputsystemmetrics.md +++ b/docs/models/createinputsystembypackinputsystemmetrics.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeSystemMetrics](../models/createinputsystembypacktypesystemmetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -22,6 +22,6 @@ | `gpu` | [Optional[models.GpuType]](../models/gputype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.CreateInputSystemByPackPersistenceSystemMetrics]](../models/createinputsystembypackpersistencesystemmetrics.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputsystemstate.md b/docs/models/createinputsystembypackinputsystemstate.md index 9b3921999..9abff512e 100644 --- a/docs/models/createinputsystembypackinputsystemstate.md +++ b/docs/models/createinputsystembypackinputsystemstate.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeSystemState](../models/createinputsystembypacktypesystemstate.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -21,6 +21,6 @@ | `persistence` | [Optional[models.CreateInputSystemByPackPersistenceSystemState]](../models/createinputsystembypackpersistencesystemstate.md) | :heavy_minus_sign: | N/A | | `disable_native_module` | *Optional[bool]* | :heavy_minus_sign: | Enable to use built-in tools (PowerShell) to collect events instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab) | | `disable_native_last_log_module` | *Optional[bool]* | :heavy_minus_sign: | Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputtcp.md b/docs/models/createinputsystembypackinputtcp.md index 0d569150e..04b3268e1 100644 --- a/docs/models/createinputsystembypackinputtcp.md +++ b/docs/models/createinputsystembypackinputtcp.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeTCP](../models/createinputsystembypacktypetcp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `enable_header` | *Optional[bool]* | :heavy_minus_sign: | Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { "authToken" : "myToken", "fields": { "field1": "value1", "field2": "value2" } } | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted. | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createinputsystembypackinputtcpjson.md b/docs/models/createinputsystembypackinputtcpjson.md index ea84242f2..578bdea56 100644 --- a/docs/models/createinputsystembypackinputtcpjson.md +++ b/docs/models/createinputsystembypackinputtcpjson.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeTcpjson](../models/createinputsystembypacktypetcpjson.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -27,7 +27,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputsystembypackinputwef.md b/docs/models/createinputsystembypackinputwef.md index 87e6c65fe..e373f7d5b 100644 --- a/docs/models/createinputsystembypackinputwef.md +++ b/docs/models/createinputsystembypackinputwef.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeWef](../models/createinputsystembypacktypewef.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `allow_machine_id_mismatch` | *Optional[bool]* | :heavy_minus_sign: | Allow events to be ingested even if their MachineID does not match the client certificate CN | | `subscriptions` | List[[models.CreateInputSystemByPackSubscription](../models/createinputsystembypacksubscription.md)] | :heavy_check_mark: | Subscriptions to events on forwarding endpoints | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `log_fingerprint_mismatch` | *Optional[bool]* | :heavy_minus_sign: | Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/createinputsystembypackinputwindowsmetrics.md b/docs/models/createinputsystembypackinputwindowsmetrics.md index 460e9ad30..bd8e9d7a8 100644 --- a/docs/models/createinputsystembypackinputwindowsmetrics.md +++ b/docs/models/createinputsystembypackinputwindowsmetrics.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeWindowsMetrics](../models/createinputsystembypacktypewindowsmetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -22,6 +22,6 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.CreateInputSystemByPackPersistenceWindowsMetrics]](../models/createinputsystembypackpersistencewindowsmetrics.md) | :heavy_minus_sign: | N/A | | `disable_native_module` | *Optional[bool]* | :heavy_minus_sign: | Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createinputsystembypackinputwineventlogs.md b/docs/models/createinputsystembypackinputwineventlogs.md index b5eb547f2..50ba0fa78 100644 --- a/docs/models/createinputsystembypackinputwineventlogs.md +++ b/docs/models/createinputsystembypackinputwineventlogs.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeWinEventLogs](../models/createinputsystembypacktypewineventlogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `batch_size` | *Optional[float]* | :heavy_minus_sign: | The maximum number of events to read in one polling interval. A batch size higher than 500 can cause delays when pulling from multiple event logs. (Applicable for pre-4.8.0 nodes that use Windows Tools) | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_event_bytes` | *Optional[int]* | :heavy_minus_sign: | The maximum number of bytes in an event before it is flushed to the pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `disable_json_rendering` | *Optional[bool]* | :heavy_minus_sign: | Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API) | | `disable_xml_rendering` | *Optional[bool]* | :heavy_minus_sign: | Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API) | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputsystembypackinputwiz.md b/docs/models/createinputsystembypackinputwiz.md index 59fee43a1..be746afb2 100644 --- a/docs/models/createinputsystembypackinputwiz.md +++ b/docs/models/createinputsystembypackinputwiz.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | | `type` | [models.CreateInputSystemByPackTypeWiz](../models/createinputsystembypacktypewiz.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | The client secret of the Wiz application | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/createinputsystembypackinputwizwebhook.md b/docs/models/createinputsystembypackinputwizwebhook.md index 75b5167b3..e0242801e 100644 --- a/docs/models/createinputsystembypackinputwizwebhook.md +++ b/docs/models/createinputsystembypackinputwizwebhook.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeWizWebhook](../models/createinputsystembypacktypewizwebhook.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeWizWebhook](../models/createinputsystembypacktypewizwebhook.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `allowed_paths` | List[*str*] | :heavy_minus_sign: | List of URI paths accepted by this input. Wildcards are supported (such as /api/v*/hook). Defaults to allow all. | | `allowed_methods` | List[*str*] | :heavy_minus_sign: | List of HTTP methods accepted by this input. Wildcards are supported (such as P*, GET). Defaults to allow all. | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypackinputzscalerhec.md b/docs/models/createinputsystembypackinputzscalerhec.md index f9c223665..56f680813 100644 --- a/docs/models/createinputsystembypackinputzscalerhec.md +++ b/docs/models/createinputsystembypackinputzscalerhec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | Unique ID for this input | -| `type` | [models.CreateInputSystemByPackTypeZscalerHec](../models/createinputsystembypacktypezscalerhec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.CreateInputSystemByPackTypeZscalerHec](../models/createinputsystembypacktypezscalerhec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | | `hec_acks` | *Optional[bool]* | :heavy_minus_sign: | Whether to enable Zscaler HEC acknowledgements | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/createinputsystembypacktypecloudflarehec.md b/docs/models/createinputsystembypacktypecloudflarehec.md index 6fa5c678f..706a83391 100644 --- a/docs/models/createinputsystembypacktypecloudflarehec.md +++ b/docs/models/createinputsystembypacktypecloudflarehec.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeCloudflareHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypecriblhttp.md b/docs/models/createinputsystembypacktypecriblhttp.md index 6bb85a6b8..5ed8a0cc1 100644 --- a/docs/models/createinputsystembypacktypecriblhttp.md +++ b/docs/models/createinputsystembypacktypecriblhttp.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeCriblHTTP +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypecribllakehttp.md b/docs/models/createinputsystembypacktypecribllakehttp.md index 6e18d56dc..fe1d3621d 100644 --- a/docs/models/createinputsystembypacktypecribllakehttp.md +++ b/docs/models/createinputsystembypacktypecribllakehttp.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeCriblLakeHTTP +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypedatadogagent.md b/docs/models/createinputsystembypacktypedatadogagent.md index 269a63fd3..4fedd7f11 100644 --- a/docs/models/createinputsystembypacktypedatadogagent.md +++ b/docs/models/createinputsystembypacktypedatadogagent.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeDatadogAgent +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypeelastic.md b/docs/models/createinputsystembypacktypeelastic.md index 120874a7c..e331b6913 100644 --- a/docs/models/createinputsystembypacktypeelastic.md +++ b/docs/models/createinputsystembypacktypeelastic.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeElastic +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypefirehose.md b/docs/models/createinputsystembypacktypefirehose.md index 892ed1c03..e936ec776 100644 --- a/docs/models/createinputsystembypacktypefirehose.md +++ b/docs/models/createinputsystembypacktypefirehose.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeFirehose +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypehttp.md b/docs/models/createinputsystembypacktypehttp.md index f1a55562c..158b92a99 100644 --- a/docs/models/createinputsystembypacktypehttp.md +++ b/docs/models/createinputsystembypacktypehttp.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeHTTP +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypehttpraw.md b/docs/models/createinputsystembypacktypehttpraw.md index 9c3d27f98..fd910dc7d 100644 --- a/docs/models/createinputsystembypacktypehttpraw.md +++ b/docs/models/createinputsystembypacktypehttpraw.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeHTTPRaw +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypeloki.md b/docs/models/createinputsystembypacktypeloki.md index bbb1d8678..e5f36e828 100644 --- a/docs/models/createinputsystembypacktypeloki.md +++ b/docs/models/createinputsystembypacktypeloki.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeLoki +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypeopentelemetry.md b/docs/models/createinputsystembypacktypeopentelemetry.md index f1e9e3c6d..60eb05953 100644 --- a/docs/models/createinputsystembypacktypeopentelemetry.md +++ b/docs/models/createinputsystembypacktypeopentelemetry.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeOpenTelemetry +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypeprometheusrw.md b/docs/models/createinputsystembypacktypeprometheusrw.md index 1f9f726c3..decb31502 100644 --- a/docs/models/createinputsystembypacktypeprometheusrw.md +++ b/docs/models/createinputsystembypacktypeprometheusrw.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypePrometheusRw +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypesplunkhec.md b/docs/models/createinputsystembypacktypesplunkhec.md index 1a8037171..45361a4f0 100644 --- a/docs/models/createinputsystembypacktypesplunkhec.md +++ b/docs/models/createinputsystembypacktypesplunkhec.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeSplunkHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypesysdighec.md b/docs/models/createinputsystembypacktypesysdighec.md index b7dac527f..35bdfd99f 100644 --- a/docs/models/createinputsystembypacktypesysdighec.md +++ b/docs/models/createinputsystembypacktypesysdighec.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeSysdigHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypewizwebhook.md b/docs/models/createinputsystembypacktypewizwebhook.md index 4b299321c..a841c0c4e 100644 --- a/docs/models/createinputsystembypacktypewizwebhook.md +++ b/docs/models/createinputsystembypacktypewizwebhook.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeWizWebhook +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputsystembypacktypezscalerhec.md b/docs/models/createinputsystembypacktypezscalerhec.md index fb49c5ffc..edea7f7e1 100644 --- a/docs/models/createinputsystembypacktypezscalerhec.md +++ b/docs/models/createinputsystembypacktypezscalerhec.md @@ -1,5 +1,7 @@ # CreateInputSystemByPackTypeZscalerHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypecloudflarehec.md b/docs/models/createinputtypecloudflarehec.md index 32254e23e..ccc91f7a6 100644 --- a/docs/models/createinputtypecloudflarehec.md +++ b/docs/models/createinputtypecloudflarehec.md @@ -1,5 +1,7 @@ # CreateInputTypeCloudflareHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypecriblhttp.md b/docs/models/createinputtypecriblhttp.md index a58844b2c..6b0a1d475 100644 --- a/docs/models/createinputtypecriblhttp.md +++ b/docs/models/createinputtypecriblhttp.md @@ -1,5 +1,7 @@ # CreateInputTypeCriblHTTP +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypecribllakehttp.md b/docs/models/createinputtypecribllakehttp.md index 4d0c952db..e067ed930 100644 --- a/docs/models/createinputtypecribllakehttp.md +++ b/docs/models/createinputtypecribllakehttp.md @@ -1,5 +1,7 @@ # CreateInputTypeCriblLakeHTTP +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypedatadogagent.md b/docs/models/createinputtypedatadogagent.md index 2694834a4..73d88d911 100644 --- a/docs/models/createinputtypedatadogagent.md +++ b/docs/models/createinputtypedatadogagent.md @@ -1,5 +1,7 @@ # CreateInputTypeDatadogAgent +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypeelastic.md b/docs/models/createinputtypeelastic.md index 245a71ac1..4bbe61028 100644 --- a/docs/models/createinputtypeelastic.md +++ b/docs/models/createinputtypeelastic.md @@ -1,5 +1,7 @@ # CreateInputTypeElastic +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypefirehose.md b/docs/models/createinputtypefirehose.md index f5d6911b2..41315c749 100644 --- a/docs/models/createinputtypefirehose.md +++ b/docs/models/createinputtypefirehose.md @@ -1,5 +1,7 @@ # CreateInputTypeFirehose +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypehttp.md b/docs/models/createinputtypehttp.md index 02dae12ad..119a10f0a 100644 --- a/docs/models/createinputtypehttp.md +++ b/docs/models/createinputtypehttp.md @@ -1,5 +1,7 @@ # CreateInputTypeHTTP +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypehttpraw.md b/docs/models/createinputtypehttpraw.md index ac1b4ddc1..ef9fa28b3 100644 --- a/docs/models/createinputtypehttpraw.md +++ b/docs/models/createinputtypehttpraw.md @@ -1,5 +1,7 @@ # CreateInputTypeHTTPRaw +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypeloki.md b/docs/models/createinputtypeloki.md index 8a355de55..fbe392115 100644 --- a/docs/models/createinputtypeloki.md +++ b/docs/models/createinputtypeloki.md @@ -1,5 +1,7 @@ # CreateInputTypeLoki +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypeopentelemetry.md b/docs/models/createinputtypeopentelemetry.md index 2f43f1483..5132fb523 100644 --- a/docs/models/createinputtypeopentelemetry.md +++ b/docs/models/createinputtypeopentelemetry.md @@ -1,5 +1,7 @@ # CreateInputTypeOpenTelemetry +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypeprometheusrw.md b/docs/models/createinputtypeprometheusrw.md index 11bd79b9c..5194c9269 100644 --- a/docs/models/createinputtypeprometheusrw.md +++ b/docs/models/createinputtypeprometheusrw.md @@ -1,5 +1,7 @@ # CreateInputTypePrometheusRw +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypesplunkhec.md b/docs/models/createinputtypesplunkhec.md index 4aeb900cc..36bcf98e2 100644 --- a/docs/models/createinputtypesplunkhec.md +++ b/docs/models/createinputtypesplunkhec.md @@ -1,5 +1,7 @@ # CreateInputTypeSplunkHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypesysdighec.md b/docs/models/createinputtypesysdighec.md index 484b6273b..a9c2be0f3 100644 --- a/docs/models/createinputtypesysdighec.md +++ b/docs/models/createinputtypesysdighec.md @@ -1,5 +1,7 @@ # CreateInputTypeSysdigHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypewizwebhook.md b/docs/models/createinputtypewizwebhook.md index 2f4869b1e..a4aabaef3 100644 --- a/docs/models/createinputtypewizwebhook.md +++ b/docs/models/createinputtypewizwebhook.md @@ -1,5 +1,7 @@ # CreateInputTypeWizWebhook +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createinputtypezscalerhec.md b/docs/models/createinputtypezscalerhec.md index 205c60bb2..2853fbb7a 100644 --- a/docs/models/createinputtypezscalerhec.md +++ b/docs/models/createinputtypezscalerhec.md @@ -1,5 +1,7 @@ # CreateInputTypeZscalerHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/createoutputauthenticationmethodalibabaclouds3.md b/docs/models/createoutputauthenticationmethodalibabaclouds3.md new file mode 100644 index 000000000..1c5a4223d --- /dev/null +++ b/docs/models/createoutputauthenticationmethodalibabaclouds3.md @@ -0,0 +1,21 @@ +# CreateOutputAuthenticationMethodAlibabaCloudS3 + +Authentication method. + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputAuthenticationMethodAlibabaCloudS3 + +value = CreateOutputAuthenticationMethodAlibabaCloudS3.AUTO + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| -------- | -------- | +| `AUTO` | auto | +| `SECRET` | secret | \ No newline at end of file diff --git a/docs/models/createoutputoutputalibabaclouds3.md b/docs/models/createoutputoutputalibabaclouds3.md index 2807c4470..0cc39bc86 100644 --- a/docs/models/createoutputoutputalibabaclouds3.md +++ b/docs/models/createoutputoutputalibabaclouds3.md @@ -11,7 +11,7 @@ | `system_fields` | List[*str*] | :heavy_minus_sign: | Fields to automatically add to events, such as cribl_pipe. Supports wildcards. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `aws_authentication_method` | [Optional[models.CreateOutputAuthenticationMethodAlibabaCloudS3]](../models/createoutputauthenticationmethodalibabaclouds3.md) | :heavy_minus_sign: | Authentication method. | | `reuse_connections` | *Optional[bool]* | :heavy_minus_sign: | Reuse connections between requests, which can improve performance | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates that cannot be verified against a valid CA, such as self-signed certificates | | `bucket` | *str* | :heavy_check_mark: | Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}` | @@ -40,7 +40,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `endpoint` | *str* | :heavy_check_mark: | Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com` | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputoutputalphasocs3.md b/docs/models/createoutputoutputalphasocs3.md index 00d1156dc..dd88f052a 100644 --- a/docs/models/createoutputoutputalphasocs3.md +++ b/docs/models/createoutputoutputalphasocs3.md @@ -39,7 +39,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputoutputazureblob.md b/docs/models/createoutputoutputazureblob.md index 57c21bf72..44a8502f7 100644 --- a/docs/models/createoutputoutputazureblob.md +++ b/docs/models/createoutputoutputazureblob.md @@ -36,7 +36,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptions]](../models/authenticationmethodoptions.md) | :heavy_minus_sign: | N/A | | `storage_class` | [Optional[models.CreateOutputBlobAccessTier]](../models/createoutputblobaccesstier.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/createoutputoutputazuredataexplorer.md b/docs/models/createoutputoutputazuredataexplorer.md index d8eae0c13..3cdfe870b 100644 --- a/docs/models/createoutputoutputazuredataexplorer.md +++ b/docs/models/createoutputoutputazuredataexplorer.md @@ -21,7 +21,7 @@ | `client_id` | *str* | :heavy_check_mark: | client_id to pass in the OAuth request parameter | | `scope` | *str* | :heavy_check_mark: | Scope to pass in the OAuth request parameter | | `oauth_type` | [models.CreateOutputAuthenticationMethodAzureDataExplorer](../models/createoutputauthenticationmethodazuredataexplorer.md) | :heavy_check_mark: | The type of OAuth 2.0 client credentials grant flow to use | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | The client secret that you generated for your app in the Azure portal | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `certificate` | [Optional[models.CreateOutputCertificate]](../models/createoutputcertificate.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/createoutputoutputazureeventhub.md b/docs/models/createoutputoutputazureeventhub.md index bac5a6259..43330166d 100644 --- a/docs/models/createoutputoutputazureeventhub.md +++ b/docs/models/createoutputoutputazureeventhub.md @@ -29,7 +29,7 @@ | `sasl` | [Optional[models.AuthenticationTypeUse]](../models/authenticationtypeuse.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `tls` | [Optional[models.TLSSettingsClientSideType]](../models/tlssettingsclientsidetype.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputoutputazurelogs.md b/docs/models/createoutputoutputazurelogs.md index 9d60b9ba1..d0e96ea83 100644 --- a/docs/models/createoutputoutputazurelogs.md +++ b/docs/models/createoutputoutputazurelogs.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.CreateOutputAuthenticationMethodAzureLogs]](../models/createoutputauthenticationmethodazurelogs.md) | :heavy_minus_sign: | Enter workspace ID and workspace key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputoutputchronicle.md b/docs/models/createoutputoutputchronicle.md index 6018cdf2f..1397e9ed4 100644 --- a/docs/models/createoutputoutputchronicle.md +++ b/docs/models/createoutputoutputchronicle.md @@ -38,7 +38,7 @@ | `gcp_instance` | *str* | :heavy_check_mark: | The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid. | | `custom_labels` | List[[models.CreateOutputCustomLabel](../models/createoutputcustomlabel.md)] | :heavy_minus_sign: | Custom labels to be added to every event | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right. | | `service_account_credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputclickhouse.md b/docs/models/createoutputoutputclickhouse.md index 25e4527a4..ac17b385b 100644 --- a/docs/models/createoutputoutputclickhouse.md +++ b/docs/models/createoutputoutputclickhouse.md @@ -36,7 +36,7 @@ | `workload` | *Optional[str]* | :heavy_minus_sign: | Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification. | | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createoutputoutputcloudflarer2.md b/docs/models/createoutputoutputcloudflarer2.md index 8d8a3d6bc..ec6715896 100644 --- a/docs/models/createoutputoutputcloudflarer2.md +++ b/docs/models/createoutputoutputcloudflarer2.md @@ -42,7 +42,7 @@ | `endpoint` | *str* | :heavy_check_mark: | Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com) | | `storage_class` | [Optional[models.StorageClassOptionsReducedredundancyStandard]](../models/storageclassoptionsreducedredundancystandard.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptionsAes256]](../models/serversideencryptionforuploadedobjectsoptionsaes256.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputoutputcloudians3.md b/docs/models/createoutputoutputcloudians3.md index 7e2873d75..e24925720 100644 --- a/docs/models/createoutputoutputcloudians3.md +++ b/docs/models/createoutputoutputcloudians3.md @@ -44,7 +44,7 @@ | `storage_class` | [Optional[models.StorageClassOptions]](../models/storageclassoptions.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputoutputcloudwatch.md b/docs/models/createoutputoutputcloudwatch.md index 6b100c41f..42fa663da 100644 --- a/docs/models/createoutputoutputcloudwatch.md +++ b/docs/models/createoutputoutputcloudwatch.md @@ -27,7 +27,7 @@ | `max_record_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputconfluentcloud.md b/docs/models/createoutputoutputconfluentcloud.md index 256238b8a..0e0a89589 100644 --- a/docs/models/createoutputoutputconfluentcloud.md +++ b/docs/models/createoutputoutputconfluentcloud.md @@ -31,7 +31,7 @@ | `reauthentication_threshold` | *Optional[float]* | :heavy_minus_sign: | Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire. | | `sasl` | [Optional[models.AuthenticationType]](../models/authenticationtype.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | | `protobuf_encoding_id` | *Optional[str]* | :heavy_minus_sign: | Select the type of object you want the Protobuf definitions to use for event encoding | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputcriblhttp.md b/docs/models/createoutputoutputcriblhttp.md index 05b897c1c..ec8aeae80 100644 --- a/docs/models/createoutputoutputcriblhttp.md +++ b/docs/models/createoutputoutputcriblhttp.md @@ -31,7 +31,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `auth_tokens` | List[[models.AuthTokenConfOutputCriblHTTP](../models/authtokenconfoutputcriblhttp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a Cribl Worker to send events to, such as http://localhost:10200 | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputoutputcribllake.md b/docs/models/createoutputoutputcribllake.md index 307ebee07..efef8e8af 100644 --- a/docs/models/createoutputoutputcribllake.md +++ b/docs/models/createoutputoutputcribllake.md @@ -33,7 +33,7 @@ | `dynamic_dataset` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `max_closing_files_to_backpressure` | *Optional[float]* | :heavy_minus_sign: | N/A | | `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/createoutputoutputcriblsearchengine.md b/docs/models/createoutputoutputcriblsearchengine.md index 0d5a19fbd..d23e44184 100644 --- a/docs/models/createoutputoutputcriblsearchengine.md +++ b/docs/models/createoutputoutputcriblsearchengine.md @@ -32,7 +32,7 @@ | `auth_tokens` | List[[models.AuthTokenConfOutputCriblHTTP](../models/authtokenconfoutputcriblhttp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a Cribl Worker to send events to, such as http://localhost:10200 | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | | `urls` | List[[models.URLConfOutputCriblHTTP](../models/urlconfoutputcriblhttp.md)] | :heavy_minus_sign: | N/A | diff --git a/docs/models/createoutputoutputcribltcp.md b/docs/models/createoutputoutputcribltcp.md index 9db253e37..80ae2f795 100644 --- a/docs/models/createoutputoutputcribltcp.md +++ b/docs/models/createoutputoutputcribltcp.md @@ -22,7 +22,7 @@ | `auth_tokens` | List[[models.AuthTokenConfInputCriblTCP](../models/authtokenconfinputcribltcp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud. | | `exclude_fields` | List[*str*] | :heavy_minus_sign: | Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputoutputcrowdstrikenextgensiem.md b/docs/models/createoutputoutputcrowdstrikenextgensiem.md index 3ef4a2eeb..4e1293db5 100644 --- a/docs/models/createoutputoutputcrowdstrikenextgensiem.md +++ b/docs/models/createoutputoutputcrowdstrikenextgensiem.md @@ -29,7 +29,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | N/A | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputcustomermetricsstorage.md b/docs/models/createoutputoutputcustomermetricsstorage.md index 578e68741..b71d3bc43 100644 --- a/docs/models/createoutputoutputcustomermetricsstorage.md +++ b/docs/models/createoutputoutputcustomermetricsstorage.md @@ -36,7 +36,7 @@ | `workload` | *Optional[str]* | :heavy_minus_sign: | Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification. | | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createoutputoutputdatabricks.md b/docs/models/createoutputoutputdatabricks.md index 7e5497686..2b4049675 100644 --- a/docs/models/createoutputoutputdatabricks.md +++ b/docs/models/createoutputoutputdatabricks.md @@ -40,7 +40,7 @@ | `events_volume_name` | *str* | :heavy_check_mark: | Name of the Unity Catalog volume where event data is written. | | `client_text_secret` | *str* | :heavy_check_mark: | OAuth client secret for Unity Catalog authentication | | `timeout_sec` | *Optional[int]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/createoutputoutputdatadog.md b/docs/models/createoutputoutputdatadog.md index c95ab1f73..f67589626 100644 --- a/docs/models/createoutputoutputdatadog.md +++ b/docs/models/createoutputoutputdatadog.md @@ -39,7 +39,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputoutputdataset.md b/docs/models/createoutputoutputdataset.md index 658f68288..2b5be0fd6 100644 --- a/docs/models/createoutputoutputdataset.md +++ b/docs/models/createoutputoutputdataset.md @@ -34,7 +34,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputoutputdells3.md b/docs/models/createoutputoutputdells3.md index 82674ab0a..b6a28f913 100644 --- a/docs/models/createoutputoutputdells3.md +++ b/docs/models/createoutputoutputdells3.md @@ -41,7 +41,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `endpoint` | *str* | :heavy_check_mark: | Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputoutputdiskspool.md b/docs/models/createoutputoutputdiskspool.md index a943011cc..6fccb85ae 100644 --- a/docs/models/createoutputoutputdiskspool.md +++ b/docs/models/createoutputoutputdiskspool.md @@ -16,5 +16,5 @@ | `max_data_time` | *Optional[str]* | :heavy_minus_sign: | Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h. | | `compress` | [Optional[models.CompressionOptionsPersistence]](../models/compressionoptionspersistence.md) | :heavy_minus_sign: | Data compression format. Default is gzip. | | `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputoutputdls3.md b/docs/models/createoutputoutputdls3.md index 030635564..37823fc29 100644 --- a/docs/models/createoutputoutputdls3.md +++ b/docs/models/createoutputoutputdls3.md @@ -49,7 +49,7 @@ | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | | `partitioning_fields` | List[*str*] | :heavy_minus_sign: | List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/createoutputoutputdynatracehttp.md b/docs/models/createoutputoutputdynatracehttp.md index 0f3ef1038..0fea9f43e 100644 --- a/docs/models/createoutputoutputdynatracehttp.md +++ b/docs/models/createoutputoutputdynatracehttp.md @@ -33,7 +33,7 @@ | `endpoint` | [models.CreateOutputEndpointDynatraceHTTP](../models/createoutputendpointdynatracehttp.md) | :heavy_check_mark: | N/A | | `telemetry_type` | [models.CreateOutputTelemetryType](../models/createoutputtelemetrytype.md) | :heavy_check_mark: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputoutputdynatraceotlp.md b/docs/models/createoutputoutputdynatraceotlp.md index b1ef4ef5b..d05cc4891 100644 --- a/docs/models/createoutputoutputdynatraceotlp.md +++ b/docs/models/createoutputoutputdynatraceotlp.md @@ -34,7 +34,7 @@ | `token_secret` | *str* | :heavy_check_mark: | Select or create a stored text secret | | `auth_token_name` | *Optional[str]* | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's).
Enabled by default. When this setting is also present in TLS Settings (Client Side),
that value will take precedence. | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | diff --git a/docs/models/createoutputoutputelastic.md b/docs/models/createoutputoutputelastic.md index 1721b69d4..0d506b52a 100644 --- a/docs/models/createoutputoutputelastic.md +++ b/docs/models/createoutputoutputelastic.md @@ -35,7 +35,7 @@ | `write_action` | [Optional[models.CreateOutputWriteAction]](../models/createoutputwriteaction.md) | :heavy_minus_sign: | Action to use when writing events. Must be set to `Create` when writing to a data stream. | | `retry_partial_errors` | *Optional[bool]* | :heavy_minus_sign: | Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputoutputelasticcloud.md b/docs/models/createoutputoutputelasticcloud.md index b9ce3dff4..236c5d2ae 100644 --- a/docs/models/createoutputoutputelasticcloud.md +++ b/docs/models/createoutputoutputelasticcloud.md @@ -31,7 +31,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputoutputexabeam.md b/docs/models/createoutputoutputexabeam.md index c02ff936f..1eac9eaf1 100644 --- a/docs/models/createoutputoutputexabeam.md +++ b/docs/models/createoutputoutputexabeam.md @@ -37,7 +37,7 @@ | `timezone_offset` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`. | | `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | | `directory_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory. | | `deadletter_path` | *Optional[str]* | :heavy_minus_sign: | Storage location for files that fail to reach their final destination after maximum retries are exceeded | diff --git a/docs/models/createoutputoutputfilesystem.md b/docs/models/createoutputoutputfilesystem.md index 67f1e1d07..a6b99c6e4 100644 --- a/docs/models/createoutputoutputfilesystem.md +++ b/docs/models/createoutputoutputfilesystem.md @@ -31,7 +31,7 @@ | `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/createoutputoutputgooglechronicle.md b/docs/models/createoutputoutputgooglechronicle.md index b4cda50ae..73ff0df65 100644 --- a/docs/models/createoutputoutputgooglechronicle.md +++ b/docs/models/createoutputoutputgooglechronicle.md @@ -31,7 +31,7 @@ | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `extra_log_types` | List[[models.CreateOutputExtraLogType](../models/createoutputextralogtype.md)] | :heavy_minus_sign: | Custom log types. If the value "Custom" is selected in the setting "Default log type" above, the first custom log type in this table will be automatically selected as default log type. | | `log_type` | *Optional[str]* | :heavy_minus_sign: | Default log type value to send to SecOps. Can be overwritten by event field __logType. | | `log_text_field` | *Optional[str]* | :heavy_minus_sign: | Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event. | diff --git a/docs/models/createoutputoutputgooglecloudlogging.md b/docs/models/createoutputoutputgooglecloudlogging.md index 5c83aec99..f87facf67 100644 --- a/docs/models/createoutputoutputgooglecloudlogging.md +++ b/docs/models/createoutputoutputgooglecloudlogging.md @@ -60,7 +60,7 @@ | `trace_sampled_expression` | *Optional[str]* | :heavy_minus_sign: | A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `log_location_expression` | *str* | :heavy_check_mark: | JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore. | | `payload_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputgooglecloudobservability.md b/docs/models/createoutputoutputgooglecloudobservability.md index 60b4ec943..8836c6ad2 100644 --- a/docs/models/createoutputoutputgooglecloudobservability.md +++ b/docs/models/createoutputoutputgooglecloudobservability.md @@ -26,9 +26,9 @@ | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `tls` | [Optional[models.TLSSettingsClientSideTypeExtended]](../models/tlssettingsclientsidetypeextended.md) | :heavy_minus_sign: | N/A | -| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Max number of events to include in the request body. Default is 0 (unlimited). | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputoutputgooglecloudstorage.md b/docs/models/createoutputoutputgooglecloudstorage.md index 03110e306..f1bf4e0eb 100644 --- a/docs/models/createoutputoutputgooglecloudstorage.md +++ b/docs/models/createoutputoutputgooglecloudstorage.md @@ -40,7 +40,7 @@ | `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/createoutputoutputgooglepubsub.md b/docs/models/createoutputoutputgooglepubsub.md index 0d9d82088..1bc385e4a 100644 --- a/docs/models/createoutputoutputgooglepubsub.md +++ b/docs/models/createoutputoutputgooglepubsub.md @@ -25,7 +25,7 @@ | `flush_period` | *Optional[float]* | :heavy_minus_sign: | Maximum time to wait before sending a batch (when batch size limit is not reached) | | `max_in_progress` | *Optional[float]* | :heavy_minus_sign: | The maximum number of in-progress API requests before backpressure is applied. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputoutputgrafanacloudgrafanacloud1.md b/docs/models/createoutputoutputgrafanacloudgrafanacloud1.md index d90465260..93312a80f 100644 --- a/docs/models/createoutputoutputgrafanacloudgrafanacloud1.md +++ b/docs/models/createoutputoutputgrafanacloudgrafanacloud1.md @@ -33,7 +33,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputoutputgrafanacloudgrafanacloud2.md b/docs/models/createoutputoutputgrafanacloudgrafanacloud2.md index bffe52c90..c6c5107be 100644 --- a/docs/models/createoutputoutputgrafanacloudgrafanacloud2.md +++ b/docs/models/createoutputoutputgrafanacloudgrafanacloud2.md @@ -33,7 +33,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputoutputgraphite.md b/docs/models/createoutputoutputgraphite.md index 995ffa712..9e17c12d0 100644 --- a/docs/models/createoutputoutputgraphite.md +++ b/docs/models/createoutputoutputgraphite.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/createoutputoutputhoneycomb.md b/docs/models/createoutputoutputhoneycomb.md index 49e57e957..d15f67ce7 100644 --- a/docs/models/createoutputoutputhoneycomb.md +++ b/docs/models/createoutputoutputhoneycomb.md @@ -28,7 +28,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputoutputhumiohec.md b/docs/models/createoutputoutputhumiohec.md index b98d1eb0d..5e1b5d4a4 100644 --- a/docs/models/createoutputoutputhumiohec.md +++ b/docs/models/createoutputoutputhumiohec.md @@ -29,7 +29,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | CrowdStrike Falcon LogScale authentication token | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputibmclouds3.md b/docs/models/createoutputoutputibmclouds3.md new file mode 100644 index 000000000..84a913fce --- /dev/null +++ b/docs/models/createoutputoutputibmclouds3.md @@ -0,0 +1,71 @@ +# CreateOutputOutputIbmCloudS3 + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputTypeIbmCloudS3](../models/createoutputtypeibmclouds3.md) | :heavy_check_mark: | N/A | +| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data before sending out to this output | +| `system_fields` | List[*str*] | :heavy_minus_sign: | Fields to automatically add to events, such as cribl_pipe. Supports wildcards. | +| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `endpoint` | *str* | :heavy_check_mark: | IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud) | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `reuse_connections` | *Optional[bool]* | :heavy_minus_sign: | Reuse connections between requests, which can improve performance | +| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates that cannot be verified against a valid CA, such as self-signed certificates | +| `bucket` | *str* | :heavy_check_mark: | Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}` | +| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}` | +| `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | Maximum number of parts to upload in parallel per file. Minimum part size is 5MB. | +| `verify_permissions` | *Optional[bool]* | :heavy_minus_sign: | Disable if you can access files within the bucket but not the bucket itself | +| `max_closing_files_to_backpressure` | *Optional[float]* | :heavy_minus_sign: | Maximum number of files that can be waiting for upload before backpressure is applied | +| `stage_path` | *str* | :heavy_check_mark: | Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage. | +| `add_id_to_stage_path` | *Optional[bool]* | :heavy_minus_sign: | Add the Output ID value to staging location | +| `remove_empty_dirs` | *Optional[bool]* | :heavy_minus_sign: | Remove empty staging directories after moving files | +| `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory. | +| `format_` | [Optional[models.DataFormatOptions]](../models/dataformatoptions.md) | :heavy_minus_sign: | Format of the output data | +| `base_file_name` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to define the output filename prefix (can be constant) | +| `file_name_suffix` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`). | +| `max_file_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum uncompressed output file size. Files of this size will be closed and moved to final output location. | +| `max_file_open_time_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location. | +| `max_file_idle_time_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location. | +| `max_open_files` | *Optional[float]* | :heavy_minus_sign: | Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location. | +| `header_line` | *Optional[str]* | :heavy_minus_sign: | If set, this line will be written to the beginning of each output file | +| `write_high_water_mark` | *Optional[float]* | :heavy_minus_sign: | Buffer size used to write to a file | +| `on_backpressure` | [Optional[models.BackpressureBehaviorOptionsBlockDrop]](../models/backpressurebehavioroptionsblockdrop.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | +| `deadletter_enabled` | *Optional[bool]* | :heavy_minus_sign: | If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors | +| `on_disk_full_backpressure` | [Optional[models.DiskSpaceProtectionOptions]](../models/diskspaceprotectionoptions.md) | :heavy_minus_sign: | How to handle events when disk space is below the global 'Min free disk space' limit | +| `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | +| `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | +| `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | +| `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | +| `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | +| `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | +| `parquet_schema` | *Optional[str]* | :heavy_minus_sign: | To add a new schema, navigate to Processing > Knowledge > Parquet Schemas | +| `parquet_version` | [Optional[models.ParquetVersionOptions]](../models/parquetversionoptions.md) | :heavy_minus_sign: | Determines which data types are supported and how they are represented | +| `parquet_data_page_version` | [Optional[models.DataPageVersionOptions]](../models/datapageversionoptions.md) | :heavy_minus_sign: | Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it. | +| `parquet_row_group_length` | *Optional[float]* | :heavy_minus_sign: | The number of rows that every group will contain. The final group can contain a smaller number of rows. | +| `parquet_page_size` | *Optional[str]* | :heavy_minus_sign: | Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression. | +| `should_log_invalid_rows` | *Optional[bool]* | :heavy_minus_sign: | Log up to 3 rows that @{product} skips due to data mismatch | +| `key_value_metadata` | List[[models.KeyValueMetadataConfOutputFilesystem](../models/keyvaluemetadataconfoutputfilesystem.md)] | :heavy_minus_sign: | The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: "key":"OCSF Event Class", "value":"9001" | +| `enable_statistics` | *Optional[bool]* | :heavy_minus_sign: | Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics. | +| `enable_write_page_index` | *Optional[bool]* | :heavy_minus_sign: | One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping. | +| `enable_page_checksum` | *Optional[bool]* | :heavy_minus_sign: | Parquet tools can use the checksum of a Parquet page to verify data integrity | +| `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | +| `directory_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory. | +| `deadletter_path` | *Optional[str]* | :heavy_minus_sign: | Storage location for files that fail to reach their final destination after maximum retries are exceeded | +| `max_retry_num` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times a file will attempt to move to its final destination before being dead-lettered | +| `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | +| `template_endpoint` | *Optional[str]* | :heavy_minus_sign: | Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime. | +| `template_bucket` | *Optional[str]* | :heavy_minus_sign: | Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime. | +| `template_dest_path` | *Optional[str]* | :heavy_minus_sign: | Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime. | +| `template_partition_expr` | *Optional[str]* | :heavy_minus_sign: | Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime. | +| `template_format` | *Optional[str]* | :heavy_minus_sign: | Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime. | +| `template_base_file_name` | *Optional[str]* | :heavy_minus_sign: | Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime. | +| `template_file_name_suffix` | *Optional[str]* | :heavy_minus_sign: | Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime. | +| `template_on_backpressure` | *Optional[str]* | :heavy_minus_sign: | Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. | +| `template_compress` | *Optional[str]* | :heavy_minus_sign: | Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime. | +| `template_parquet_schema` | *Optional[str]* | :heavy_minus_sign: | Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputoutputinfluxdb.md b/docs/models/createoutputoutputinfluxdb.md index 7fcd88078..6f1fa749c 100644 --- a/docs/models/createoutputoutputinfluxdb.md +++ b/docs/models/createoutputoutputinfluxdb.md @@ -32,7 +32,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.CreateOutputAuthenticationTypeInfluxdb]](../models/createoutputauthenticationtypeinfluxdb.md) | :heavy_minus_sign: | InfluxDB authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `database` | *Optional[str]* | :heavy_minus_sign: | Database to write to. | | `bucket` | *Optional[str]* | :heavy_minus_sign: | Bucket to write to. | | `org` | *Optional[str]* | :heavy_minus_sign: | Organization ID for this bucket. | diff --git a/docs/models/createoutputoutputkafka.md b/docs/models/createoutputoutputkafka.md index e429aef24..d14508e27 100644 --- a/docs/models/createoutputoutputkafka.md +++ b/docs/models/createoutputoutputkafka.md @@ -31,7 +31,7 @@ | `sasl` | [Optional[models.AuthenticationType]](../models/authenticationtype.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | | `protobuf_encoding_id` | *Optional[str]* | :heavy_minus_sign: | Select the type of object you want the Protobuf definitions to use for event encoding | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputkinesis.md b/docs/models/createoutputoutputkinesis.md index 30c6f4bae..044d4706e 100644 --- a/docs/models/createoutputoutputkinesis.md +++ b/docs/models/createoutputoutputkinesis.md @@ -29,7 +29,7 @@ | `use_list_shards` | *Optional[bool]* | :heavy_minus_sign: | Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details. | | `as_ndjson` | *Optional[bool]* | :heavy_minus_sign: | Batch events into a single record as NDJSON | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `max_events_per_flush` | *Optional[float]* | :heavy_minus_sign: | Maximum number of records to send in a single request | diff --git a/docs/models/createoutputoutputlocalsearchstorage.md b/docs/models/createoutputoutputlocalsearchstorage.md index af22e5eab..d6029a368 100644 --- a/docs/models/createoutputoutputlocalsearchstorage.md +++ b/docs/models/createoutputoutputlocalsearchstorage.md @@ -37,7 +37,7 @@ | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `stats_destination` | [Optional[models.CreateOutputStatsDestination]](../models/createoutputstatsdestination.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createoutputoutputloki.md b/docs/models/createoutputoutputloki.md index 6af101592..ab1c23529 100644 --- a/docs/models/createoutputoutputloki.md +++ b/docs/models/createoutputoutputloki.md @@ -32,7 +32,7 @@ | `enable_dynamic_headers` | *Optional[bool]* | :heavy_minus_sign: | Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: : | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputoutputmicrosoftfabric.md b/docs/models/createoutputoutputmicrosoftfabric.md index 76b855f9d..2818a5ab9 100644 --- a/docs/models/createoutputoutputmicrosoftfabric.md +++ b/docs/models/createoutputoutputmicrosoftfabric.md @@ -29,7 +29,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideType]](../models/tlssettingsclientsidetype.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `bootstrap_server` | *str* | :heavy_check_mark: | Bootstrap server from Fabric Eventstream's endpoint | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputoutputminio.md b/docs/models/createoutputoutputminio.md index bb2b21907..b7d9c7d8b 100644 --- a/docs/models/createoutputoutputminio.md +++ b/docs/models/createoutputoutputminio.md @@ -44,7 +44,7 @@ | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `storage_class` | [Optional[models.StorageClassOptionsReducedredundancyStandard]](../models/storageclassoptionsreducedredundancystandard.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptionsAes256]](../models/serversideencryptionforuploadedobjectsoptionsaes256.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/createoutputoutputmsk.md b/docs/models/createoutputoutputmsk.md index 523393601..5ddfd2457 100644 --- a/docs/models/createoutputoutputmsk.md +++ b/docs/models/createoutputoutputmsk.md @@ -40,7 +40,7 @@ | `duration_seconds` | *Optional[float]* | :heavy_minus_sign: | 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). | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | diff --git a/docs/models/createoutputoutputnetflow.md b/docs/models/createoutputoutputnetflow.md index 3fbaf5f4a..dfcad71f3 100644 --- a/docs/models/createoutputoutputnetflow.md +++ b/docs/models/createoutputoutputnetflow.md @@ -14,6 +14,6 @@ | `hosts` | List[[models.CreateOutputHostNetflow](../models/createoutputhostnetflow.md)] | :heavy_check_mark: | One or more NetFlow Destinations to forward events to | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup. | | `enable_ip_spoofing` | *Optional[bool]* | :heavy_minus_sign: | Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_record_size` | *Optional[float]* | :heavy_minus_sign: | MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputoutputnewrelic.md b/docs/models/createoutputoutputnewrelic.md index a8200a7ed..eec2672a1 100644 --- a/docs/models/createoutputoutputnewrelic.md +++ b/docs/models/createoutputoutputnewrelic.md @@ -32,7 +32,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputoutputnewrelicevents.md b/docs/models/createoutputoutputnewrelicevents.md index 2d4502ffd..38c65d848 100644 --- a/docs/models/createoutputoutputnewrelicevents.md +++ b/docs/models/createoutputoutputnewrelicevents.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputoutputnutanixobjects.md b/docs/models/createoutputoutputnutanixobjects.md index 00623938c..9f5864ed1 100644 --- a/docs/models/createoutputoutputnutanixobjects.md +++ b/docs/models/createoutputoutputnutanixobjects.md @@ -40,7 +40,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputoutputopentelemetry.md b/docs/models/createoutputoutputopentelemetry.md index 3c58232fa..2bd1a793f 100644 --- a/docs/models/createoutputoutputopentelemetry.md +++ b/docs/models/createoutputoutputopentelemetry.md @@ -32,7 +32,7 @@ | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/createoutputoutputprometheus.md b/docs/models/createoutputoutputprometheus.md index 88eeec3d8..263f44a80 100644 --- a/docs/models/createoutputoutputprometheus.md +++ b/docs/models/createoutputoutputprometheus.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.CreateOutputAuthenticationTypePrometheus]](../models/createoutputauthenticationtypeprometheus.md) | :heavy_minus_sign: | Remote Write authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `metrics_flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputoutputring.md b/docs/models/createoutputoutputring.md index c0457c563..d39a2aefc 100644 --- a/docs/models/createoutputoutputring.md +++ b/docs/models/createoutputoutputring.md @@ -18,6 +18,6 @@ | `compress` | [Optional[models.DataCompressionFormatOptionsPersistence]](../models/datacompressionformatoptionspersistence.md) | :heavy_minus_sign: | N/A | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | Path to use to write metrics. Defaults to $CRIBL_HOME/state/ | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptionsBlockDrop]](../models/backpressurebehavioroptionsblockdrop.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_on_backpressure` | *Optional[str]* | :heavy_minus_sign: | Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputoutputrouter.md b/docs/models/createoutputoutputrouter.md index 366192693..6f464516e 100644 --- a/docs/models/createoutputoutputrouter.md +++ b/docs/models/createoutputoutputrouter.md @@ -12,5 +12,5 @@ | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | | `rules` | List[[models.CreateOutputRule](../models/createoutputrule.md)] | :heavy_check_mark: | Event routing rules | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputoutputs3.md b/docs/models/createoutputoutputs3.md index b5ee95359..8abe68887 100644 --- a/docs/models/createoutputoutputs3.md +++ b/docs/models/createoutputoutputs3.md @@ -49,7 +49,7 @@ | `storage_class` | [Optional[models.StorageClassOptions]](../models/storageclassoptions.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/createoutputoutputscalitys3.md b/docs/models/createoutputoutputscalitys3.md index 6bb465e92..cd65b36ab 100644 --- a/docs/models/createoutputoutputscalitys3.md +++ b/docs/models/createoutputoutputscalitys3.md @@ -40,7 +40,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputoutputsecuritylake.md b/docs/models/createoutputoutputsecuritylake.md index 21ee5d039..61bd0aeaa 100644 --- a/docs/models/createoutputoutputsecuritylake.md +++ b/docs/models/createoutputoutputsecuritylake.md @@ -57,7 +57,7 @@ | `enable_statistics` | *Optional[bool]* | :heavy_minus_sign: | Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics. | | `enable_write_page_index` | *Optional[bool]* | :heavy_minus_sign: | One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping. | | `enable_page_checksum` | *Optional[bool]* | :heavy_minus_sign: | Parquet tools can use the checksum of a Parquet page to verify data integrity | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | diff --git a/docs/models/createoutputoutputsentinel.md b/docs/models/createoutputoutputsentinel.md index 8b7c09f08..bf8380025 100644 --- a/docs/models/createoutputoutputsentinel.md +++ b/docs/models/createoutputoutputsentinel.md @@ -34,7 +34,7 @@ | `scope` | *Optional[str]* | :heavy_minus_sign: | Scope to pass in the OAuth request | | `endpoint_url_configuration` | [models.CreateOutputEndpointConfiguration](../models/createoutputendpointconfiguration.md) | :heavy_check_mark: | Enter the data collection endpoint URL or the individual ID | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `format_` | [Optional[models.CreateOutputFormatSentinel]](../models/createoutputformatsentinel.md) | :heavy_minus_sign: | N/A | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | diff --git a/docs/models/createoutputoutputsentineloneaisiem.md b/docs/models/createoutputoutputsentineloneaisiem.md index 90e064e85..eab8acfa7 100644 --- a/docs/models/createoutputoutputsentineloneaisiem.md +++ b/docs/models/createoutputoutputsentineloneaisiem.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `base_url` | *Optional[str]* | :heavy_minus_sign: | Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$. | diff --git a/docs/models/createoutputoutputservicenow.md b/docs/models/createoutputoutputservicenow.md index cb5bbbe35..92df37158 100644 --- a/docs/models/createoutputoutputservicenow.md +++ b/docs/models/createoutputoutputservicenow.md @@ -33,7 +33,7 @@ | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's).
Enabled by default. When this setting is also present in TLS Settings (Client Side),
that value will take precedence. | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | diff --git a/docs/models/createoutputoutputsignalfx.md b/docs/models/createoutputoutputsignalfx.md index 21bf4df80..926b81357 100644 --- a/docs/models/createoutputoutputsignalfx.md +++ b/docs/models/createoutputoutputsignalfx.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens)) | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputsnmp.md b/docs/models/createoutputoutputsnmp.md index bb49ffe7e..df7ebc802 100644 --- a/docs/models/createoutputoutputsnmp.md +++ b/docs/models/createoutputoutputsnmp.md @@ -14,6 +14,6 @@ | `hosts` | List[[models.CreateOutputHostSnmp](../models/createoutputhostsnmp.md)] | :heavy_check_mark: | One or more SNMP destinations to forward traps to | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup. | | `enable_ip_spoofing` | *Optional[bool]* | :heavy_minus_sign: | Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_record_size` | *Optional[float]* | :heavy_minus_sign: | MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputoutputsns.md b/docs/models/createoutputoutputsns.md index 958348ebd..0cd198123 100644 --- a/docs/models/createoutputoutputsns.md +++ b/docs/models/createoutputoutputsns.md @@ -25,7 +25,7 @@ | `assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | | `duration_seconds` | *Optional[float]* | :heavy_minus_sign: | 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). | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputsplunk.md b/docs/models/createoutputoutputsplunk.md index 262ac0464..5f8441b60 100644 --- a/docs/models/createoutputoutputsplunk.md +++ b/docs/models/createoutputoutputsplunk.md @@ -24,7 +24,7 @@ | `max_s2_sversion` | [Optional[models.MaxS2SVersionOptions]](../models/maxs2sversionoptions.md) | :heavy_minus_sign: | The highest S2S protocol version to advertise during handshake | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_failed_health_checks` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur. | | `compress` | [Optional[models.CompressionOptions]](../models/compressionoptions.md) | :heavy_minus_sign: | Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputsplunkhec.md b/docs/models/createoutputoutputsplunkhec.md index 5cc7c78c2..f4ab3e441 100644 --- a/docs/models/createoutputoutputsplunkhec.md +++ b/docs/models/createoutputoutputsplunkhec.md @@ -31,7 +31,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputoutputsplunklb.md b/docs/models/createoutputoutputsplunklb.md index 00f72321a..227fba3b4 100644 --- a/docs/models/createoutputoutputsplunklb.md +++ b/docs/models/createoutputoutputsplunklb.md @@ -27,7 +27,7 @@ | `indexer_discovery` | *Optional[bool]* | :heavy_minus_sign: | Automatically discover indexers in indexer clustering environment. | | `sender_unhealthy_time_allowance` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute. | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_failed_health_checks` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur. | | `compress` | [Optional[models.CompressionOptions]](../models/compressionoptions.md) | :heavy_minus_sign: | Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data. | | `indexer_discovery_configs` | [Optional[models.CreateOutputIndexerDiscoveryConfigs]](../models/createoutputindexerdiscoveryconfigs.md) | :heavy_minus_sign: | List of configurations to set up indexer discovery in Splunk Indexer clustering environment. | diff --git a/docs/models/createoutputoutputsqs.md b/docs/models/createoutputoutputsqs.md index 7c9cf0143..87e18f6bc 100644 --- a/docs/models/createoutputoutputsqs.md +++ b/docs/models/createoutputoutputsqs.md @@ -31,7 +31,7 @@ | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size. | | `max_in_progress` | *Optional[float]* | :heavy_minus_sign: | The maximum number of in-progress API requests before backpressure is applied. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputstatsd.md b/docs/models/createoutputoutputstatsd.md index 9dacbcff8..f59982949 100644 --- a/docs/models/createoutputoutputstatsd.md +++ b/docs/models/createoutputoutputstatsd.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/createoutputoutputstatsdext.md b/docs/models/createoutputoutputstatsdext.md index 489363089..601bcc85b 100644 --- a/docs/models/createoutputoutputstatsdext.md +++ b/docs/models/createoutputoutputstatsdext.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/createoutputoutputstorjs3.md b/docs/models/createoutputoutputstorjs3.md index 73b8bb1a0..727543aaf 100644 --- a/docs/models/createoutputoutputstorjs3.md +++ b/docs/models/createoutputoutputstorjs3.md @@ -39,7 +39,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputoutputsumologic.md b/docs/models/createoutputoutputsumologic.md index bb4da5c36..45d927f06 100644 --- a/docs/models/createoutputoutputsumologic.md +++ b/docs/models/createoutputoutputsumologic.md @@ -31,7 +31,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputoutputsyslog.md b/docs/models/createoutputoutputsyslog.md index dd1fa8652..c98c2c02d 100644 --- a/docs/models/createoutputoutputsyslog.md +++ b/docs/models/createoutputoutputsyslog.md @@ -20,7 +20,7 @@ | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `octet_count_framing` | *Optional[bool]* | :heavy_minus_sign: | Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n. | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | diff --git a/docs/models/createoutputoutputtcpjson.md b/docs/models/createoutputoutputtcpjson.md index ea3cca70d..463b5452e 100644 --- a/docs/models/createoutputoutputtcpjson.md +++ b/docs/models/createoutputoutputtcpjson.md @@ -22,7 +22,7 @@ | `send_header` | *Optional[bool]* | :heavy_minus_sign: | Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputoutputwavefront.md b/docs/models/createoutputoutputwavefront.md index 4ffb45477..083047402 100644 --- a/docs/models/createoutputoutputwavefront.md +++ b/docs/models/createoutputoutputwavefront.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token)) | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputoutputwebhookwebhook1.md b/docs/models/createoutputoutputwebhookwebhook1.md index 1d1a3fe06..0c524f492 100644 --- a/docs/models/createoutputoutputwebhookwebhook1.md +++ b/docs/models/createoutputoutputwebhookwebhook1.md @@ -33,7 +33,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | | `custom_event_delimiter` | *Optional[str]* | :heavy_minus_sign: | Delimiter string to insert between individual events. Defaults to newline character. | diff --git a/docs/models/createoutputoutputwebhookwebhook2.md b/docs/models/createoutputoutputwebhookwebhook2.md index 8356c7cd2..d56d278bd 100644 --- a/docs/models/createoutputoutputwebhookwebhook2.md +++ b/docs/models/createoutputoutputwebhookwebhook2.md @@ -33,7 +33,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | | `custom_event_delimiter` | *Optional[str]* | :heavy_minus_sign: | Delimiter string to insert between individual events. Defaults to newline character. | diff --git a/docs/models/createoutputoutputwizhec.md b/docs/models/createoutputoutputwizhec.md index d6312d67d..897f90dcf 100644 --- a/docs/models/createoutputoutputwizhec.md +++ b/docs/models/createoutputoutputwizhec.md @@ -33,7 +33,7 @@ | `wiz_environment` | *str* | :heavy_check_mark: | Your Wiz deployment environment. | | `data_center` | *str* | :heavy_check_mark: | Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console. | | `wiz_sourcetype` | *str* | :heavy_check_mark: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputoutputxsiam.md b/docs/models/createoutputoutputxsiam.md index 4d62b5715..8fb2b5bfb 100644 --- a/docs/models/createoutputoutputxsiam.md +++ b/docs/models/createoutputoutputxsiam.md @@ -29,7 +29,7 @@ | `throttle_rate_req_per_sec` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests to limit to per second | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputrequest.md b/docs/models/createoutputrequest.md index ed51b4402..a547324a2 100644 --- a/docs/models/createoutputrequest.md +++ b/docs/models/createoutputrequest.md @@ -485,3 +485,9 @@ value: models.CreateOutputOutputScalityS3 = /* values here */ value: models.CreateOutputOutputAlibabaCloudS3 = /* values here */ ``` +### `models.CreateOutputOutputIbmCloudS3` + +```python +value: models.CreateOutputOutputIbmCloudS3 = /* values here */ +``` + diff --git a/docs/models/createoutputsystembypackauthenticationmethodalibabaclouds3.md b/docs/models/createoutputsystembypackauthenticationmethodalibabaclouds3.md new file mode 100644 index 000000000..494658921 --- /dev/null +++ b/docs/models/createoutputsystembypackauthenticationmethodalibabaclouds3.md @@ -0,0 +1,21 @@ +# CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3 + +Authentication method. + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3 + +value = CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3.AUTO + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| -------- | -------- | +| `AUTO` | auto | +| `SECRET` | secret | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackoutputalibabaclouds3.md b/docs/models/createoutputsystembypackoutputalibabaclouds3.md index f3a2f9490..4c3f52cef 100644 --- a/docs/models/createoutputsystembypackoutputalibabaclouds3.md +++ b/docs/models/createoutputsystembypackoutputalibabaclouds3.md @@ -11,7 +11,7 @@ | `system_fields` | List[*str*] | :heavy_minus_sign: | Fields to automatically add to events, such as cribl_pipe. Supports wildcards. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `aws_authentication_method` | [Optional[models.CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3]](../models/createoutputsystembypackauthenticationmethodalibabaclouds3.md) | :heavy_minus_sign: | Authentication method. | | `reuse_connections` | *Optional[bool]* | :heavy_minus_sign: | Reuse connections between requests, which can improve performance | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates that cannot be verified against a valid CA, such as self-signed certificates | | `bucket` | *str* | :heavy_check_mark: | Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}` | @@ -40,7 +40,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `endpoint` | *str* | :heavy_check_mark: | Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com` | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputsystembypackoutputalphasocs3.md b/docs/models/createoutputsystembypackoutputalphasocs3.md index 5650640da..eaee520d2 100644 --- a/docs/models/createoutputsystembypackoutputalphasocs3.md +++ b/docs/models/createoutputsystembypackoutputalphasocs3.md @@ -39,7 +39,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputsystembypackoutputazureblob.md b/docs/models/createoutputsystembypackoutputazureblob.md index a524c2070..6894686b5 100644 --- a/docs/models/createoutputsystembypackoutputazureblob.md +++ b/docs/models/createoutputsystembypackoutputazureblob.md @@ -36,7 +36,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptions]](../models/authenticationmethodoptions.md) | :heavy_minus_sign: | N/A | | `storage_class` | [Optional[models.CreateOutputSystemByPackBlobAccessTier]](../models/createoutputsystembypackblobaccesstier.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/createoutputsystembypackoutputazuredataexplorer.md b/docs/models/createoutputsystembypackoutputazuredataexplorer.md index e8167427b..2752b860c 100644 --- a/docs/models/createoutputsystembypackoutputazuredataexplorer.md +++ b/docs/models/createoutputsystembypackoutputazuredataexplorer.md @@ -21,7 +21,7 @@ | `client_id` | *str* | :heavy_check_mark: | client_id to pass in the OAuth request parameter | | `scope` | *str* | :heavy_check_mark: | Scope to pass in the OAuth request parameter | | `oauth_type` | [models.CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer](../models/createoutputsystembypackauthenticationmethodazuredataexplorer.md) | :heavy_check_mark: | The type of OAuth 2.0 client credentials grant flow to use | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | The client secret that you generated for your app in the Azure portal | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `certificate` | [Optional[models.CreateOutputSystemByPackCertificate]](../models/createoutputsystembypackcertificate.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/createoutputsystembypackoutputazureeventhub.md b/docs/models/createoutputsystembypackoutputazureeventhub.md index 5aa3cc0a0..e0e0d2f32 100644 --- a/docs/models/createoutputsystembypackoutputazureeventhub.md +++ b/docs/models/createoutputsystembypackoutputazureeventhub.md @@ -29,7 +29,7 @@ | `sasl` | [Optional[models.AuthenticationTypeUse]](../models/authenticationtypeuse.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `tls` | [Optional[models.TLSSettingsClientSideType]](../models/tlssettingsclientsidetype.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputsystembypackoutputazurelogs.md b/docs/models/createoutputsystembypackoutputazurelogs.md index 05dde4989..a4e61c937 100644 --- a/docs/models/createoutputsystembypackoutputazurelogs.md +++ b/docs/models/createoutputsystembypackoutputazurelogs.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.CreateOutputSystemByPackAuthenticationMethodAzureLogs]](../models/createoutputsystembypackauthenticationmethodazurelogs.md) | :heavy_minus_sign: | Enter workspace ID and workspace key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputsystembypackoutputchronicle.md b/docs/models/createoutputsystembypackoutputchronicle.md index ec22e5812..f5e4c358d 100644 --- a/docs/models/createoutputsystembypackoutputchronicle.md +++ b/docs/models/createoutputsystembypackoutputchronicle.md @@ -38,7 +38,7 @@ | `gcp_instance` | *str* | :heavy_check_mark: | The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid. | | `custom_labels` | List[[models.CreateOutputSystemByPackCustomLabel](../models/createoutputsystembypackcustomlabel.md)] | :heavy_minus_sign: | Custom labels to be added to every event | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right. | | `service_account_credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputclickhouse.md b/docs/models/createoutputsystembypackoutputclickhouse.md index 234b8db14..9246a1067 100644 --- a/docs/models/createoutputsystembypackoutputclickhouse.md +++ b/docs/models/createoutputsystembypackoutputclickhouse.md @@ -36,7 +36,7 @@ | `workload` | *Optional[str]* | :heavy_minus_sign: | Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification. | | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createoutputsystembypackoutputcloudflarer2.md b/docs/models/createoutputsystembypackoutputcloudflarer2.md index 064d50650..cb06eb228 100644 --- a/docs/models/createoutputsystembypackoutputcloudflarer2.md +++ b/docs/models/createoutputsystembypackoutputcloudflarer2.md @@ -42,7 +42,7 @@ | `endpoint` | *str* | :heavy_check_mark: | Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com) | | `storage_class` | [Optional[models.StorageClassOptionsReducedredundancyStandard]](../models/storageclassoptionsreducedredundancystandard.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptionsAes256]](../models/serversideencryptionforuploadedobjectsoptionsaes256.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputsystembypackoutputcloudians3.md b/docs/models/createoutputsystembypackoutputcloudians3.md index bf4ef178f..52288d72c 100644 --- a/docs/models/createoutputsystembypackoutputcloudians3.md +++ b/docs/models/createoutputsystembypackoutputcloudians3.md @@ -44,7 +44,7 @@ | `storage_class` | [Optional[models.StorageClassOptions]](../models/storageclassoptions.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputsystembypackoutputcloudwatch.md b/docs/models/createoutputsystembypackoutputcloudwatch.md index 044c2f189..ded2500fc 100644 --- a/docs/models/createoutputsystembypackoutputcloudwatch.md +++ b/docs/models/createoutputsystembypackoutputcloudwatch.md @@ -27,7 +27,7 @@ | `max_record_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputconfluentcloud.md b/docs/models/createoutputsystembypackoutputconfluentcloud.md index 386e1a64b..3b24d66aa 100644 --- a/docs/models/createoutputsystembypackoutputconfluentcloud.md +++ b/docs/models/createoutputsystembypackoutputconfluentcloud.md @@ -31,7 +31,7 @@ | `reauthentication_threshold` | *Optional[float]* | :heavy_minus_sign: | Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire. | | `sasl` | [Optional[models.AuthenticationType]](../models/authenticationtype.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | | `protobuf_encoding_id` | *Optional[str]* | :heavy_minus_sign: | Select the type of object you want the Protobuf definitions to use for event encoding | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputcriblhttp.md b/docs/models/createoutputsystembypackoutputcriblhttp.md index 792203ef9..81bbb432e 100644 --- a/docs/models/createoutputsystembypackoutputcriblhttp.md +++ b/docs/models/createoutputsystembypackoutputcriblhttp.md @@ -31,7 +31,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `auth_tokens` | List[[models.AuthTokenConfOutputCriblHTTP](../models/authtokenconfoutputcriblhttp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a Cribl Worker to send events to, such as http://localhost:10200 | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputsystembypackoutputcribllake.md b/docs/models/createoutputsystembypackoutputcribllake.md index 5691d77ec..6cc7eaf0e 100644 --- a/docs/models/createoutputsystembypackoutputcribllake.md +++ b/docs/models/createoutputsystembypackoutputcribllake.md @@ -33,7 +33,7 @@ | `dynamic_dataset` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `max_closing_files_to_backpressure` | *Optional[float]* | :heavy_minus_sign: | N/A | | `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/createoutputsystembypackoutputcriblsearchengine.md b/docs/models/createoutputsystembypackoutputcriblsearchengine.md index 15f4e205f..96dd3d22f 100644 --- a/docs/models/createoutputsystembypackoutputcriblsearchengine.md +++ b/docs/models/createoutputsystembypackoutputcriblsearchengine.md @@ -32,7 +32,7 @@ | `auth_tokens` | List[[models.AuthTokenConfOutputCriblHTTP](../models/authtokenconfoutputcriblhttp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a Cribl Worker to send events to, such as http://localhost:10200 | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | | `urls` | List[[models.URLConfOutputCriblHTTP](../models/urlconfoutputcriblhttp.md)] | :heavy_minus_sign: | N/A | diff --git a/docs/models/createoutputsystembypackoutputcribltcp.md b/docs/models/createoutputsystembypackoutputcribltcp.md index 5aebc0ed3..34eb6b682 100644 --- a/docs/models/createoutputsystembypackoutputcribltcp.md +++ b/docs/models/createoutputsystembypackoutputcribltcp.md @@ -22,7 +22,7 @@ | `auth_tokens` | List[[models.AuthTokenConfInputCriblTCP](../models/authtokenconfinputcribltcp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud. | | `exclude_fields` | List[*str*] | :heavy_minus_sign: | Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputsystembypackoutputcrowdstrikenextgensiem.md b/docs/models/createoutputsystembypackoutputcrowdstrikenextgensiem.md index c078d0138..54b330f54 100644 --- a/docs/models/createoutputsystembypackoutputcrowdstrikenextgensiem.md +++ b/docs/models/createoutputsystembypackoutputcrowdstrikenextgensiem.md @@ -29,7 +29,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | N/A | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputcustomermetricsstorage.md b/docs/models/createoutputsystembypackoutputcustomermetricsstorage.md index 786bec3cf..7353cdb76 100644 --- a/docs/models/createoutputsystembypackoutputcustomermetricsstorage.md +++ b/docs/models/createoutputsystembypackoutputcustomermetricsstorage.md @@ -36,7 +36,7 @@ | `workload` | *Optional[str]* | :heavy_minus_sign: | Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification. | | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createoutputsystembypackoutputdatabricks.md b/docs/models/createoutputsystembypackoutputdatabricks.md index 1b8535958..db101aa26 100644 --- a/docs/models/createoutputsystembypackoutputdatabricks.md +++ b/docs/models/createoutputsystembypackoutputdatabricks.md @@ -40,7 +40,7 @@ | `events_volume_name` | *str* | :heavy_check_mark: | Name of the Unity Catalog volume where event data is written. | | `client_text_secret` | *str* | :heavy_check_mark: | OAuth client secret for Unity Catalog authentication | | `timeout_sec` | *Optional[int]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/createoutputsystembypackoutputdatadog.md b/docs/models/createoutputsystembypackoutputdatadog.md index d2a8c78f4..ba2890090 100644 --- a/docs/models/createoutputsystembypackoutputdatadog.md +++ b/docs/models/createoutputsystembypackoutputdatadog.md @@ -39,7 +39,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputsystembypackoutputdataset.md b/docs/models/createoutputsystembypackoutputdataset.md index 5c1b0d93b..973536a83 100644 --- a/docs/models/createoutputsystembypackoutputdataset.md +++ b/docs/models/createoutputsystembypackoutputdataset.md @@ -34,7 +34,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputsystembypackoutputdells3.md b/docs/models/createoutputsystembypackoutputdells3.md index a6ef9d605..dd0b7810b 100644 --- a/docs/models/createoutputsystembypackoutputdells3.md +++ b/docs/models/createoutputsystembypackoutputdells3.md @@ -41,7 +41,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `endpoint` | *str* | :heavy_check_mark: | Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputsystembypackoutputdiskspool.md b/docs/models/createoutputsystembypackoutputdiskspool.md index b08ef386b..88790d812 100644 --- a/docs/models/createoutputsystembypackoutputdiskspool.md +++ b/docs/models/createoutputsystembypackoutputdiskspool.md @@ -16,5 +16,5 @@ | `max_data_time` | *Optional[str]* | :heavy_minus_sign: | Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h. | | `compress` | [Optional[models.CompressionOptionsPersistence]](../models/compressionoptionspersistence.md) | :heavy_minus_sign: | Data compression format. Default is gzip. | | `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackoutputdls3.md b/docs/models/createoutputsystembypackoutputdls3.md index 6c82bcaf3..28d00ba1f 100644 --- a/docs/models/createoutputsystembypackoutputdls3.md +++ b/docs/models/createoutputsystembypackoutputdls3.md @@ -49,7 +49,7 @@ | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | | `partitioning_fields` | List[*str*] | :heavy_minus_sign: | List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/createoutputsystembypackoutputdynatracehttp.md b/docs/models/createoutputsystembypackoutputdynatracehttp.md index cb5f40e1d..bfcbcee1e 100644 --- a/docs/models/createoutputsystembypackoutputdynatracehttp.md +++ b/docs/models/createoutputsystembypackoutputdynatracehttp.md @@ -33,7 +33,7 @@ | `endpoint` | [models.CreateOutputSystemByPackEndpointDynatraceHTTP](../models/createoutputsystembypackendpointdynatracehttp.md) | :heavy_check_mark: | N/A | | `telemetry_type` | [models.CreateOutputSystemByPackTelemetryType](../models/createoutputsystembypacktelemetrytype.md) | :heavy_check_mark: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputsystembypackoutputdynatraceotlp.md b/docs/models/createoutputsystembypackoutputdynatraceotlp.md index 5077afb6c..cb525da92 100644 --- a/docs/models/createoutputsystembypackoutputdynatraceotlp.md +++ b/docs/models/createoutputsystembypackoutputdynatraceotlp.md @@ -34,7 +34,7 @@ | `token_secret` | *str* | :heavy_check_mark: | Select or create a stored text secret | | `auth_token_name` | *Optional[str]* | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's).
Enabled by default. When this setting is also present in TLS Settings (Client Side),
that value will take precedence. | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | diff --git a/docs/models/createoutputsystembypackoutputelastic.md b/docs/models/createoutputsystembypackoutputelastic.md index 4d5f97a5a..4511b3eb4 100644 --- a/docs/models/createoutputsystembypackoutputelastic.md +++ b/docs/models/createoutputsystembypackoutputelastic.md @@ -35,7 +35,7 @@ | `write_action` | [Optional[models.CreateOutputSystemByPackWriteAction]](../models/createoutputsystembypackwriteaction.md) | :heavy_minus_sign: | Action to use when writing events. Must be set to `Create` when writing to a data stream. | | `retry_partial_errors` | *Optional[bool]* | :heavy_minus_sign: | Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputsystembypackoutputelasticcloud.md b/docs/models/createoutputsystembypackoutputelasticcloud.md index cc50614ad..29806ce53 100644 --- a/docs/models/createoutputsystembypackoutputelasticcloud.md +++ b/docs/models/createoutputsystembypackoutputelasticcloud.md @@ -31,7 +31,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputsystembypackoutputexabeam.md b/docs/models/createoutputsystembypackoutputexabeam.md index 2021e6bdf..e6270b4df 100644 --- a/docs/models/createoutputsystembypackoutputexabeam.md +++ b/docs/models/createoutputsystembypackoutputexabeam.md @@ -37,7 +37,7 @@ | `timezone_offset` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`. | | `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | | `directory_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory. | | `deadletter_path` | *Optional[str]* | :heavy_minus_sign: | Storage location for files that fail to reach their final destination after maximum retries are exceeded | diff --git a/docs/models/createoutputsystembypackoutputfilesystem.md b/docs/models/createoutputsystembypackoutputfilesystem.md index 97a6dc874..d7b4ac4f0 100644 --- a/docs/models/createoutputsystembypackoutputfilesystem.md +++ b/docs/models/createoutputsystembypackoutputfilesystem.md @@ -31,7 +31,7 @@ | `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/createoutputsystembypackoutputgooglechronicle.md b/docs/models/createoutputsystembypackoutputgooglechronicle.md index 4116dbc87..1a3e01089 100644 --- a/docs/models/createoutputsystembypackoutputgooglechronicle.md +++ b/docs/models/createoutputsystembypackoutputgooglechronicle.md @@ -31,7 +31,7 @@ | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `extra_log_types` | List[[models.CreateOutputSystemByPackExtraLogType](../models/createoutputsystembypackextralogtype.md)] | :heavy_minus_sign: | Custom log types. If the value "Custom" is selected in the setting "Default log type" above, the first custom log type in this table will be automatically selected as default log type. | | `log_type` | *Optional[str]* | :heavy_minus_sign: | Default log type value to send to SecOps. Can be overwritten by event field __logType. | | `log_text_field` | *Optional[str]* | :heavy_minus_sign: | Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event. | diff --git a/docs/models/createoutputsystembypackoutputgooglecloudlogging.md b/docs/models/createoutputsystembypackoutputgooglecloudlogging.md index 7c56eaa73..7a06604b2 100644 --- a/docs/models/createoutputsystembypackoutputgooglecloudlogging.md +++ b/docs/models/createoutputsystembypackoutputgooglecloudlogging.md @@ -60,7 +60,7 @@ | `trace_sampled_expression` | *Optional[str]* | :heavy_minus_sign: | A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `log_location_expression` | *str* | :heavy_check_mark: | JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore. | | `payload_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputgooglecloudobservability.md b/docs/models/createoutputsystembypackoutputgooglecloudobservability.md index 9ad5f79a4..a60e45f38 100644 --- a/docs/models/createoutputsystembypackoutputgooglecloudobservability.md +++ b/docs/models/createoutputsystembypackoutputgooglecloudobservability.md @@ -26,9 +26,9 @@ | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `tls` | [Optional[models.TLSSettingsClientSideTypeExtended]](../models/tlssettingsclientsidetypeextended.md) | :heavy_minus_sign: | N/A | -| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Max number of events to include in the request body. Default is 0 (unlimited). | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputsystembypackoutputgooglecloudstorage.md b/docs/models/createoutputsystembypackoutputgooglecloudstorage.md index 449045b4d..b755ff626 100644 --- a/docs/models/createoutputsystembypackoutputgooglecloudstorage.md +++ b/docs/models/createoutputsystembypackoutputgooglecloudstorage.md @@ -40,7 +40,7 @@ | `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/createoutputsystembypackoutputgooglepubsub.md b/docs/models/createoutputsystembypackoutputgooglepubsub.md index b7b665883..65a3a4558 100644 --- a/docs/models/createoutputsystembypackoutputgooglepubsub.md +++ b/docs/models/createoutputsystembypackoutputgooglepubsub.md @@ -25,7 +25,7 @@ | `flush_period` | *Optional[float]* | :heavy_minus_sign: | Maximum time to wait before sending a batch (when batch size limit is not reached) | | `max_in_progress` | *Optional[float]* | :heavy_minus_sign: | The maximum number of in-progress API requests before backpressure is applied. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud1.md b/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud1.md index fa172d499..26e505d2c 100644 --- a/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud1.md +++ b/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud1.md @@ -33,7 +33,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud2.md b/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud2.md index 5f69685c6..e6843d9d0 100644 --- a/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud2.md +++ b/docs/models/createoutputsystembypackoutputgrafanacloudgrafanacloud2.md @@ -33,7 +33,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputsystembypackoutputgraphite.md b/docs/models/createoutputsystembypackoutputgraphite.md index 28110a0dd..86c7a83a2 100644 --- a/docs/models/createoutputsystembypackoutputgraphite.md +++ b/docs/models/createoutputsystembypackoutputgraphite.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/createoutputsystembypackoutputhoneycomb.md b/docs/models/createoutputsystembypackoutputhoneycomb.md index 4b54b05d1..a6cbb084e 100644 --- a/docs/models/createoutputsystembypackoutputhoneycomb.md +++ b/docs/models/createoutputsystembypackoutputhoneycomb.md @@ -28,7 +28,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputsystembypackoutputhumiohec.md b/docs/models/createoutputsystembypackoutputhumiohec.md index 00b1a7ba9..0ff3e7404 100644 --- a/docs/models/createoutputsystembypackoutputhumiohec.md +++ b/docs/models/createoutputsystembypackoutputhumiohec.md @@ -29,7 +29,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | CrowdStrike Falcon LogScale authentication token | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputibmclouds3.md b/docs/models/createoutputsystembypackoutputibmclouds3.md new file mode 100644 index 000000000..53fb33352 --- /dev/null +++ b/docs/models/createoutputsystembypackoutputibmclouds3.md @@ -0,0 +1,71 @@ +# CreateOutputSystemByPackOutputIbmCloudS3 + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique ID for this output | +| `type` | [models.CreateOutputSystemByPackTypeIbmCloudS3](../models/createoutputsystembypacktypeibmclouds3.md) | :heavy_check_mark: | N/A | +| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data before sending out to this output | +| `system_fields` | List[*str*] | :heavy_minus_sign: | Fields to automatically add to events, such as cribl_pipe. Supports wildcards. | +| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `endpoint` | *str* | :heavy_check_mark: | IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud) | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `reuse_connections` | *Optional[bool]* | :heavy_minus_sign: | Reuse connections between requests, which can improve performance | +| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates that cannot be verified against a valid CA, such as self-signed certificates | +| `bucket` | *str* | :heavy_check_mark: | Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}` | +| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}` | +| `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | Maximum number of parts to upload in parallel per file. Minimum part size is 5MB. | +| `verify_permissions` | *Optional[bool]* | :heavy_minus_sign: | Disable if you can access files within the bucket but not the bucket itself | +| `max_closing_files_to_backpressure` | *Optional[float]* | :heavy_minus_sign: | Maximum number of files that can be waiting for upload before backpressure is applied | +| `stage_path` | *str* | :heavy_check_mark: | Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage. | +| `add_id_to_stage_path` | *Optional[bool]* | :heavy_minus_sign: | Add the Output ID value to staging location | +| `remove_empty_dirs` | *Optional[bool]* | :heavy_minus_sign: | Remove empty staging directories after moving files | +| `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory. | +| `format_` | [Optional[models.DataFormatOptions]](../models/dataformatoptions.md) | :heavy_minus_sign: | Format of the output data | +| `base_file_name` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to define the output filename prefix (can be constant) | +| `file_name_suffix` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`). | +| `max_file_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum uncompressed output file size. Files of this size will be closed and moved to final output location. | +| `max_file_open_time_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location. | +| `max_file_idle_time_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location. | +| `max_open_files` | *Optional[float]* | :heavy_minus_sign: | Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location. | +| `header_line` | *Optional[str]* | :heavy_minus_sign: | If set, this line will be written to the beginning of each output file | +| `write_high_water_mark` | *Optional[float]* | :heavy_minus_sign: | Buffer size used to write to a file | +| `on_backpressure` | [Optional[models.BackpressureBehaviorOptionsBlockDrop]](../models/backpressurebehavioroptionsblockdrop.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | +| `deadletter_enabled` | *Optional[bool]* | :heavy_minus_sign: | If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors | +| `on_disk_full_backpressure` | [Optional[models.DiskSpaceProtectionOptions]](../models/diskspaceprotectionoptions.md) | :heavy_minus_sign: | How to handle events when disk space is below the global 'Min free disk space' limit | +| `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | +| `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | +| `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | +| `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | +| `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | +| `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | +| `parquet_schema` | *Optional[str]* | :heavy_minus_sign: | To add a new schema, navigate to Processing > Knowledge > Parquet Schemas | +| `parquet_version` | [Optional[models.ParquetVersionOptions]](../models/parquetversionoptions.md) | :heavy_minus_sign: | Determines which data types are supported and how they are represented | +| `parquet_data_page_version` | [Optional[models.DataPageVersionOptions]](../models/datapageversionoptions.md) | :heavy_minus_sign: | Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it. | +| `parquet_row_group_length` | *Optional[float]* | :heavy_minus_sign: | The number of rows that every group will contain. The final group can contain a smaller number of rows. | +| `parquet_page_size` | *Optional[str]* | :heavy_minus_sign: | Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression. | +| `should_log_invalid_rows` | *Optional[bool]* | :heavy_minus_sign: | Log up to 3 rows that @{product} skips due to data mismatch | +| `key_value_metadata` | List[[models.KeyValueMetadataConfOutputFilesystem](../models/keyvaluemetadataconfoutputfilesystem.md)] | :heavy_minus_sign: | The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: "key":"OCSF Event Class", "value":"9001" | +| `enable_statistics` | *Optional[bool]* | :heavy_minus_sign: | Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics. | +| `enable_write_page_index` | *Optional[bool]* | :heavy_minus_sign: | One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping. | +| `enable_page_checksum` | *Optional[bool]* | :heavy_minus_sign: | Parquet tools can use the checksum of a Parquet page to verify data integrity | +| `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | +| `directory_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory. | +| `deadletter_path` | *Optional[str]* | :heavy_minus_sign: | Storage location for files that fail to reach their final destination after maximum retries are exceeded | +| `max_retry_num` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times a file will attempt to move to its final destination before being dead-lettered | +| `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | +| `template_endpoint` | *Optional[str]* | :heavy_minus_sign: | Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime. | +| `template_bucket` | *Optional[str]* | :heavy_minus_sign: | Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime. | +| `template_dest_path` | *Optional[str]* | :heavy_minus_sign: | Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime. | +| `template_partition_expr` | *Optional[str]* | :heavy_minus_sign: | Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime. | +| `template_format` | *Optional[str]* | :heavy_minus_sign: | Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime. | +| `template_base_file_name` | *Optional[str]* | :heavy_minus_sign: | Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime. | +| `template_file_name_suffix` | *Optional[str]* | :heavy_minus_sign: | Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime. | +| `template_on_backpressure` | *Optional[str]* | :heavy_minus_sign: | Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. | +| `template_compress` | *Optional[str]* | :heavy_minus_sign: | Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime. | +| `template_parquet_schema` | *Optional[str]* | :heavy_minus_sign: | Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackoutputinfluxdb.md b/docs/models/createoutputsystembypackoutputinfluxdb.md index a261e2b2f..b6362b842 100644 --- a/docs/models/createoutputsystembypackoutputinfluxdb.md +++ b/docs/models/createoutputsystembypackoutputinfluxdb.md @@ -32,7 +32,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.CreateOutputSystemByPackAuthenticationTypeInfluxdb]](../models/createoutputsystembypackauthenticationtypeinfluxdb.md) | :heavy_minus_sign: | InfluxDB authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `database` | *Optional[str]* | :heavy_minus_sign: | Database to write to. | | `bucket` | *Optional[str]* | :heavy_minus_sign: | Bucket to write to. | | `org` | *Optional[str]* | :heavy_minus_sign: | Organization ID for this bucket. | diff --git a/docs/models/createoutputsystembypackoutputkafka.md b/docs/models/createoutputsystembypackoutputkafka.md index 366ed0fcb..f829e111c 100644 --- a/docs/models/createoutputsystembypackoutputkafka.md +++ b/docs/models/createoutputsystembypackoutputkafka.md @@ -31,7 +31,7 @@ | `sasl` | [Optional[models.AuthenticationType]](../models/authenticationtype.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | | `protobuf_encoding_id` | *Optional[str]* | :heavy_minus_sign: | Select the type of object you want the Protobuf definitions to use for event encoding | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputkinesis.md b/docs/models/createoutputsystembypackoutputkinesis.md index ccfa27883..0b5a7ec8b 100644 --- a/docs/models/createoutputsystembypackoutputkinesis.md +++ b/docs/models/createoutputsystembypackoutputkinesis.md @@ -29,7 +29,7 @@ | `use_list_shards` | *Optional[bool]* | :heavy_minus_sign: | Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details. | | `as_ndjson` | *Optional[bool]* | :heavy_minus_sign: | Batch events into a single record as NDJSON | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `max_events_per_flush` | *Optional[float]* | :heavy_minus_sign: | Maximum number of records to send in a single request | diff --git a/docs/models/createoutputsystembypackoutputlocalsearchstorage.md b/docs/models/createoutputsystembypackoutputlocalsearchstorage.md index de8c51ac3..5b0c0f54c 100644 --- a/docs/models/createoutputsystembypackoutputlocalsearchstorage.md +++ b/docs/models/createoutputsystembypackoutputlocalsearchstorage.md @@ -37,7 +37,7 @@ | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `stats_destination` | [Optional[models.CreateOutputSystemByPackStatsDestination]](../models/createoutputsystembypackstatsdestination.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/createoutputsystembypackoutputloki.md b/docs/models/createoutputsystembypackoutputloki.md index 2637270c9..fed476ed4 100644 --- a/docs/models/createoutputsystembypackoutputloki.md +++ b/docs/models/createoutputsystembypackoutputloki.md @@ -32,7 +32,7 @@ | `enable_dynamic_headers` | *Optional[bool]* | :heavy_minus_sign: | Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: : | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/createoutputsystembypackoutputmicrosoftfabric.md b/docs/models/createoutputsystembypackoutputmicrosoftfabric.md index 7d160fd7f..ebecf3731 100644 --- a/docs/models/createoutputsystembypackoutputmicrosoftfabric.md +++ b/docs/models/createoutputsystembypackoutputmicrosoftfabric.md @@ -29,7 +29,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideType]](../models/tlssettingsclientsidetype.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `bootstrap_server` | *str* | :heavy_check_mark: | Bootstrap server from Fabric Eventstream's endpoint | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputsystembypackoutputminio.md b/docs/models/createoutputsystembypackoutputminio.md index 538063589..394eafa8d 100644 --- a/docs/models/createoutputsystembypackoutputminio.md +++ b/docs/models/createoutputsystembypackoutputminio.md @@ -44,7 +44,7 @@ | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `storage_class` | [Optional[models.StorageClassOptionsReducedredundancyStandard]](../models/storageclassoptionsreducedredundancystandard.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptionsAes256]](../models/serversideencryptionforuploadedobjectsoptionsaes256.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/createoutputsystembypackoutputmsk.md b/docs/models/createoutputsystembypackoutputmsk.md index 8730b3281..df1a89dfb 100644 --- a/docs/models/createoutputsystembypackoutputmsk.md +++ b/docs/models/createoutputsystembypackoutputmsk.md @@ -40,7 +40,7 @@ | `duration_seconds` | *Optional[float]* | :heavy_minus_sign: | 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). | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | diff --git a/docs/models/createoutputsystembypackoutputnetflow.md b/docs/models/createoutputsystembypackoutputnetflow.md index 2db45fccd..95fc0f3eb 100644 --- a/docs/models/createoutputsystembypackoutputnetflow.md +++ b/docs/models/createoutputsystembypackoutputnetflow.md @@ -14,6 +14,6 @@ | `hosts` | List[[models.CreateOutputSystemByPackHostNetflow](../models/createoutputsystembypackhostnetflow.md)] | :heavy_check_mark: | One or more NetFlow Destinations to forward events to | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup. | | `enable_ip_spoofing` | *Optional[bool]* | :heavy_minus_sign: | Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_record_size` | *Optional[float]* | :heavy_minus_sign: | MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackoutputnewrelic.md b/docs/models/createoutputsystembypackoutputnewrelic.md index 721bb6b19..2ee15b384 100644 --- a/docs/models/createoutputsystembypackoutputnewrelic.md +++ b/docs/models/createoutputsystembypackoutputnewrelic.md @@ -32,7 +32,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputsystembypackoutputnewrelicevents.md b/docs/models/createoutputsystembypackoutputnewrelicevents.md index 6bd56b6e0..796f62fab 100644 --- a/docs/models/createoutputsystembypackoutputnewrelicevents.md +++ b/docs/models/createoutputsystembypackoutputnewrelicevents.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputsystembypackoutputnutanixobjects.md b/docs/models/createoutputsystembypackoutputnutanixobjects.md index dc794e3bf..602d5861d 100644 --- a/docs/models/createoutputsystembypackoutputnutanixobjects.md +++ b/docs/models/createoutputsystembypackoutputnutanixobjects.md @@ -40,7 +40,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputsystembypackoutputopentelemetry.md b/docs/models/createoutputsystembypackoutputopentelemetry.md index c3a24ca54..e8b50985b 100644 --- a/docs/models/createoutputsystembypackoutputopentelemetry.md +++ b/docs/models/createoutputsystembypackoutputopentelemetry.md @@ -32,7 +32,7 @@ | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/createoutputsystembypackoutputprometheus.md b/docs/models/createoutputsystembypackoutputprometheus.md index 0dd209913..5b44798c6 100644 --- a/docs/models/createoutputsystembypackoutputprometheus.md +++ b/docs/models/createoutputsystembypackoutputprometheus.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.CreateOutputSystemByPackAuthenticationTypePrometheus]](../models/createoutputsystembypackauthenticationtypeprometheus.md) | :heavy_minus_sign: | Remote Write authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `metrics_flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/createoutputsystembypackoutputring.md b/docs/models/createoutputsystembypackoutputring.md index 9c0bb61ce..6789429c6 100644 --- a/docs/models/createoutputsystembypackoutputring.md +++ b/docs/models/createoutputsystembypackoutputring.md @@ -18,6 +18,6 @@ | `compress` | [Optional[models.DataCompressionFormatOptionsPersistence]](../models/datacompressionformatoptionspersistence.md) | :heavy_minus_sign: | N/A | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | Path to use to write metrics. Defaults to $CRIBL_HOME/state/ | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptionsBlockDrop]](../models/backpressurebehavioroptionsblockdrop.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_on_backpressure` | *Optional[str]* | :heavy_minus_sign: | Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackoutputrouter.md b/docs/models/createoutputsystembypackoutputrouter.md index 1e8dbd61f..cd30bfec3 100644 --- a/docs/models/createoutputsystembypackoutputrouter.md +++ b/docs/models/createoutputsystembypackoutputrouter.md @@ -12,5 +12,5 @@ | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | | `rules` | List[[models.CreateOutputSystemByPackRule](../models/createoutputsystembypackrule.md)] | :heavy_check_mark: | Event routing rules | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackoutputs3.md b/docs/models/createoutputsystembypackoutputs3.md index 192c65d16..d02b8d25d 100644 --- a/docs/models/createoutputsystembypackoutputs3.md +++ b/docs/models/createoutputsystembypackoutputs3.md @@ -49,7 +49,7 @@ | `storage_class` | [Optional[models.StorageClassOptions]](../models/storageclassoptions.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/createoutputsystembypackoutputscalitys3.md b/docs/models/createoutputsystembypackoutputscalitys3.md index da36a60f9..5306ea99f 100644 --- a/docs/models/createoutputsystembypackoutputscalitys3.md +++ b/docs/models/createoutputsystembypackoutputscalitys3.md @@ -40,7 +40,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputsystembypackoutputsecuritylake.md b/docs/models/createoutputsystembypackoutputsecuritylake.md index 743b8e1c1..fa6142d43 100644 --- a/docs/models/createoutputsystembypackoutputsecuritylake.md +++ b/docs/models/createoutputsystembypackoutputsecuritylake.md @@ -57,7 +57,7 @@ | `enable_statistics` | *Optional[bool]* | :heavy_minus_sign: | Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics. | | `enable_write_page_index` | *Optional[bool]* | :heavy_minus_sign: | One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping. | | `enable_page_checksum` | *Optional[bool]* | :heavy_minus_sign: | Parquet tools can use the checksum of a Parquet page to verify data integrity | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | diff --git a/docs/models/createoutputsystembypackoutputsentinel.md b/docs/models/createoutputsystembypackoutputsentinel.md index b469c84e5..6e81bc355 100644 --- a/docs/models/createoutputsystembypackoutputsentinel.md +++ b/docs/models/createoutputsystembypackoutputsentinel.md @@ -34,7 +34,7 @@ | `scope` | *Optional[str]* | :heavy_minus_sign: | Scope to pass in the OAuth request | | `endpoint_url_configuration` | [models.CreateOutputSystemByPackEndpointConfiguration](../models/createoutputsystembypackendpointconfiguration.md) | :heavy_check_mark: | Enter the data collection endpoint URL or the individual ID | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `format_` | [Optional[models.CreateOutputSystemByPackFormatSentinel]](../models/createoutputsystembypackformatsentinel.md) | :heavy_minus_sign: | N/A | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | diff --git a/docs/models/createoutputsystembypackoutputsentineloneaisiem.md b/docs/models/createoutputsystembypackoutputsentineloneaisiem.md index 974c1a286..11e9b1138 100644 --- a/docs/models/createoutputsystembypackoutputsentineloneaisiem.md +++ b/docs/models/createoutputsystembypackoutputsentineloneaisiem.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `base_url` | *Optional[str]* | :heavy_minus_sign: | Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$. | diff --git a/docs/models/createoutputsystembypackoutputservicenow.md b/docs/models/createoutputsystembypackoutputservicenow.md index 0df3a1363..a1aa0325b 100644 --- a/docs/models/createoutputsystembypackoutputservicenow.md +++ b/docs/models/createoutputsystembypackoutputservicenow.md @@ -33,7 +33,7 @@ | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's).
Enabled by default. When this setting is also present in TLS Settings (Client Side),
that value will take precedence. | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | diff --git a/docs/models/createoutputsystembypackoutputsignalfx.md b/docs/models/createoutputsystembypackoutputsignalfx.md index 30aebec23..6d725f2c0 100644 --- a/docs/models/createoutputsystembypackoutputsignalfx.md +++ b/docs/models/createoutputsystembypackoutputsignalfx.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens)) | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputsnmp.md b/docs/models/createoutputsystembypackoutputsnmp.md index 7cb43630a..4cfa34810 100644 --- a/docs/models/createoutputsystembypackoutputsnmp.md +++ b/docs/models/createoutputsystembypackoutputsnmp.md @@ -14,6 +14,6 @@ | `hosts` | List[[models.CreateOutputSystemByPackHostSnmp](../models/createoutputsystembypackhostsnmp.md)] | :heavy_check_mark: | One or more SNMP destinations to forward traps to | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup. | | `enable_ip_spoofing` | *Optional[bool]* | :heavy_minus_sign: | Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_record_size` | *Optional[float]* | :heavy_minus_sign: | MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/createoutputsystembypackoutputsns.md b/docs/models/createoutputsystembypackoutputsns.md index 5d6d4bb73..1ba6153ad 100644 --- a/docs/models/createoutputsystembypackoutputsns.md +++ b/docs/models/createoutputsystembypackoutputsns.md @@ -25,7 +25,7 @@ | `assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | | `duration_seconds` | *Optional[float]* | :heavy_minus_sign: | 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). | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputsplunk.md b/docs/models/createoutputsystembypackoutputsplunk.md index bb263be66..f86573796 100644 --- a/docs/models/createoutputsystembypackoutputsplunk.md +++ b/docs/models/createoutputsystembypackoutputsplunk.md @@ -24,7 +24,7 @@ | `max_s2_sversion` | [Optional[models.MaxS2SVersionOptions]](../models/maxs2sversionoptions.md) | :heavy_minus_sign: | The highest S2S protocol version to advertise during handshake | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_failed_health_checks` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur. | | `compress` | [Optional[models.CompressionOptions]](../models/compressionoptions.md) | :heavy_minus_sign: | Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputsplunkhec.md b/docs/models/createoutputsystembypackoutputsplunkhec.md index a8ee0853f..0dd7d1036 100644 --- a/docs/models/createoutputsystembypackoutputsplunkhec.md +++ b/docs/models/createoutputsystembypackoutputsplunkhec.md @@ -31,7 +31,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputsystembypackoutputsplunklb.md b/docs/models/createoutputsystembypackoutputsplunklb.md index 1ad5904b2..890d7308d 100644 --- a/docs/models/createoutputsystembypackoutputsplunklb.md +++ b/docs/models/createoutputsystembypackoutputsplunklb.md @@ -27,7 +27,7 @@ | `indexer_discovery` | *Optional[bool]* | :heavy_minus_sign: | Automatically discover indexers in indexer clustering environment. | | `sender_unhealthy_time_allowance` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute. | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_failed_health_checks` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur. | | `compress` | [Optional[models.CompressionOptions]](../models/compressionoptions.md) | :heavy_minus_sign: | Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data. | | `indexer_discovery_configs` | [Optional[models.CreateOutputSystemByPackIndexerDiscoveryConfigs]](../models/createoutputsystembypackindexerdiscoveryconfigs.md) | :heavy_minus_sign: | List of configurations to set up indexer discovery in Splunk Indexer clustering environment. | diff --git a/docs/models/createoutputsystembypackoutputsqs.md b/docs/models/createoutputsystembypackoutputsqs.md index a8e9401c6..327c21bcc 100644 --- a/docs/models/createoutputsystembypackoutputsqs.md +++ b/docs/models/createoutputsystembypackoutputsqs.md @@ -31,7 +31,7 @@ | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size. | | `max_in_progress` | *Optional[float]* | :heavy_minus_sign: | The maximum number of in-progress API requests before backpressure is applied. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputstatsd.md b/docs/models/createoutputsystembypackoutputstatsd.md index 430171861..b280479a7 100644 --- a/docs/models/createoutputsystembypackoutputstatsd.md +++ b/docs/models/createoutputsystembypackoutputstatsd.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/createoutputsystembypackoutputstatsdext.md b/docs/models/createoutputsystembypackoutputstatsdext.md index e9b21132a..bbc615516 100644 --- a/docs/models/createoutputsystembypackoutputstatsdext.md +++ b/docs/models/createoutputsystembypackoutputstatsdext.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/createoutputsystembypackoutputstorjs3.md b/docs/models/createoutputsystembypackoutputstorjs3.md index 4ed770875..48a2e1429 100644 --- a/docs/models/createoutputsystembypackoutputstorjs3.md +++ b/docs/models/createoutputsystembypackoutputstorjs3.md @@ -39,7 +39,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/createoutputsystembypackoutputsumologic.md b/docs/models/createoutputsystembypackoutputsumologic.md index 0fe8c4225..b30bba9b8 100644 --- a/docs/models/createoutputsystembypackoutputsumologic.md +++ b/docs/models/createoutputsystembypackoutputsumologic.md @@ -31,7 +31,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputsystembypackoutputsyslog.md b/docs/models/createoutputsystembypackoutputsyslog.md index 2f3ab66e2..b823f1c0b 100644 --- a/docs/models/createoutputsystembypackoutputsyslog.md +++ b/docs/models/createoutputsystembypackoutputsyslog.md @@ -20,7 +20,7 @@ | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `octet_count_framing` | *Optional[bool]* | :heavy_minus_sign: | Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n. | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | diff --git a/docs/models/createoutputsystembypackoutputtcpjson.md b/docs/models/createoutputsystembypackoutputtcpjson.md index 2f27fb79c..5e37b768c 100644 --- a/docs/models/createoutputsystembypackoutputtcpjson.md +++ b/docs/models/createoutputsystembypackoutputtcpjson.md @@ -22,7 +22,7 @@ | `send_header` | *Optional[bool]* | :heavy_minus_sign: | Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputsystembypackoutputwavefront.md b/docs/models/createoutputsystembypackoutputwavefront.md index 51bdc2e56..4678941f0 100644 --- a/docs/models/createoutputsystembypackoutputwavefront.md +++ b/docs/models/createoutputsystembypackoutputwavefront.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token)) | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/createoutputsystembypackoutputwebhookwebhook1.md b/docs/models/createoutputsystembypackoutputwebhookwebhook1.md index 3b4878caa..a78ca4a55 100644 --- a/docs/models/createoutputsystembypackoutputwebhookwebhook1.md +++ b/docs/models/createoutputsystembypackoutputwebhookwebhook1.md @@ -33,7 +33,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | | `custom_event_delimiter` | *Optional[str]* | :heavy_minus_sign: | Delimiter string to insert between individual events. Defaults to newline character. | diff --git a/docs/models/createoutputsystembypackoutputwebhookwebhook2.md b/docs/models/createoutputsystembypackoutputwebhookwebhook2.md index 44e6558de..b7663f99a 100644 --- a/docs/models/createoutputsystembypackoutputwebhookwebhook2.md +++ b/docs/models/createoutputsystembypackoutputwebhookwebhook2.md @@ -33,7 +33,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | | `custom_event_delimiter` | *Optional[str]* | :heavy_minus_sign: | Delimiter string to insert between individual events. Defaults to newline character. | diff --git a/docs/models/createoutputsystembypackoutputwizhec.md b/docs/models/createoutputsystembypackoutputwizhec.md index 5022c4a45..cd1a1ca92 100644 --- a/docs/models/createoutputsystembypackoutputwizhec.md +++ b/docs/models/createoutputsystembypackoutputwizhec.md @@ -33,7 +33,7 @@ | `wiz_environment` | *str* | :heavy_check_mark: | Your Wiz deployment environment. | | `data_center` | *str* | :heavy_check_mark: | Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console. | | `wiz_sourcetype` | *str* | :heavy_check_mark: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/createoutputsystembypackoutputxsiam.md b/docs/models/createoutputsystembypackoutputxsiam.md index 83f18abc1..82bc23b89 100644 --- a/docs/models/createoutputsystembypackoutputxsiam.md +++ b/docs/models/createoutputsystembypackoutputxsiam.md @@ -29,7 +29,7 @@ | `throttle_rate_req_per_sec` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests to limit to per second | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/createoutputsystembypackrequestbody.md b/docs/models/createoutputsystembypackrequestbody.md index 36fc4a641..6c9e62134 100644 --- a/docs/models/createoutputsystembypackrequestbody.md +++ b/docs/models/createoutputsystembypackrequestbody.md @@ -485,3 +485,9 @@ value: models.CreateOutputSystemByPackOutputScalityS3 = /* values here */ value: models.CreateOutputSystemByPackOutputAlibabaCloudS3 = /* values here */ ``` +### `models.CreateOutputSystemByPackOutputIbmCloudS3` + +```python +value: models.CreateOutputSystemByPackOutputIbmCloudS3 = /* values here */ +``` + diff --git a/docs/models/createoutputsystembypacktypeibmclouds3.md b/docs/models/createoutputsystembypacktypeibmclouds3.md new file mode 100644 index 000000000..21db865a6 --- /dev/null +++ b/docs/models/createoutputsystembypacktypeibmclouds3.md @@ -0,0 +1,16 @@ +# CreateOutputSystemByPackTypeIbmCloudS3 + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputSystemByPackTypeIbmCloudS3 + +value = CreateOutputSystemByPackTypeIbmCloudS3.IBM_CLOUD_S3 +``` + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `IBM_CLOUD_S3` | ibm_cloud_s3 | \ No newline at end of file diff --git a/docs/models/createoutputtypeibmclouds3.md b/docs/models/createoutputtypeibmclouds3.md new file mode 100644 index 000000000..3ac1d900a --- /dev/null +++ b/docs/models/createoutputtypeibmclouds3.md @@ -0,0 +1,16 @@ +# CreateOutputTypeIbmCloudS3 + +## Example Usage + +```python +from cribl_control_plane.models import CreateOutputTypeIbmCloudS3 + +value = CreateOutputTypeIbmCloudS3.IBM_CLOUD_S3 +``` + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `IBM_CLOUD_S3` | ibm_cloud_s3 | \ No newline at end of file diff --git a/docs/models/deletepacksbyidrequest.md b/docs/models/deletepacksbyidrequest.md index 312979124..6b2785c07 100644 --- a/docs/models/deletepacksbyidrequest.md +++ b/docs/models/deletepacksbyidrequest.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The id of the Pack to uninstall. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The id of the Pack to uninstall. Use the id field from the list response. | \ No newline at end of file diff --git a/docs/models/destinationtype.md b/docs/models/destinationtype.md index d50f4b140..a464f3ee4 100644 --- a/docs/models/destinationtype.md +++ b/docs/models/destinationtype.md @@ -94,4 +94,5 @@ value = DestinationType.DEFAULT | `DELL_S3` | dell_s3 | | `CLOUDIAN_S3` | cloudian_s3 | | `SCALITY_S3` | scality_s3 | -| `ALIBABA_CLOUD_S3` | alibaba_cloud_s3 | \ No newline at end of file +| `ALIBABA_CLOUD_S3` | alibaba_cloud_s3 | +| `IBM_CLOUD_S3` | ibm_cloud_s3 | \ No newline at end of file diff --git a/docs/models/emptyobject.md b/docs/models/emptyobject.md index 1398f8a0d..b9be97c16 100644 --- a/docs/models/emptyobject.md +++ b/docs/models/emptyobject.md @@ -1,5 +1,7 @@ # EmptyObject +An object that must not contain any properties. + ## Fields diff --git a/docs/models/functionaggregatemetrics.md b/docs/models/functionaggregatemetrics.md index c7704f747..03d697155 100644 --- a/docs/models/functionaggregatemetrics.md +++ b/docs/models/functionaggregatemetrics.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionAggregateMetricsID](../models/functionaggregatemetricsid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionAggregateMetricsID](../models/functionaggregatemetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always aggregate_metrics | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionaggregatemetricsid.md b/docs/models/functionaggregatemetricsid.md index 6cd45483f..d51bca9de 100644 --- a/docs/models/functionaggregatemetricsid.md +++ b/docs/models/functionaggregatemetricsid.md @@ -1,5 +1,7 @@ # FunctionAggregateMetricsID +Identifier of the Function. Always aggregate_metrics + ## Example Usage ```python diff --git a/docs/models/functionaggregation.md b/docs/models/functionaggregation.md index 744f98820..9b6c07775 100644 --- a/docs/models/functionaggregation.md +++ b/docs/models/functionaggregation.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionAggregationID](../models/functionaggregationid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionAggregationID](../models/functionaggregationid.md) | :heavy_check_mark: | Identifier of the Function. Always aggregation | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionaggregationid.md b/docs/models/functionaggregationid.md index ac65e0a73..1a2d75216 100644 --- a/docs/models/functionaggregationid.md +++ b/docs/models/functionaggregationid.md @@ -1,5 +1,7 @@ # FunctionAggregationID +Identifier of the Function. Always aggregation + ## Example Usage ```python diff --git a/docs/models/functionautotimestamp.md b/docs/models/functionautotimestamp.md index ce3aa666a..1113bff67 100644 --- a/docs/models/functionautotimestamp.md +++ b/docs/models/functionautotimestamp.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionAutoTimestampID](../models/functionautotimestampid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionAutoTimestampID](../models/functionautotimestampid.md) | :heavy_check_mark: | Identifier of the Function. Always auto_timestamp | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionautotimestampid.md b/docs/models/functionautotimestampid.md index dfc6c5f18..e02419f4a 100644 --- a/docs/models/functionautotimestampid.md +++ b/docs/models/functionautotimestampid.md @@ -1,5 +1,7 @@ # FunctionAutoTimestampID +Identifier of the Function. Always auto_timestamp + ## Example Usage ```python diff --git a/docs/models/functioncef.md b/docs/models/functioncef.md index d52ec77d9..739f3ca3d 100644 --- a/docs/models/functioncef.md +++ b/docs/models/functioncef.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionCefID](../models/functioncefid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionCefID](../models/functioncefid.md) | :heavy_check_mark: | Identifier of the Function. Always cef | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functioncefid.md b/docs/models/functioncefid.md index 5b346baf8..25b4fb2fd 100644 --- a/docs/models/functioncefid.md +++ b/docs/models/functioncefid.md @@ -1,5 +1,7 @@ # FunctionCefID +Identifier of the Function. Always cef + ## Example Usage ```python diff --git a/docs/models/functionchain.md b/docs/models/functionchain.md index ca60c1c5d..37f0845a5 100644 --- a/docs/models/functionchain.md +++ b/docs/models/functionchain.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionChainID](../models/functionchainid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionChainID](../models/functionchainid.md) | :heavy_check_mark: | Identifier of the Function. Always chain | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionchainid.md b/docs/models/functionchainid.md index f907d4621..b705db8a8 100644 --- a/docs/models/functionchainid.md +++ b/docs/models/functionchainid.md @@ -1,5 +1,7 @@ # FunctionChainID +Identifier of the Function. Always chain + ## Example Usage ```python diff --git a/docs/models/functionclone.md b/docs/models/functionclone.md index 84220d5ff..714316282 100644 --- a/docs/models/functionclone.md +++ b/docs/models/functionclone.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionCloneID](../models/functioncloneid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionCloneID](../models/functioncloneid.md) | :heavy_check_mark: | Identifier of the Function. Always clone | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functioncloneid.md b/docs/models/functioncloneid.md index 9c0575a18..4cd3d4d06 100644 --- a/docs/models/functioncloneid.md +++ b/docs/models/functioncloneid.md @@ -1,5 +1,7 @@ # FunctionCloneID +Identifier of the Function. Always clone + ## Example Usage ```python diff --git a/docs/models/functioncode.md b/docs/models/functioncode.md index 7c3e6ca84..5618df236 100644 --- a/docs/models/functioncode.md +++ b/docs/models/functioncode.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionCodeID](../models/functioncodeid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionCodeID](../models/functioncodeid.md) | :heavy_check_mark: | Identifier of the Function. Always code | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functioncodeid.md b/docs/models/functioncodeid.md index 4be23607e..b18887bdb 100644 --- a/docs/models/functioncodeid.md +++ b/docs/models/functioncodeid.md @@ -1,5 +1,7 @@ # FunctionCodeID +Identifier of the Function. Always code + ## Example Usage ```python diff --git a/docs/models/functioncomment.md b/docs/models/functioncomment.md index e6b9d736e..e6f1946a2 100644 --- a/docs/models/functioncomment.md +++ b/docs/models/functioncomment.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionCommentID](../models/functioncommentid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionCommentID](../models/functioncommentid.md) | :heavy_check_mark: | Identifier of the Function. Always comment | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functioncommentid.md b/docs/models/functioncommentid.md index 82184971d..41dd065e6 100644 --- a/docs/models/functioncommentid.md +++ b/docs/models/functioncommentid.md @@ -1,5 +1,7 @@ # FunctionCommentID +Identifier of the Function. Always comment + ## Example Usage ```python diff --git a/docs/models/functiondistinct.md b/docs/models/functiondistinct.md index 5e9979284..cd761f09c 100644 --- a/docs/models/functiondistinct.md +++ b/docs/models/functiondistinct.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionDistinctID](../models/functiondistinctid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionDistinctID](../models/functiondistinctid.md) | :heavy_check_mark: | Identifier of the Function. Always distinct | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functiondistinctid.md b/docs/models/functiondistinctid.md index 0fb25523f..90d497a77 100644 --- a/docs/models/functiondistinctid.md +++ b/docs/models/functiondistinctid.md @@ -1,5 +1,7 @@ # FunctionDistinctID +Identifier of the Function. Always distinct + ## Example Usage ```python diff --git a/docs/models/functiondnslookup.md b/docs/models/functiondnslookup.md index e6894efff..a001e5daf 100644 --- a/docs/models/functiondnslookup.md +++ b/docs/models/functiondnslookup.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionDNSLookupID](../models/functiondnslookupid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionDNSLookupID](../models/functiondnslookupid.md) | :heavy_check_mark: | Identifier of the Function. Always dns_lookup | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functiondnslookupid.md b/docs/models/functiondnslookupid.md index 57e965b22..2ebe4abc5 100644 --- a/docs/models/functiondnslookupid.md +++ b/docs/models/functiondnslookupid.md @@ -1,5 +1,7 @@ # FunctionDNSLookupID +Identifier of the Function. Always dns_lookup + ## Example Usage ```python diff --git a/docs/models/functiondrop.md b/docs/models/functiondrop.md index 79c44e9c6..cacc11ddc 100644 --- a/docs/models/functiondrop.md +++ b/docs/models/functiondrop.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionDropID](../models/functiondropid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionDropID](../models/functiondropid.md) | :heavy_check_mark: | Identifier of the Function. Always drop | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functiondropdimensions.md b/docs/models/functiondropdimensions.md index 3f70a1c38..0ddfa4ef0 100644 --- a/docs/models/functiondropdimensions.md +++ b/docs/models/functiondropdimensions.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionDropDimensionsID](../models/functiondropdimensionsid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionDropDimensionsID](../models/functiondropdimensionsid.md) | :heavy_check_mark: | Identifier of the Function. Always drop_dimensions | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functiondropdimensionsid.md b/docs/models/functiondropdimensionsid.md index 8bb84f0c9..f683812e3 100644 --- a/docs/models/functiondropdimensionsid.md +++ b/docs/models/functiondropdimensionsid.md @@ -1,5 +1,7 @@ # FunctionDropDimensionsID +Identifier of the Function. Always drop_dimensions + ## Example Usage ```python diff --git a/docs/models/functiondropid.md b/docs/models/functiondropid.md index e2d4845d7..e57c508eb 100644 --- a/docs/models/functiondropid.md +++ b/docs/models/functiondropid.md @@ -1,5 +1,7 @@ # FunctionDropID +Identifier of the Function. Always drop + ## Example Usage ```python diff --git a/docs/models/functiondynamicsampling.md b/docs/models/functiondynamicsampling.md index e02f3c991..9ec6e7c91 100644 --- a/docs/models/functiondynamicsampling.md +++ b/docs/models/functiondynamicsampling.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionDynamicSamplingID](../models/functiondynamicsamplingid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionDynamicSamplingID](../models/functiondynamicsamplingid.md) | :heavy_check_mark: | Identifier of the Function. Always dynamic_sampling | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functiondynamicsamplingid.md b/docs/models/functiondynamicsamplingid.md index 71f6b1f78..921d0e0e2 100644 --- a/docs/models/functiondynamicsamplingid.md +++ b/docs/models/functiondynamicsamplingid.md @@ -1,5 +1,7 @@ # FunctionDynamicSamplingID +Identifier of the Function. Always dynamic_sampling + ## Example Usage ```python diff --git a/docs/models/functioneval.md b/docs/models/functioneval.md index 805ec3522..17bd90278 100644 --- a/docs/models/functioneval.md +++ b/docs/models/functioneval.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionEvalID](../models/functionevalid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionEvalID](../models/functionevalid.md) | :heavy_check_mark: | Identifier of the Function. Always eval | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionevalid.md b/docs/models/functionevalid.md index 9f12b54fa..62211897e 100644 --- a/docs/models/functionevalid.md +++ b/docs/models/functionevalid.md @@ -1,5 +1,7 @@ # FunctionEvalID +Identifier of the Function. Always eval + ## Example Usage ```python diff --git a/docs/models/functioneventbreaker.md b/docs/models/functioneventbreaker.md index f8134537a..b8044dd57 100644 --- a/docs/models/functioneventbreaker.md +++ b/docs/models/functioneventbreaker.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionEventBreakerID](../models/functioneventbreakerid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionEventBreakerID](../models/functioneventbreakerid.md) | :heavy_check_mark: | Identifier of the Function. Always event_breaker | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functioneventbreakerid.md b/docs/models/functioneventbreakerid.md index bb6d2ef5b..cdb5700db 100644 --- a/docs/models/functioneventbreakerid.md +++ b/docs/models/functioneventbreakerid.md @@ -1,5 +1,7 @@ # FunctionEventBreakerID +Identifier of the Function. Always event_breaker + ## Example Usage ```python diff --git a/docs/models/functioneventstats.md b/docs/models/functioneventstats.md index dd5ece7ba..b736e2121 100644 --- a/docs/models/functioneventstats.md +++ b/docs/models/functioneventstats.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionEventstatsID](../models/functioneventstatsid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionEventstatsID](../models/functioneventstatsid.md) | :heavy_check_mark: | Identifier of the Function. Always eventstats | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functioneventstatsid.md b/docs/models/functioneventstatsid.md index 5d9dd9ab6..792f9ad7b 100644 --- a/docs/models/functioneventstatsid.md +++ b/docs/models/functioneventstatsid.md @@ -1,5 +1,7 @@ # FunctionEventstatsID +Identifier of the Function. Always eventstats + ## Example Usage ```python diff --git a/docs/models/functionexternaldata.md b/docs/models/functionexternaldata.md index 41f179a2a..86f7e65cc 100644 --- a/docs/models/functionexternaldata.md +++ b/docs/models/functionexternaldata.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionExternaldataID](../models/functionexternaldataid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionExternaldataID](../models/functionexternaldataid.md) | :heavy_check_mark: | Identifier of the Function. Always externaldata | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionexternaldataid.md b/docs/models/functionexternaldataid.md index 94d9ce3d8..64b4029e2 100644 --- a/docs/models/functionexternaldataid.md +++ b/docs/models/functionexternaldataid.md @@ -1,5 +1,7 @@ # FunctionExternaldataID +Identifier of the Function. Always externaldata + ## Example Usage ```python diff --git a/docs/models/functionflatten.md b/docs/models/functionflatten.md index f155ce6c5..e245f91a1 100644 --- a/docs/models/functionflatten.md +++ b/docs/models/functionflatten.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionFlattenID](../models/functionflattenid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionFlattenID](../models/functionflattenid.md) | :heavy_check_mark: | Identifier of the Function. Always flatten | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionflattenid.md b/docs/models/functionflattenid.md index f63a8a4fa..59e28e404 100644 --- a/docs/models/functionflattenid.md +++ b/docs/models/functionflattenid.md @@ -1,5 +1,7 @@ # FunctionFlattenID +Identifier of the Function. Always flatten + ## Example Usage ```python diff --git a/docs/models/functionfoldkeys.md b/docs/models/functionfoldkeys.md index a5350f395..ee7f8acbd 100644 --- a/docs/models/functionfoldkeys.md +++ b/docs/models/functionfoldkeys.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionFoldkeysID](../models/functionfoldkeysid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionFoldkeysID](../models/functionfoldkeysid.md) | :heavy_check_mark: | Identifier of the Function. Always foldkeys | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionfoldkeysid.md b/docs/models/functionfoldkeysid.md index 008274c6d..62b5207b8 100644 --- a/docs/models/functionfoldkeysid.md +++ b/docs/models/functionfoldkeysid.md @@ -1,5 +1,7 @@ # FunctionFoldkeysID +Identifier of the Function. Always foldkeys + ## Example Usage ```python diff --git a/docs/models/functiongenstats.md b/docs/models/functiongenstats.md index f8a3faa22..2439b9f62 100644 --- a/docs/models/functiongenstats.md +++ b/docs/models/functiongenstats.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionGenStatsID](../models/functiongenstatsid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionGenStatsID](../models/functiongenstatsid.md) | :heavy_check_mark: | Identifier of the Function. Always gen_stats | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functiongenstatsid.md b/docs/models/functiongenstatsid.md index 36649d98b..dd6aa44f3 100644 --- a/docs/models/functiongenstatsid.md +++ b/docs/models/functiongenstatsid.md @@ -1,5 +1,7 @@ # FunctionGenStatsID +Identifier of the Function. Always gen_stats + ## Example Usage ```python diff --git a/docs/models/functiongeoip.md b/docs/models/functiongeoip.md index 798931c07..25fd199b6 100644 --- a/docs/models/functiongeoip.md +++ b/docs/models/functiongeoip.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionGeoipID](../models/functiongeoipid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionGeoipID](../models/functiongeoipid.md) | :heavy_check_mark: | Identifier of the Function. Always geoip | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functiongeoipid.md b/docs/models/functiongeoipid.md index c4a200bed..018a80d6b 100644 --- a/docs/models/functiongeoipid.md +++ b/docs/models/functiongeoipid.md @@ -1,5 +1,7 @@ # FunctionGeoipID +Identifier of the Function. Always geoip + ## Example Usage ```python diff --git a/docs/models/functiongrok.md b/docs/models/functiongrok.md index 4a540762b..4bba0d9f6 100644 --- a/docs/models/functiongrok.md +++ b/docs/models/functiongrok.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionGrokID](../models/functiongrokid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionGrokID](../models/functiongrokid.md) | :heavy_check_mark: | Identifier of the Function. Always grok | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functiongrokid.md b/docs/models/functiongrokid.md index 254f4142f..0e1d65d46 100644 --- a/docs/models/functiongrokid.md +++ b/docs/models/functiongrokid.md @@ -1,5 +1,7 @@ # FunctionGrokID +Identifier of the Function. Always grok + ## Example Usage ```python diff --git a/docs/models/functionhandlebars.md b/docs/models/functionhandlebars.md index aaf35938a..c2c848614 100644 --- a/docs/models/functionhandlebars.md +++ b/docs/models/functionhandlebars.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionHandlebarsID](../models/functionhandlebarsid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionHandlebarsID](../models/functionhandlebarsid.md) | :heavy_check_mark: | Identifier of the Function. Always handlebars | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionhandlebarsid.md b/docs/models/functionhandlebarsid.md index 7e93d1921..7c2283832 100644 --- a/docs/models/functionhandlebarsid.md +++ b/docs/models/functionhandlebarsid.md @@ -1,5 +1,7 @@ # FunctionHandlebarsID +Identifier of the Function. Always handlebars + ## Example Usage ```python diff --git a/docs/models/functionjoin.md b/docs/models/functionjoin.md index fd669b5f2..baf6232fe 100644 --- a/docs/models/functionjoin.md +++ b/docs/models/functionjoin.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionJoinID](../models/functionjoinid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionJoinID](../models/functionjoinid.md) | :heavy_check_mark: | Identifier of the Function. Always join | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionjoinid.md b/docs/models/functionjoinid.md index 82242e153..0dc85c6af 100644 --- a/docs/models/functionjoinid.md +++ b/docs/models/functionjoinid.md @@ -1,5 +1,7 @@ # FunctionJoinID +Identifier of the Function. Always join + ## Example Usage ```python diff --git a/docs/models/functionjsonunroll.md b/docs/models/functionjsonunroll.md index 03f906ab1..c6a771ae3 100644 --- a/docs/models/functionjsonunroll.md +++ b/docs/models/functionjsonunroll.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionJSONUnrollID](../models/functionjsonunrollid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionJSONUnrollID](../models/functionjsonunrollid.md) | :heavy_check_mark: | Identifier of the Function. Always json_unroll | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionjsonunrollid.md b/docs/models/functionjsonunrollid.md index 0ea42d260..eb979a3ef 100644 --- a/docs/models/functionjsonunrollid.md +++ b/docs/models/functionjsonunrollid.md @@ -1,5 +1,7 @@ # FunctionJSONUnrollID +Identifier of the Function. Always json_unroll + ## Example Usage ```python diff --git a/docs/models/functionlakeexport.md b/docs/models/functionlakeexport.md index 0e21cc02d..2e9253ac2 100644 --- a/docs/models/functionlakeexport.md +++ b/docs/models/functionlakeexport.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionLakeExportID](../models/functionlakeexportid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionLakeExportID](../models/functionlakeexportid.md) | :heavy_check_mark: | Identifier of the Function. Always lake_export | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionlakeexportid.md b/docs/models/functionlakeexportid.md index 5bd821103..f72f1a610 100644 --- a/docs/models/functionlakeexportid.md +++ b/docs/models/functionlakeexportid.md @@ -1,5 +1,7 @@ # FunctionLakeExportID +Identifier of the Function. Always lake_export + ## Example Usage ```python diff --git a/docs/models/functionlimit.md b/docs/models/functionlimit.md index 36393cd6b..0b6f43866 100644 --- a/docs/models/functionlimit.md +++ b/docs/models/functionlimit.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionLimitID](../models/functionlimitid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionLimitID](../models/functionlimitid.md) | :heavy_check_mark: | Identifier of the Function. Always limit | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionlimitid.md b/docs/models/functionlimitid.md index 8769d4bbe..25a8e8678 100644 --- a/docs/models/functionlimitid.md +++ b/docs/models/functionlimitid.md @@ -1,5 +1,7 @@ # FunctionLimitID +Identifier of the Function. Always limit + ## Example Usage ```python diff --git a/docs/models/functionlocalsearchdatatypeparser.md b/docs/models/functionlocalsearchdatatypeparser.md index 7f1b88b76..a79a87181 100644 --- a/docs/models/functionlocalsearchdatatypeparser.md +++ b/docs/models/functionlocalsearchdatatypeparser.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionLocalSearchDatatypeParserID](../models/functionlocalsearchdatatypeparserid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionLocalSearchDatatypeParserID](../models/functionlocalsearchdatatypeparserid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_datatype_parser | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionlocalsearchdatatypeparserid.md b/docs/models/functionlocalsearchdatatypeparserid.md index 98d96e8ef..df0daec20 100644 --- a/docs/models/functionlocalsearchdatatypeparserid.md +++ b/docs/models/functionlocalsearchdatatypeparserid.md @@ -1,5 +1,7 @@ # FunctionLocalSearchDatatypeParserID +Identifier of the Function. Always local_search_datatype_parser + ## Example Usage ```python diff --git a/docs/models/functionlocalsearchrulesetrunner.md b/docs/models/functionlocalsearchrulesetrunner.md index 95e58e6c3..931ec742e 100644 --- a/docs/models/functionlocalsearchrulesetrunner.md +++ b/docs/models/functionlocalsearchrulesetrunner.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionLocalSearchRulesetRunnerID](../models/functionlocalsearchrulesetrunnerid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionLocalSearchRulesetRunnerID](../models/functionlocalsearchrulesetrunnerid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_ruleset_runner | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionlocalsearchrulesetrunnerid.md b/docs/models/functionlocalsearchrulesetrunnerid.md index bf0a80e38..9f747315e 100644 --- a/docs/models/functionlocalsearchrulesetrunnerid.md +++ b/docs/models/functionlocalsearchrulesetrunnerid.md @@ -1,5 +1,7 @@ # FunctionLocalSearchRulesetRunnerID +Identifier of the Function. Always local_search_ruleset_runner + ## Example Usage ```python diff --git a/docs/models/functionlocalsearchschemamapper.md b/docs/models/functionlocalsearchschemamapper.md index d7a6062d4..c30d42ccf 100644 --- a/docs/models/functionlocalsearchschemamapper.md +++ b/docs/models/functionlocalsearchschemamapper.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionLocalSearchSchemaMapperID](../models/functionlocalsearchschemamapperid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionLocalSearchSchemaMapperID](../models/functionlocalsearchschemamapperid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_schema_mapper | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionlocalsearchschemamapperid.md b/docs/models/functionlocalsearchschemamapperid.md index a1d41b9a9..f62a2c6b8 100644 --- a/docs/models/functionlocalsearchschemamapperid.md +++ b/docs/models/functionlocalsearchschemamapperid.md @@ -1,5 +1,7 @@ # FunctionLocalSearchSchemaMapperID +Identifier of the Function. Always local_search_schema_mapper + ## Example Usage ```python diff --git a/docs/models/functionlocalsearchtimerangenormalizer.md b/docs/models/functionlocalsearchtimerangenormalizer.md index fc7da0b7c..5a11d13cc 100644 --- a/docs/models/functionlocalsearchtimerangenormalizer.md +++ b/docs/models/functionlocalsearchtimerangenormalizer.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionLocalSearchTimeRangeNormalizerID](../models/functionlocalsearchtimerangenormalizerid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionLocalSearchTimeRangeNormalizerID](../models/functionlocalsearchtimerangenormalizerid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_time_range_normalizer | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionlocalsearchtimerangenormalizerid.md b/docs/models/functionlocalsearchtimerangenormalizerid.md index 93be5be84..4df28c2b7 100644 --- a/docs/models/functionlocalsearchtimerangenormalizerid.md +++ b/docs/models/functionlocalsearchtimerangenormalizerid.md @@ -1,5 +1,7 @@ # FunctionLocalSearchTimeRangeNormalizerID +Identifier of the Function. Always local_search_time_range_normalizer + ## Example Usage ```python diff --git a/docs/models/functionlocalsearchtransformer.md b/docs/models/functionlocalsearchtransformer.md index c5947d1f4..52fbd1f6b 100644 --- a/docs/models/functionlocalsearchtransformer.md +++ b/docs/models/functionlocalsearchtransformer.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionLocalSearchTransformerID](../models/functionlocalsearchtransformerid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionLocalSearchTransformerID](../models/functionlocalsearchtransformerid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_transformer | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionlocalsearchtransformerid.md b/docs/models/functionlocalsearchtransformerid.md index fb5c6804f..315bf2c62 100644 --- a/docs/models/functionlocalsearchtransformerid.md +++ b/docs/models/functionlocalsearchtransformerid.md @@ -1,5 +1,7 @@ # FunctionLocalSearchTransformerID +Identifier of the Function. Always local_search_transformer + ## Example Usage ```python diff --git a/docs/models/functionlookup.md b/docs/models/functionlookup.md index 100f8ef74..193bccd92 100644 --- a/docs/models/functionlookup.md +++ b/docs/models/functionlookup.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionLookupID](../models/functionlookupid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionLookupID](../models/functionlookupid.md) | :heavy_check_mark: | Identifier of the Function. Always lookup | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionlookupid.md b/docs/models/functionlookupid.md index e547c5345..afe27688e 100644 --- a/docs/models/functionlookupid.md +++ b/docs/models/functionlookupid.md @@ -1,5 +1,7 @@ # FunctionLookupID +Identifier of the Function. Always lookup + ## Example Usage ```python diff --git a/docs/models/functionmask.md b/docs/models/functionmask.md index c861b83a9..a1897a02e 100644 --- a/docs/models/functionmask.md +++ b/docs/models/functionmask.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionMaskID](../models/functionmaskid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionMaskID](../models/functionmaskid.md) | :heavy_check_mark: | Identifier of the Function. Always mask | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionmaskid.md b/docs/models/functionmaskid.md index 613b04268..995c56e6f 100644 --- a/docs/models/functionmaskid.md +++ b/docs/models/functionmaskid.md @@ -1,5 +1,7 @@ # FunctionMaskID +Identifier of the Function. Always mask + ## Example Usage ```python diff --git a/docs/models/functionmvexpand.md b/docs/models/functionmvexpand.md index 20c820827..c5d63dde0 100644 --- a/docs/models/functionmvexpand.md +++ b/docs/models/functionmvexpand.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionMvExpandID](../models/functionmvexpandid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionMvExpandID](../models/functionmvexpandid.md) | :heavy_check_mark: | Identifier of the Function. Always mv_expand | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionmvexpandid.md b/docs/models/functionmvexpandid.md index 653a1f3a3..f6544278a 100644 --- a/docs/models/functionmvexpandid.md +++ b/docs/models/functionmvexpandid.md @@ -1,5 +1,7 @@ # FunctionMvExpandID +Identifier of the Function. Always mv_expand + ## Example Usage ```python diff --git a/docs/models/functionmvpull.md b/docs/models/functionmvpull.md index c042b7f9b..d6648576d 100644 --- a/docs/models/functionmvpull.md +++ b/docs/models/functionmvpull.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionMvPullID](../models/functionmvpullid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionMvPullID](../models/functionmvpullid.md) | :heavy_check_mark: | Identifier of the Function. Always mv_pull | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionmvpullid.md b/docs/models/functionmvpullid.md index 1434281ce..b1936eb15 100644 --- a/docs/models/functionmvpullid.md +++ b/docs/models/functionmvpullid.md @@ -1,5 +1,7 @@ # FunctionMvPullID +Identifier of the Function. Always mv_pull + ## Example Usage ```python diff --git a/docs/models/functionnotificationpolicies.md b/docs/models/functionnotificationpolicies.md index b16475758..fda7ceee5 100644 --- a/docs/models/functionnotificationpolicies.md +++ b/docs/models/functionnotificationpolicies.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionNotificationPoliciesID](../models/functionnotificationpoliciesid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionNotificationPoliciesID](../models/functionnotificationpoliciesid.md) | :heavy_check_mark: | Identifier of the Function. Always notification_policies | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionnotificationpoliciesid.md b/docs/models/functionnotificationpoliciesid.md index 5f3ace93d..2a73a54b7 100644 --- a/docs/models/functionnotificationpoliciesid.md +++ b/docs/models/functionnotificationpoliciesid.md @@ -1,5 +1,7 @@ # FunctionNotificationPoliciesID +Identifier of the Function. Always notification_policies + ## Example Usage ```python diff --git a/docs/models/functionnotifications.md b/docs/models/functionnotifications.md index af746fbb3..b245f5a21 100644 --- a/docs/models/functionnotifications.md +++ b/docs/models/functionnotifications.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionNotificationsID](../models/functionnotificationsid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionNotificationsID](../models/functionnotificationsid.md) | :heavy_check_mark: | Identifier of the Function. Always notifications | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionnotificationsid.md b/docs/models/functionnotificationsid.md index 215bacec8..cdb9d1182 100644 --- a/docs/models/functionnotificationsid.md +++ b/docs/models/functionnotificationsid.md @@ -1,5 +1,7 @@ # FunctionNotificationsID +Identifier of the Function. Always notifications + ## Example Usage ```python diff --git a/docs/models/functionnotify.md b/docs/models/functionnotify.md index ffd62fcd6..787312abb 100644 --- a/docs/models/functionnotify.md +++ b/docs/models/functionnotify.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionNotifyID](../models/functionnotifyid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionNotifyID](../models/functionnotifyid.md) | :heavy_check_mark: | Identifier of the Function. Always notify | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionnotifyid.md b/docs/models/functionnotifyid.md index 32077654a..ffffbb1ca 100644 --- a/docs/models/functionnotifyid.md +++ b/docs/models/functionnotifyid.md @@ -1,5 +1,7 @@ # FunctionNotifyID +Identifier of the Function. Always notify + ## Example Usage ```python diff --git a/docs/models/functionnumerify.md b/docs/models/functionnumerify.md index d94adfd5a..b47994ab8 100644 --- a/docs/models/functionnumerify.md +++ b/docs/models/functionnumerify.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionNumerifyID](../models/functionnumerifyid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionNumerifyID](../models/functionnumerifyid.md) | :heavy_check_mark: | Identifier of the Function. Always numerify | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionnumerifyid.md b/docs/models/functionnumerifyid.md index 43158f949..5a17165d6 100644 --- a/docs/models/functionnumerifyid.md +++ b/docs/models/functionnumerifyid.md @@ -1,5 +1,7 @@ # FunctionNumerifyID +Identifier of the Function. Always numerify + ## Example Usage ```python diff --git a/docs/models/functionotlplogs.md b/docs/models/functionotlplogs.md index 7745e307e..fa12399c9 100644 --- a/docs/models/functionotlplogs.md +++ b/docs/models/functionotlplogs.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionOtlpLogsID](../models/functionotlplogsid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionOtlpLogsID](../models/functionotlplogsid.md) | :heavy_check_mark: | Identifier of the Function. Always otlp_logs | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionotlplogsid.md b/docs/models/functionotlplogsid.md index e7f0dcd42..ed5f17cf0 100644 --- a/docs/models/functionotlplogsid.md +++ b/docs/models/functionotlplogsid.md @@ -1,5 +1,7 @@ # FunctionOtlpLogsID +Identifier of the Function. Always otlp_logs + ## Example Usage ```python diff --git a/docs/models/functionotlpmetrics.md b/docs/models/functionotlpmetrics.md index 3935c9828..acb93c76b 100644 --- a/docs/models/functionotlpmetrics.md +++ b/docs/models/functionotlpmetrics.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionOtlpMetricsID](../models/functionotlpmetricsid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionOtlpMetricsID](../models/functionotlpmetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always otlp_metrics | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionotlpmetricsid.md b/docs/models/functionotlpmetricsid.md index d5d266cd3..a6b1e781b 100644 --- a/docs/models/functionotlpmetricsid.md +++ b/docs/models/functionotlpmetricsid.md @@ -1,5 +1,7 @@ # FunctionOtlpMetricsID +Identifier of the Function. Always otlp_metrics + ## Example Usage ```python diff --git a/docs/models/functionotlptraces.md b/docs/models/functionotlptraces.md index d1b2e38a8..d395e01ee 100644 --- a/docs/models/functionotlptraces.md +++ b/docs/models/functionotlptraces.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionOtlpTracesID](../models/functionotlptracesid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionOtlpTracesID](../models/functionotlptracesid.md) | :heavy_check_mark: | Identifier of the Function. Always otlp_traces | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionotlptracesid.md b/docs/models/functionotlptracesid.md index 060c11c77..1c947663c 100644 --- a/docs/models/functionotlptracesid.md +++ b/docs/models/functionotlptracesid.md @@ -1,5 +1,7 @@ # FunctionOtlpTracesID +Identifier of the Function. Always otlp_traces + ## Example Usage ```python diff --git a/docs/models/functionpack.md b/docs/models/functionpack.md index 32646972c..2118f9ffc 100644 --- a/docs/models/functionpack.md +++ b/docs/models/functionpack.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionPackID](../models/functionpackid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionPackID](../models/functionpackid.md) | :heavy_check_mark: | Identifier of the Function. Always pack | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionpackid.md b/docs/models/functionpackid.md index 3c9d3f40c..c4f2b5e89 100644 --- a/docs/models/functionpackid.md +++ b/docs/models/functionpackid.md @@ -1,5 +1,7 @@ # FunctionPackID +Identifier of the Function. Always pack + ## Example Usage ```python diff --git a/docs/models/functionpivot.md b/docs/models/functionpivot.md index 1b2e0f4b4..4297258f2 100644 --- a/docs/models/functionpivot.md +++ b/docs/models/functionpivot.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionPivotID](../models/functionpivotid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionPivotID](../models/functionpivotid.md) | :heavy_check_mark: | Identifier of the Function. Always pivot | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionpivotid.md b/docs/models/functionpivotid.md index 158c85c1e..37e6dd116 100644 --- a/docs/models/functionpivotid.md +++ b/docs/models/functionpivotid.md @@ -1,5 +1,7 @@ # FunctionPivotID +Identifier of the Function. Always pivot + ## Example Usage ```python diff --git a/docs/models/functionpublishmetrics.md b/docs/models/functionpublishmetrics.md index ec71968e0..391a4b749 100644 --- a/docs/models/functionpublishmetrics.md +++ b/docs/models/functionpublishmetrics.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionPublishMetricsID](../models/functionpublishmetricsid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionPublishMetricsID](../models/functionpublishmetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always publish_metrics | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionpublishmetricsid.md b/docs/models/functionpublishmetricsid.md index fa3c788be..4039b552b 100644 --- a/docs/models/functionpublishmetricsid.md +++ b/docs/models/functionpublishmetricsid.md @@ -1,5 +1,7 @@ # FunctionPublishMetricsID +Identifier of the Function. Always publish_metrics + ## Example Usage ```python diff --git a/docs/models/functionredis.md b/docs/models/functionredis.md index 36eda9ff6..a18324221 100644 --- a/docs/models/functionredis.md +++ b/docs/models/functionredis.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionRedisID](../models/functionredisid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionRedisID](../models/functionredisid.md) | :heavy_check_mark: | Identifier of the Function. Always redis | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionredisid.md b/docs/models/functionredisid.md index 207ab277b..530b83388 100644 --- a/docs/models/functionredisid.md +++ b/docs/models/functionredisid.md @@ -1,5 +1,7 @@ # FunctionRedisID +Identifier of the Function. Always redis + ## Example Usage ```python diff --git a/docs/models/functionregexextract.md b/docs/models/functionregexextract.md index 73c11befe..d19c5db60 100644 --- a/docs/models/functionregexextract.md +++ b/docs/models/functionregexextract.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionRegexExtractID](../models/functionregexextractid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionRegexExtractID](../models/functionregexextractid.md) | :heavy_check_mark: | Identifier of the Function. Always regex_extract | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionregexextractid.md b/docs/models/functionregexextractid.md index 77dc71362..5a4b7955d 100644 --- a/docs/models/functionregexextractid.md +++ b/docs/models/functionregexextractid.md @@ -1,5 +1,7 @@ # FunctionRegexExtractID +Identifier of the Function. Always regex_extract + ## Example Usage ```python diff --git a/docs/models/functionregexfilter.md b/docs/models/functionregexfilter.md index e21dfd28c..c9f603b1d 100644 --- a/docs/models/functionregexfilter.md +++ b/docs/models/functionregexfilter.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionRegexFilterID](../models/functionregexfilterid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionRegexFilterID](../models/functionregexfilterid.md) | :heavy_check_mark: | Identifier of the Function. Always regex_filter | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionregexfilterid.md b/docs/models/functionregexfilterid.md index a656e91ce..ff4de0bee 100644 --- a/docs/models/functionregexfilterid.md +++ b/docs/models/functionregexfilterid.md @@ -1,5 +1,7 @@ # FunctionRegexFilterID +Identifier of the Function. Always regex_filter + ## Example Usage ```python diff --git a/docs/models/functionrename.md b/docs/models/functionrename.md index 6426537d7..d6ec8c02f 100644 --- a/docs/models/functionrename.md +++ b/docs/models/functionrename.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionRenameID](../models/functionrenameid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionRenameID](../models/functionrenameid.md) | :heavy_check_mark: | Identifier of the Function. Always rename | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionrenameid.md b/docs/models/functionrenameid.md index 350343a63..8eb8d792e 100644 --- a/docs/models/functionrenameid.md +++ b/docs/models/functionrenameid.md @@ -1,5 +1,7 @@ # FunctionRenameID +Identifier of the Function. Always rename + ## Example Usage ```python diff --git a/docs/models/functionrollupmetrics.md b/docs/models/functionrollupmetrics.md index ef28deac6..95bc94b27 100644 --- a/docs/models/functionrollupmetrics.md +++ b/docs/models/functionrollupmetrics.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionRollupMetricsID](../models/functionrollupmetricsid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionRollupMetricsID](../models/functionrollupmetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always rollup_metrics | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionrollupmetricsid.md b/docs/models/functionrollupmetricsid.md index 8b1d9071a..d57d5169c 100644 --- a/docs/models/functionrollupmetricsid.md +++ b/docs/models/functionrollupmetricsid.md @@ -1,5 +1,7 @@ # FunctionRollupMetricsID +Identifier of the Function. Always rollup_metrics + ## Example Usage ```python diff --git a/docs/models/functionsampling.md b/docs/models/functionsampling.md index 623abdf6f..7efac36fe 100644 --- a/docs/models/functionsampling.md +++ b/docs/models/functionsampling.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSamplingID](../models/functionsamplingid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSamplingID](../models/functionsamplingid.md) | :heavy_check_mark: | Identifier of the Function. Always sampling | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionsamplingid.md b/docs/models/functionsamplingid.md index c34cec0fc..3d4f5533d 100644 --- a/docs/models/functionsamplingid.md +++ b/docs/models/functionsamplingid.md @@ -1,5 +1,7 @@ # FunctionSamplingID +Identifier of the Function. Always sampling + ## Example Usage ```python diff --git a/docs/models/functionsearchengineexport.md b/docs/models/functionsearchengineexport.md index e542c50ac..094b2619c 100644 --- a/docs/models/functionsearchengineexport.md +++ b/docs/models/functionsearchengineexport.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSearchEngineExportID](../models/functionsearchengineexportid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSearchEngineExportID](../models/functionsearchengineexportid.md) | :heavy_check_mark: | Identifier of the Function. Always search_engine_export | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionsearchengineexportid.md b/docs/models/functionsearchengineexportid.md index 0aaec57db..5928bcaa9 100644 --- a/docs/models/functionsearchengineexportid.md +++ b/docs/models/functionsearchengineexportid.md @@ -1,5 +1,7 @@ # FunctionSearchEngineExportID +Identifier of the Function. Always search_engine_export + ## Example Usage ```python diff --git a/docs/models/functionsend.md b/docs/models/functionsend.md index f9a2c7ac4..f8bd7f2ad 100644 --- a/docs/models/functionsend.md +++ b/docs/models/functionsend.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSendID](../models/functionsendid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSendID](../models/functionsendid.md) | :heavy_check_mark: | Identifier of the Function. Always send | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionsendid.md b/docs/models/functionsendid.md index 9b6265317..0404ee319 100644 --- a/docs/models/functionsendid.md +++ b/docs/models/functionsendid.md @@ -1,5 +1,7 @@ # FunctionSendID +Identifier of the Function. Always send + ## Example Usage ```python diff --git a/docs/models/functionsensitivedatascanner.md b/docs/models/functionsensitivedatascanner.md index e71ed0690..6f9fa0a17 100644 --- a/docs/models/functionsensitivedatascanner.md +++ b/docs/models/functionsensitivedatascanner.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSensitiveDataScannerID](../models/functionsensitivedatascannerid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSensitiveDataScannerID](../models/functionsensitivedatascannerid.md) | :heavy_check_mark: | Identifier of the Function. Always sensitive_data_scanner | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionsensitivedatascannerid.md b/docs/models/functionsensitivedatascannerid.md index 67f571e31..a861a62b7 100644 --- a/docs/models/functionsensitivedatascannerid.md +++ b/docs/models/functionsensitivedatascannerid.md @@ -1,5 +1,7 @@ # FunctionSensitiveDataScannerID +Identifier of the Function. Always sensitive_data_scanner + ## Example Usage ```python diff --git a/docs/models/functionserde.md b/docs/models/functionserde.md index ca34ebc42..d94b7563c 100644 --- a/docs/models/functionserde.md +++ b/docs/models/functionserde.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSerdeID](../models/functionserdeid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSerdeID](../models/functionserdeid.md) | :heavy_check_mark: | Identifier of the Function. Always serde | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionserdeid.md b/docs/models/functionserdeid.md index a171ec850..5a68e24fa 100644 --- a/docs/models/functionserdeid.md +++ b/docs/models/functionserdeid.md @@ -1,5 +1,7 @@ # FunctionSerdeID +Identifier of the Function. Always serde + ## Example Usage ```python diff --git a/docs/models/functionserialize.md b/docs/models/functionserialize.md index fcd9c58e3..8dd6767f3 100644 --- a/docs/models/functionserialize.md +++ b/docs/models/functionserialize.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSerializeID](../models/functionserializeid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSerializeID](../models/functionserializeid.md) | :heavy_check_mark: | Identifier of the Function. Always serialize | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionserializeid.md b/docs/models/functionserializeid.md index e0ae092d1..20730f096 100644 --- a/docs/models/functionserializeid.md +++ b/docs/models/functionserializeid.md @@ -1,5 +1,7 @@ # FunctionSerializeID +Identifier of the Function. Always serialize + ## Example Usage ```python diff --git a/docs/models/functionsidlookup.md b/docs/models/functionsidlookup.md index f11dcd3e3..bfb43972b 100644 --- a/docs/models/functionsidlookup.md +++ b/docs/models/functionsidlookup.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSidlookupID](../models/functionsidlookupid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSidlookupID](../models/functionsidlookupid.md) | :heavy_check_mark: | Identifier of the Function. Always sidlookup | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionsidlookupid.md b/docs/models/functionsidlookupid.md index 5c70c5b68..4da610b10 100644 --- a/docs/models/functionsidlookupid.md +++ b/docs/models/functionsidlookupid.md @@ -1,5 +1,7 @@ # FunctionSidlookupID +Identifier of the Function. Always sidlookup + ## Example Usage ```python diff --git a/docs/models/functionsignalfilter.md b/docs/models/functionsignalfilter.md index 619e7126a..c8f508b13 100644 --- a/docs/models/functionsignalfilter.md +++ b/docs/models/functionsignalfilter.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSignalFilterID](../models/functionsignalfilterid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSignalFilterID](../models/functionsignalfilterid.md) | :heavy_check_mark: | Identifier of the Function. Always signal_filter | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionsignalfilterid.md b/docs/models/functionsignalfilterid.md index ad55598a5..2c2582b1f 100644 --- a/docs/models/functionsignalfilterid.md +++ b/docs/models/functionsignalfilterid.md @@ -1,5 +1,7 @@ # FunctionSignalFilterID +Identifier of the Function. Always signal_filter + ## Example Usage ```python diff --git a/docs/models/functionsnmptrapserialize.md b/docs/models/functionsnmptrapserialize.md index 422825a55..2d1ef09cd 100644 --- a/docs/models/functionsnmptrapserialize.md +++ b/docs/models/functionsnmptrapserialize.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSnmpTrapSerializeID](../models/functionsnmptrapserializeid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSnmpTrapSerializeID](../models/functionsnmptrapserializeid.md) | :heavy_check_mark: | Identifier of the Function. Always snmp_trap_serialize | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionsnmptrapserializeid.md b/docs/models/functionsnmptrapserializeid.md index 76297ec1b..db211246a 100644 --- a/docs/models/functionsnmptrapserializeid.md +++ b/docs/models/functionsnmptrapserializeid.md @@ -1,5 +1,7 @@ # FunctionSnmpTrapSerializeID +Identifier of the Function. Always snmp_trap_serialize + ## Example Usage ```python diff --git a/docs/models/functionsort.md b/docs/models/functionsort.md index 41b41487c..0e069649d 100644 --- a/docs/models/functionsort.md +++ b/docs/models/functionsort.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSortID](../models/functionsortid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSortID](../models/functionsortid.md) | :heavy_check_mark: | Identifier of the Function. Always sort | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionsortid.md b/docs/models/functionsortid.md index fd7976397..5c0d3436f 100644 --- a/docs/models/functionsortid.md +++ b/docs/models/functionsortid.md @@ -1,5 +1,7 @@ # FunctionSortID +Identifier of the Function. Always sort + ## Example Usage ```python diff --git a/docs/models/functionstore.md b/docs/models/functionstore.md index 1d387d90c..1e3f73040 100644 --- a/docs/models/functionstore.md +++ b/docs/models/functionstore.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionStoreID](../models/functionstoreid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionStoreID](../models/functionstoreid.md) | :heavy_check_mark: | Identifier of the Function. Always store | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionstoreid.md b/docs/models/functionstoreid.md index eaa2f8b21..8c6d93e28 100644 --- a/docs/models/functionstoreid.md +++ b/docs/models/functionstoreid.md @@ -1,5 +1,7 @@ # FunctionStoreID +Identifier of the Function. Always store + ## Example Usage ```python diff --git a/docs/models/functionsuppress.md b/docs/models/functionsuppress.md index 32c41931a..1e9726e44 100644 --- a/docs/models/functionsuppress.md +++ b/docs/models/functionsuppress.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionSuppressID](../models/functionsuppressid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionSuppressID](../models/functionsuppressid.md) | :heavy_check_mark: | Identifier of the Function. Always suppress | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionsuppressid.md b/docs/models/functionsuppressid.md index 0db1e0bd8..44d564daf 100644 --- a/docs/models/functionsuppressid.md +++ b/docs/models/functionsuppressid.md @@ -1,5 +1,7 @@ # FunctionSuppressID +Identifier of the Function. Always suppress + ## Example Usage ```python diff --git a/docs/models/functiontee.md b/docs/models/functiontee.md index a1037b1b5..2935f4c67 100644 --- a/docs/models/functiontee.md +++ b/docs/models/functiontee.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionTeeID](../models/functionteeid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionTeeID](../models/functionteeid.md) | :heavy_check_mark: | Identifier of the Function. Always tee | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionteeid.md b/docs/models/functionteeid.md index 21c9a936e..e61831acd 100644 --- a/docs/models/functionteeid.md +++ b/docs/models/functionteeid.md @@ -1,5 +1,7 @@ # FunctionTeeID +Identifier of the Function. Always tee + ## Example Usage ```python diff --git a/docs/models/functiontrimtimestamp.md b/docs/models/functiontrimtimestamp.md index 2ba18e9bc..43b55489a 100644 --- a/docs/models/functiontrimtimestamp.md +++ b/docs/models/functiontrimtimestamp.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionTrimTimestampID](../models/functiontrimtimestampid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionTrimTimestampID](../models/functiontrimtimestampid.md) | :heavy_check_mark: | Identifier of the Function. Always trim_timestamp | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functiontrimtimestampid.md b/docs/models/functiontrimtimestampid.md index 8b9fee770..1dd9a89e9 100644 --- a/docs/models/functiontrimtimestampid.md +++ b/docs/models/functiontrimtimestampid.md @@ -1,5 +1,7 @@ # FunctionTrimTimestampID +Identifier of the Function. Always trim_timestamp + ## Example Usage ```python diff --git a/docs/models/functionunion.md b/docs/models/functionunion.md index a25f9fc9f..b0aa32f23 100644 --- a/docs/models/functionunion.md +++ b/docs/models/functionunion.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionUnionID](../models/functionunionid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionUnionID](../models/functionunionid.md) | :heavy_check_mark: | Identifier of the Function. Always union | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionunionid.md b/docs/models/functionunionid.md index 2cb233c2e..016cc4a92 100644 --- a/docs/models/functionunionid.md +++ b/docs/models/functionunionid.md @@ -1,5 +1,7 @@ # FunctionUnionID +Identifier of the Function. Always union + ## Example Usage ```python diff --git a/docs/models/functionunroll.md b/docs/models/functionunroll.md index 4786a10e6..b8fca18d3 100644 --- a/docs/models/functionunroll.md +++ b/docs/models/functionunroll.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionUnrollID](../models/functionunrollid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionUnrollID](../models/functionunrollid.md) | :heavy_check_mark: | Identifier of the Function. Always unroll | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionunrollid.md b/docs/models/functionunrollid.md index 282d85305..e03bce2a0 100644 --- a/docs/models/functionunrollid.md +++ b/docs/models/functionunrollid.md @@ -1,5 +1,7 @@ # FunctionUnrollID +Identifier of the Function. Always unroll + ## Example Usage ```python diff --git a/docs/models/functionwindow.md b/docs/models/functionwindow.md index 30f038ca0..6441f6bea 100644 --- a/docs/models/functionwindow.md +++ b/docs/models/functionwindow.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionWindowID](../models/functionwindowid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionWindowID](../models/functionwindowid.md) | :heavy_check_mark: | Identifier of the Function. Always window | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionwindowid.md b/docs/models/functionwindowid.md index 72390bf69..ad61f5ef6 100644 --- a/docs/models/functionwindowid.md +++ b/docs/models/functionwindowid.md @@ -1,5 +1,7 @@ # FunctionWindowID +Identifier of the Function. Always window + ## Example Usage ```python diff --git a/docs/models/functionxmlunroll.md b/docs/models/functionxmlunroll.md index 57c6c1209..3268f1455 100644 --- a/docs/models/functionxmlunroll.md +++ b/docs/models/functionxmlunroll.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `filename` | *str* | :heavy_check_mark: | N/A | -| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `group` | *str* | :heavy_check_mark: | N/A | -| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `id` | [models.FunctionXMLUnrollID](../models/functionxmlunrollid.md) | :heavy_check_mark: | N/A | -| `load_time` | *float* | :heavy_check_mark: | N/A | -| `mod_time` | *float* | :heavy_check_mark: | N/A | -| `name` | *str* | :heavy_check_mark: | N/A | -| `sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | N/A | -| `version` | *str* | :heavy_check_mark: | N/A | -| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `filename` | *str* | :heavy_check_mark: | Path to the JavaScript file that implements the Function. | +| `async_timeout` | *Optional[float]* | :heavy_minus_sign: | Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out. | +| `cribl_version` | *Optional[str]* | :heavy_minus_sign: | Minimum Cribl version required by the Function, if applicable. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false. | +| `group` | *str* | :heavy_check_mark: | Category group the Function belongs to. | +| `handle_signals` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function handles stream signals such as flush and close. Otherwise, false. | +| `id` | [models.FunctionXMLUnrollID](../models/functionxmlunrollid.md) | :heavy_check_mark: | Identifier of the Function. Always xml_unroll | +| `load_time` | *float* | :heavy_check_mark: | Time the Function module was loaded, in milliseconds since the Unix epoch. | +| `mod_time` | *float* | :heavy_check_mark: | Time the Function module was last modified, in milliseconds since the Unix epoch. | +| `name` | *str* | :heavy_check_mark: | Display name of the Function. | +| `sync` | *Optional[bool]* | :heavy_minus_sign: | If true, the Function executes synchronously. Otherwise, false. | +| `uischema` | Dict[str, *Any*] | :heavy_check_mark: | UI Schema that controls how the Function's configuration form is rendered. | +| `version` | *str* | :heavy_check_mark: | Version string of the Function. | +| `schema_` | Dict[str, *Any*] | :heavy_minus_sign: | JSON Schema document that describes the Function configuration. | \ No newline at end of file diff --git a/docs/models/functionxmlunrollid.md b/docs/models/functionxmlunrollid.md index 6f846f303..4ddc2e8be 100644 --- a/docs/models/functionxmlunrollid.md +++ b/docs/models/functionxmlunrollid.md @@ -1,5 +1,7 @@ # FunctionXMLUnrollID +Identifier of the Function. Always xml_unroll + ## Example Usage ```python diff --git a/docs/models/getfunctionsrequest.md b/docs/models/getfunctionsrequest.md new file mode 100644 index 000000000..b040897f5 --- /dev/null +++ b/docs/models/getfunctionsrequest.md @@ -0,0 +1,8 @@ +# GetFunctionsRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `show_hidden` | *Optional[bool]* | :heavy_minus_sign: | If true, include hidden Functions in the response. Otherwise, hidden Functions are excluded. | \ No newline at end of file diff --git a/docs/models/getpacksbyidrequest.md b/docs/models/getpacksbyidrequest.md index 425e37db2..ec86bf576 100644 --- a/docs/models/getpacksbyidrequest.md +++ b/docs/models/getpacksbyidrequest.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The id of the Pack to get. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The id of the Pack to get. Use the id field from the list response. | \ No newline at end of file diff --git a/docs/models/getpacksrequest.md b/docs/models/getpacksrequest.md index 3a046b2be..42744b489 100644 --- a/docs/models/getpacksrequest.md +++ b/docs/models/getpacksrequest.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `with_` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of additional properties to include in the response. When set, the response includes a count of the specified properties in the Pack. Available values are inputs and outputs. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `with_` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of additional properties to include in the response. When set, the response includes a count of each specified property in each Pack. Supported values: inputs, outputs, collectors. | \ No newline at end of file diff --git a/docs/models/getsavedjobrequest.md b/docs/models/getsavedjobrequest.md index 1ef533464..0fbb2b698 100644 --- a/docs/models/getsavedjobrequest.md +++ b/docs/models/getsavedjobrequest.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `collector_type` | [Optional[models.CollectorType]](../models/collectortype.md) | :heavy_minus_sign: | Filter by collector type | \ No newline at end of file +| `collector_type` | [Optional[models.CollectorType]](../models/collectortype.md) | :heavy_minus_sign: | Filter by collector type. | \ No newline at end of file diff --git a/docs/models/healthoverlaystatus.md b/docs/models/healthoverlaystatus.md new file mode 100644 index 000000000..3e53c8cde --- /dev/null +++ b/docs/models/healthoverlaystatus.md @@ -0,0 +1,17 @@ +# HealthOverlayStatus + + +## Supported Types + +### `models.ActiveHealthOverlayStatus` + +```python +value: models.ActiveHealthOverlayStatus = /* values here */ +``` + +### `models.NoActiveHealthOverlayStatus` + +```python +value: models.NoActiveHealthOverlayStatus = /* values here */ +``` + diff --git a/docs/models/healthserverstatus.md b/docs/models/healthserverstatus.md index d33b3577d..8f347a619 100644 --- a/docs/models/healthserverstatus.md +++ b/docs/models/healthserverstatus.md @@ -7,6 +7,7 @@ Health status of the Leader or Worker Node. | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `overlay` | [models.HealthOverlayStatus](../models/healthoverlaystatus.md) | :heavy_check_mark: | N/A | | `role` | [Optional[models.Role]](../models/role.md) | :heavy_minus_sign: | Leader Node role: primary or standby. | | `start_time` | *int* | :heavy_check_mark: | Timestamp (in Unix time) when the Cribl process started. | | `status` | [models.HealthServerStatusStatus](../models/healthserverstatusstatus.md) | :heavy_check_mark: | Health state: healthy, standby, or shutting down. | \ No newline at end of file diff --git a/docs/models/inputanthropiccomplianceinput.md b/docs/models/inputanthropiccomplianceinput.md index 23f8ad80f..0c45bd65c 100644 --- a/docs/models/inputanthropiccomplianceinput.md +++ b/docs/models/inputanthropiccomplianceinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputAnthropicComplianceType](../models/inputanthropiccompliancetype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -25,6 +25,6 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputappleunifiedlogsinput.md b/docs/models/inputappleunifiedlogsinput.md index 58ebcc34f..dd965058b 100644 --- a/docs/models/inputappleunifiedlogsinput.md +++ b/docs/models/inputappleunifiedlogsinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputAppleUnifiedLogsType](../models/inputappleunifiedlogstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -18,6 +18,6 @@ | `predicate` | *str* | :heavy_check_mark: | String to filter log entries, in NSPredicate format (e.g., subsystem == "com.apple.security" or process == "kernel"). See [Common Log Types and Predicates](https://docs.cribl.io/edge/sources-apple-unified-logs/#examples) for more information. | | `read_mode` | [Optional[models.InputAppleUnifiedLogsReadMode]](../models/inputappleunifiedlogsreadmode.md) | :heavy_minus_sign: | Read all log entries (historical and upcoming), or only upcoming, from the last entry | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputappscopeinput.md b/docs/models/inputappscopeinput.md index b5b26c0ee..2894e310b 100644 --- a/docs/models/inputappscopeinput.md +++ b/docs/models/inputappscopeinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputAppscopeType](../models/inputappscopetype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `filter_` | [Optional[models.InputAppscopeFilter]](../models/inputappscopefilter.md) | :heavy_minus_sign: | N/A | | `persistence` | [Optional[models.InputAppscopePersistence]](../models/inputappscopepersistence.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | | `port` | *Optional[float]* | :heavy_minus_sign: | Port to listen on | | `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputazureblobinput.md b/docs/models/inputazureblobinput.md index 6e50baaab..2057b8cab 100644 --- a/docs/models/inputazureblobinput.md +++ b/docs/models/inputazureblobinput.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputAzureBlobType](../models/inputazureblobtype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | | `parquet_chunk_download_timeout` | *Optional[float]* | :heavy_minus_sign: | The maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified. | | `auth_type` | [Optional[models.AuthenticationMethodOptions]](../models/authenticationmethodoptions.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `connection_string` | *Optional[str]* | :heavy_minus_sign: | Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `storage_account_name` | *Optional[str]* | :heavy_minus_sign: | The name of your Azure storage account | diff --git a/docs/models/inputcloudflarehecinput.md b/docs/models/inputcloudflarehecinput.md index 9c5d77541..1997ac94e 100644 --- a/docs/models/inputcloudflarehecinput.md +++ b/docs/models/inputcloudflarehecinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputCloudflareHecType](../models/inputcloudflarehectype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputCloudflareHecType](../models/inputcloudflarehectype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputcloudflarehectype.md b/docs/models/inputcloudflarehectype.md index 44ef5020f..b68d85137 100644 --- a/docs/models/inputcloudflarehectype.md +++ b/docs/models/inputcloudflarehectype.md @@ -1,5 +1,7 @@ # InputCloudflareHecType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputcollectioninput.md b/docs/models/inputcollectioninput.md index d0a941bb6..1104f17c7 100644 --- a/docs/models/inputcollectioninput.md +++ b/docs/models/inputcollectioninput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputCollectionType](../models/inputcollectiontype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process results | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Send events to normal routing and event processing. Disable to select a specific Pipeline/Destination combination. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | diff --git a/docs/models/inputconfluentcloudinput.md b/docs/models/inputconfluentcloudinput.md index 6c2236ede..4f6570b51 100644 --- a/docs/models/inputconfluentcloudinput.md +++ b/docs/models/inputconfluentcloudinput.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputConfluentCloudType](../models/inputconfluentcloudtype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/inputcriblhttpinput.md b/docs/models/inputcriblhttpinput.md index 1d9ddbe61..1de89b30b 100644 --- a/docs/models/inputcriblhttpinput.md +++ b/docs/models/inputcriblhttpinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputCriblHTTPType](../models/inputcriblhttptype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputCriblHTTPType](../models/inputcriblhttptype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,7 +31,7 @@ | `ip_allowlist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be processed, unless also matched by the denylist | | `ip_denylist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be ignored. This takes precedence over the allowlist. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputcriblhttptype.md b/docs/models/inputcriblhttptype.md index 9cb4afa20..2e252423f 100644 --- a/docs/models/inputcriblhttptype.md +++ b/docs/models/inputcriblhttptype.md @@ -1,5 +1,7 @@ # InputCriblHTTPType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputcriblinput.md b/docs/models/inputcriblinput.md index d22ced804..a846a9103 100644 --- a/docs/models/inputcriblinput.md +++ b/docs/models/inputcriblinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputCriblType](../models/inputcribltype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -17,6 +17,6 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `filter_` | *Optional[str]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputcribllakehttpinput.md b/docs/models/inputcribllakehttpinput.md index 77c69ea25..72a27b9b4 100644 --- a/docs/models/inputcribllakehttpinput.md +++ b/docs/models/inputcribllakehttpinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputCriblLakeHTTPType](../models/inputcribllakehttptype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputCriblLakeHTTPType](../models/inputcribllakehttptype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `splunk_hec_acks` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_tokens_ext` | List[[models.InputCriblLakeHTTPAuthTokensExt](../models/inputcribllakehttpauthtokensext.md)] | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputcribllakehttptype.md b/docs/models/inputcribllakehttptype.md index 9b4c4b145..ccfa79a44 100644 --- a/docs/models/inputcribllakehttptype.md +++ b/docs/models/inputcribllakehttptype.md @@ -1,5 +1,7 @@ # InputCriblLakeHTTPType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputcriblmetricsinput.md b/docs/models/inputcriblmetricsinput.md index 8c0cdcd2e..04dd6d5e1 100644 --- a/docs/models/inputcriblmetricsinput.md +++ b/docs/models/inputcriblmetricsinput.md @@ -7,7 +7,7 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputCriblmetricsType](../models/inputcriblmetricstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -18,6 +18,6 @@ | `prefix` | *Optional[str]* | :heavy_minus_sign: | A prefix that is applied to the metrics provided by Cribl Stream | | `full_fidelity` | *Optional[bool]* | :heavy_minus_sign: | Include granular metrics. Disabling this will drop the following metrics events: `cribl.logstream.host.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.index.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.source.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.sourcetype.(in_bytes,in_events,out_bytes,out_events)`. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputcribltcpinput.md b/docs/models/inputcribltcpinput.md index 2fce0b396..d8957b939 100644 --- a/docs/models/inputcribltcpinput.md +++ b/docs/models/inputcribltcpinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputCriblTCPType](../models/inputcribltcptype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -26,7 +26,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | | `auth_tokens` | List[[models.AuthTokenConfInputCriblTCP](../models/authtokenconfinputcribltcp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputcrowdstrikeinput.md b/docs/models/inputcrowdstrikeinput.md index 99dc49631..87ae3c581 100644 --- a/docs/models/inputcrowdstrikeinput.md +++ b/docs/models/inputcrowdstrikeinput.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputCrowdstrikeType](../models/inputcrowdstriketype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -42,7 +42,7 @@ | `checkpointing` | [Optional[models.CheckpointingType]](../models/checkpointingtype.md) | :heavy_minus_sign: | N/A | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputdatadogagentinput.md b/docs/models/inputdatadogagentinput.md index 52b23b143..da47b0d2f 100644 --- a/docs/models/inputdatadogagentinput.md +++ b/docs/models/inputdatadogagentinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputDatadogAgentType](../models/inputdatadogagenttype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputDatadogAgentType](../models/inputdatadogagenttype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Toggle to Yes to extract each incoming metric to multiple events, one per data point. This works well when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave toggled to No (the default). | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `proxy_mode` | [Optional[models.InputDatadogAgentProxyMode]](../models/inputdatadogagentproxymode.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputdatadogagenttype.md b/docs/models/inputdatadogagenttype.md index ed12795ab..9273a35d2 100644 --- a/docs/models/inputdatadogagenttype.md +++ b/docs/models/inputdatadogagenttype.md @@ -1,5 +1,7 @@ # InputDatadogAgentType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputdatageninput.md b/docs/models/inputdatageninput.md index 18a51597d..594d85f2d 100644 --- a/docs/models/inputdatageninput.md +++ b/docs/models/inputdatageninput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputDatagenType](../models/inputdatagentype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -17,6 +17,6 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `samples` | List[[models.InputDatagenSample](../models/inputdatagensample.md)] | :heavy_check_mark: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputedgeprometheusinput.md b/docs/models/inputedgeprometheusinput.md index 7a718dcd4..7ed6e466b 100644 --- a/docs/models/inputedgeprometheusinput.md +++ b/docs/models/inputedgeprometheusinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputEdgePrometheusType](../models/inputedgeprometheustype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `persistence` | [Optional[models.DiskSpoolingType]](../models/diskspoolingtype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_type` | [Optional[models.InputEdgePrometheusAuthenticationMethod]](../models/inputedgeprometheusauthenticationmethod.md) | :heavy_minus_sign: | Enter credentials directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `targets` | List[[models.InputEdgePrometheusTarget](../models/inputedgeprometheustarget.md)] | :heavy_minus_sign: | N/A | | `record_type` | [Optional[models.RecordTypeOptions]](../models/recordtypeoptions.md) | :heavy_minus_sign: | DNS record type to resolve | | `scrape_port` | *Optional[float]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets. | diff --git a/docs/models/inputelasticinput.md b/docs/models/inputelasticinput.md index 24485b06e..2690c6ac5 100644 --- a/docs/models/inputelasticinput.md +++ b/docs/models/inputelasticinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputElasticType](../models/inputelastictype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputElasticType](../models/inputelastictype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `proxy_mode` | [Optional[models.InputElasticProxyMode]](../models/inputelasticproxymode.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/inputelastictype.md b/docs/models/inputelastictype.md index 3a51c7ff6..3be20b06d 100644 --- a/docs/models/inputelastictype.md +++ b/docs/models/inputelastictype.md @@ -1,5 +1,7 @@ # InputElasticType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputeventhubamqpinput.md b/docs/models/inputeventhubamqpinput.md index 165974177..e09ec1042 100644 --- a/docs/models/inputeventhubamqpinput.md +++ b/docs/models/inputeventhubamqpinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputEventhubAmqpType](../models/inputeventhubamqptype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,6 +31,6 @@ | `connection_max_backoff` | *Optional[int]* | :heavy_minus_sign: | Maximum delay between reconnection attempts, in milliseconds | | `connection_timeout_in_ms` | *Optional[int]* | :heavy_minus_sign: | Maximum time to wait for a connection to complete | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputeventhubinput.md b/docs/models/inputeventhubinput.md index 1f103e96f..de355ff82 100644 --- a/docs/models/inputeventhubinput.md +++ b/docs/models/inputeventhubinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputEventhubType](../models/inputeventhubtype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `minimize_duplicates` | *Optional[bool]* | :heavy_minus_sign: | Minimize duplicate events by starting only one consumer for each topic partition | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/inputexecinput.md b/docs/models/inputexecinput.md index f9fc59f3a..e94861872 100644 --- a/docs/models/inputexecinput.md +++ b/docs/models/inputexecinput.md @@ -22,7 +22,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `interval` | *Optional[float]* | :heavy_minus_sign: | Interval between command executions in seconds. | | `cron_schedule` | *Optional[str]* | :heavy_minus_sign: | Cron schedule to execute the command on. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputfileinput.md b/docs/models/inputfileinput.md index a2ef7bed5..f89b1d7c5 100644 --- a/docs/models/inputfileinput.md +++ b/docs/models/inputfileinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputFileType](../models/inputfiletype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `disable_stale_channel_flush` | *Optional[bool]* | :heavy_minus_sign: | When enabled, no Event Breaker channel flush timeout applies and the timeout below is ignored. Prefer this option when using header-based breakers for file types such as CSV or IIS. | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `path` | *Optional[str]* | :heavy_minus_sign: | Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/). | | `depth` | *Optional[float]* | :heavy_minus_sign: | Set how many subdirectories deep to search. Use 0 to search only files in the given path, 1 to also look in its immediate subdirectories, etc. Leave it empty for unlimited depth. | | `suppress_missing_path_errors` | *Optional[bool]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputfirehoseinput.md b/docs/models/inputfirehoseinput.md index 36929a96e..442739640 100644 --- a/docs/models/inputfirehoseinput.md +++ b/docs/models/inputfirehoseinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputFirehoseType](../models/inputfirehosetype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputFirehoseType](../models/inputfirehosetype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,7 +31,7 @@ | `ip_allowlist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be processed, unless also matched by the denylist | | `ip_denylist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be ignored. This takes precedence over the allowlist. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputfirehosetype.md b/docs/models/inputfirehosetype.md index 5e920daae..1a7ea2ca8 100644 --- a/docs/models/inputfirehosetype.md +++ b/docs/models/inputfirehosetype.md @@ -1,5 +1,7 @@ # InputFirehoseType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputgooglepubsubinput.md b/docs/models/inputgooglepubsubinput.md index d6f5f56d2..e54ab8bdc 100644 --- a/docs/models/inputgooglepubsubinput.md +++ b/docs/models/inputgooglepubsubinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputGooglePubsubType](../models/inputgooglepubsubtype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `concurrency` | *Optional[float]* | :heavy_minus_sign: | How many streams to pull messages from at one time. Doubling the value doubles the number of messages this Source pulls from the topic (if available), while consuming more CPU and memory. Defaults to 5. | | `request_timeout` | *Optional[float]* | :heavy_minus_sign: | Pull request timeout, in milliseconds | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `ordered_delivery` | *Optional[bool]* | :heavy_minus_sign: | Receive events in the order they were added to the queue. The process sending events must have ordering enabled. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/inputgrafanagrafanainput1.md b/docs/models/inputgrafanagrafanainput1.md index e532c6e88..16e457a96 100644 --- a/docs/models/inputgrafanagrafanainput1.md +++ b/docs/models/inputgrafanagrafanainput1.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputGrafanaType1](../models/inputgrafanatype1.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputGrafanaType1](../models/inputgrafanatype1.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `prometheus_auth` | [Optional[models.PrometheusAuth1]](../models/prometheusauth1.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.LokiAuth1]](../models/lokiauth1.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputgrafanagrafanainput2.md b/docs/models/inputgrafanagrafanainput2.md index cf5e1581b..41eb9bae5 100644 --- a/docs/models/inputgrafanagrafanainput2.md +++ b/docs/models/inputgrafanagrafanainput2.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputGrafanaType2](../models/inputgrafanatype2.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputGrafanaType2](../models/inputgrafanatype2.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `prometheus_auth` | [Optional[models.PrometheusAuth2]](../models/prometheusauth2.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.LokiAuth2]](../models/lokiauth2.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputgrafanatype1.md b/docs/models/inputgrafanatype1.md index a84f14abe..863165ea7 100644 --- a/docs/models/inputgrafanatype1.md +++ b/docs/models/inputgrafanatype1.md @@ -1,5 +1,7 @@ # InputGrafanaType1 +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputgrafanatype2.md b/docs/models/inputgrafanatype2.md index 08fd4accb..d361852cb 100644 --- a/docs/models/inputgrafanatype2.md +++ b/docs/models/inputgrafanatype2.md @@ -1,5 +1,7 @@ # InputGrafanaType2 +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputhttpinput.md b/docs/models/inputhttpinput.md index 3471866f3..31f706b41 100644 --- a/docs/models/inputhttpinput.md +++ b/docs/models/inputhttpinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputHTTPType](../models/inputhttptype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputHTTPType](../models/inputhttptype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `splunk_hec_acks` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputhttprawinput.md b/docs/models/inputhttprawinput.md index 89294e131..476f8bf24 100644 --- a/docs/models/inputhttprawinput.md +++ b/docs/models/inputhttprawinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputHTTPRawType](../models/inputhttprawtype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputHTTPRawType](../models/inputhttprawtype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `allowed_paths` | List[*str*] | :heavy_minus_sign: | List of URI paths accepted by this input, wildcards are supported, e.g /api/v*/hook. Defaults to allow all. | | `allowed_methods` | List[*str*] | :heavy_minus_sign: | List of HTTP methods accepted by this input. Wildcards are supported (such as P*, GET). Defaults to allow all. | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputhttprawtype.md b/docs/models/inputhttprawtype.md index 7c4d4b21f..37325f7f5 100644 --- a/docs/models/inputhttprawtype.md +++ b/docs/models/inputhttprawtype.md @@ -1,5 +1,7 @@ # InputHTTPRawType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputhttptype.md b/docs/models/inputhttptype.md index 2a155ff38..5ab7bec30 100644 --- a/docs/models/inputhttptype.md +++ b/docs/models/inputhttptype.md @@ -1,5 +1,7 @@ # InputHTTPType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputjournalfilesinput.md b/docs/models/inputjournalfilesinput.md index bca6c02eb..9e108d675 100644 --- a/docs/models/inputjournalfilesinput.md +++ b/docs/models/inputjournalfilesinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputJournalFilesType](../models/inputjournalfilestype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,6 +23,6 @@ | `max_age_dur` | *Optional[str]* | :heavy_minus_sign: | The maximum log message age, in duration form (e.g,: 60s, 4h, 3d, 1w). Default of no value will apply no max age filters. | | `suppress_missing_path_errors` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputkafkainput.md b/docs/models/inputkafkainput.md index 75e3f6717..a5a0dfb89 100644 --- a/docs/models/inputkafkainput.md +++ b/docs/models/inputkafkainput.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputKafkaType](../models/inputkafkatype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/inputkinesisinput.md b/docs/models/inputkinesisinput.md index f5fec314c..3dd3a41c2 100644 --- a/docs/models/inputkinesisinput.md +++ b/docs/models/inputkinesisinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputKinesisType](../models/inputkinesistype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `verify_kpl_check_sums` | *Optional[bool]* | :heavy_minus_sign: | Verify Kinesis Producer Library (KPL) event checksums | | `avoid_duplicates` | *Optional[bool]* | :heavy_minus_sign: | When resuming streaming from a stored state, Stream will read the next available record, rather than rereading the last-read record. Enabling this setting can cause data loss after a Worker Node's unexpected shutdown or restart. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputkubeeventsinput.md b/docs/models/inputkubeeventsinput.md index e30d34883..eac1ccc43 100644 --- a/docs/models/inputkubeeventsinput.md +++ b/docs/models/inputkubeeventsinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputKubeEventsType](../models/inputkubeeventstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -17,6 +17,6 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `rules` | List[[models.RuleConfInputKubeMetrics](../models/ruleconfinputkubemetrics.md)] | :heavy_minus_sign: | Filtering on event fields | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputkubelogsinput.md b/docs/models/inputkubelogsinput.md index c28e4d544..93071e37a 100644 --- a/docs/models/inputkubelogsinput.md +++ b/docs/models/inputkubelogsinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputKubeLogsType](../models/inputkubelogstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -25,6 +25,6 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputkubemetricsinput.md b/docs/models/inputkubemetricsinput.md index b6f81545f..1f5ae8d34 100644 --- a/docs/models/inputkubemetricsinput.md +++ b/docs/models/inputkubemetricsinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputKubeMetricsType](../models/inputkubemetricstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -21,6 +21,6 @@ | `rules` | List[[models.RuleConfInputKubeMetrics](../models/ruleconfinputkubemetrics.md)] | :heavy_minus_sign: | Add rules to decide which Kubernetes objects to generate metrics for. Events are generated if no rules are given or of all the rules' expressions evaluate to true. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.InputKubeMetricsPersistence]](../models/inputkubemetricspersistence.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputlokiinput.md b/docs/models/inputlokiinput.md index 72b2a3f66..8ee1c477f 100644 --- a/docs/models/inputlokiinput.md +++ b/docs/models/inputlokiinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputLokiType](../models/inputlokitype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputLokiType](../models/inputlokitype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `loki_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'. | | `auth_type` | [Optional[models.AuthenticationTypeOptionsLokiAuth]](../models/authenticationtypeoptionslokiauth.md) | :heavy_minus_sign: | Loki logs authentication type | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/inputlokitype.md b/docs/models/inputlokitype.md index a43ffadcd..19cb67ee1 100644 --- a/docs/models/inputlokitype.md +++ b/docs/models/inputlokitype.md @@ -1,5 +1,7 @@ # InputLokiType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputmetricsinput.md b/docs/models/inputmetricsinput.md index 89addb61a..8dac233b6 100644 --- a/docs/models/inputmetricsinput.md +++ b/docs/models/inputmetricsinput.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputMetricsType](../models/inputmetricstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -24,7 +24,7 @@ | `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputmicrosoftgraphinput.md b/docs/models/inputmicrosoftgraphinput.md index a8ff13e95..6ed81d7d6 100644 --- a/docs/models/inputmicrosoftgraphinput.md +++ b/docs/models/inputmicrosoftgraphinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputMicrosoftGraphType](../models/inputmicrosoftgraphtype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -33,7 +33,7 @@ | `max_task_reschedule` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times a task can be rescheduled | | `log_level` | [Optional[models.LogLevelOptionsDebugError]](../models/logleveloptionsdebugerror.md) | :heavy_minus_sign: | Log Level (verbosity) for collection runtime behavior. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | client_secret to pass in the OAuth request parameter. | | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Directory ID (tenant identifier) in Azure Active Directory. | | `client_id` | *Optional[str]* | :heavy_minus_sign: | client_id to pass in the OAuth request parameter. | diff --git a/docs/models/inputmodeldriventelemetryinput.md b/docs/models/inputmodeldriventelemetryinput.md index eef32f3df..1feb68318 100644 --- a/docs/models/inputmodeldriventelemetryinput.md +++ b/docs/models/inputmodeldriventelemetryinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputModelDrivenTelemetryType](../models/inputmodeldriventelemetrytype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -21,7 +21,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_active_cxn` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active connections allowed per Worker Process. Use 0 for unlimited. | | `shutdown_timeout_ms` | *Optional[float]* | :heavy_minus_sign: | Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputmskinput.md b/docs/models/inputmskinput.md index b69915992..55d8b679a 100644 --- a/docs/models/inputmskinput.md +++ b/docs/models/inputmskinput.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputMskType](../models/inputmsktype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -48,7 +48,7 @@ | `max_bytes_per_partition` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of data that Kafka will return per partition, per fetch request. Must equal or exceed the maximum message size (maxBytesPerPartition) that Kafka is configured to allow. Otherwise, @{product} can get stuck trying to retrieve messages. Defaults to 1048576 (1 MB). | | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputnetflowinput.md b/docs/models/inputnetflowinput.md index a26353cc0..b674e1089 100644 --- a/docs/models/inputnetflowinput.md +++ b/docs/models/inputnetflowinput.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputNetflowType](../models/inputnetflowtype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -26,7 +26,7 @@ | `v9_enabled` | *Optional[bool]* | :heavy_minus_sign: | Accept messages in Netflow V9 format. | | `ipfix_enabled` | *Optional[bool]* | :heavy_minus_sign: | Accept messages in IPFIX format. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputoffice365mgmtinput.md b/docs/models/inputoffice365mgmtinput.md index a1fe731b2..b6e8ae08b 100644 --- a/docs/models/inputoffice365mgmtinput.md +++ b/docs/models/inputoffice365mgmtinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputOffice365MgmtType](../models/inputoffice365mgmttype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `ingestion_lag` | *Optional[float]* | :heavy_minus_sign: | Use this setting to account for ingestion lag. This is necessary because there can be a lag of 60 - 90 minutes (or longer) before Microsoft 365 events are available for retrieval. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | Microsoft 365 Azure client secret | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputoffice365msgtraceinput.md b/docs/models/inputoffice365msgtraceinput.md index 5219de635..8694c2bfe 100644 --- a/docs/models/inputoffice365msgtraceinput.md +++ b/docs/models/inputoffice365msgtraceinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputOffice365MsgTraceType](../models/inputoffice365msgtracetype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `max_task_reschedule` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times a task can be rescheduled | | `log_level` | [Optional[models.LogLevelOptionsDebugError]](../models/logleveloptionsdebugerror.md) | :heavy_minus_sign: | Log Level (verbosity) for collection runtime behavior. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username to run Message Trace API call. | | `password` | *Optional[str]* | :heavy_minus_sign: | Password to run Message Trace API call. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials. | diff --git a/docs/models/inputoffice365serviceinput.md b/docs/models/inputoffice365serviceinput.md index df3a52bb1..76d34caee 100644 --- a/docs/models/inputoffice365serviceinput.md +++ b/docs/models/inputoffice365serviceinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputOffice365ServiceType](../models/inputoffice365servicetype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `content_config` | List[[models.InputOffice365ServiceContentConfig](../models/inputoffice365servicecontentconfig.md)] | :heavy_minus_sign: | Enable Microsoft 365 Service Communication API content types and polling intervals. Polling intervals are used to set up search date range and cron schedule, e.g.: */${interval} * * * *. Because of this, intervals entered for current and historical status must be evenly divisible by 60 to give a predictable schedule. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | Microsoft 365 Azure client secret | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputoktainput.md b/docs/models/inputoktainput.md index 2266f45c0..1c1378f8e 100644 --- a/docs/models/inputoktainput.md +++ b/docs/models/inputoktainput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputOktaType](../models/inputoktatype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_okta_domain` | *Optional[str]* | :heavy_minus_sign: | Binds 'oktaDomain' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oktaDomain' at runtime. | \ No newline at end of file diff --git a/docs/models/inputopenaicompliancelogsinput.md b/docs/models/inputopenaicompliancelogsinput.md index 79e7078b6..2918d1fd8 100644 --- a/docs/models/inputopenaicompliancelogsinput.md +++ b/docs/models/inputopenaicompliancelogsinput.md @@ -7,7 +7,7 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputOpenaiComplianceLogsType](../models/inputopenaicompliancelogstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `workspace_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the ChatGPT workspace to collect logs from (UUID format) | | `workspace_event_types` | List[*str*] | :heavy_minus_sign: | One or more compliance log categories to collect | | `organization_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the OpenAI API Platform Organization (example: org-XXXXXXXXXXXXXXXXXXXXXXXX) | diff --git a/docs/models/inputopenaiinput.md b/docs/models/inputopenaiinput.md index bf97a446a..e31f92598 100644 --- a/docs/models/inputopenaiinput.md +++ b/docs/models/inputopenaiinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputOpenaiType](../models/inputopenaitype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -27,7 +27,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_openai_organization` | *Optional[str]* | :heavy_minus_sign: | Binds 'openaiOrganization' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'openaiOrganization' at runtime. | diff --git a/docs/models/inputopentelemetryinput.md b/docs/models/inputopentelemetryinput.md index f61da8382..ca8fc9c86 100644 --- a/docs/models/inputopentelemetryinput.md +++ b/docs/models/inputopentelemetryinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputOpenTelemetryType](../models/inputopentelemetrytype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputOpenTelemetryType](../models/inputopentelemetrytype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `auth_methods_ext` | List[[models.InputOpenTelemetryAuthMethodsExt](../models/inputopentelemetryauthmethodsext.md)] | :heavy_minus_sign: | Shared secrets to authenticate clients. Supports Bearer tokens and Basic auth. If empty, unauthenticated access is permitted. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_active_cxn` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active connections allowed per Worker Process. Use 0 for unlimited. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/inputopentelemetrytype.md b/docs/models/inputopentelemetrytype.md index d7b69c56e..54f478db2 100644 --- a/docs/models/inputopentelemetrytype.md +++ b/docs/models/inputopentelemetrytype.md @@ -1,5 +1,7 @@ # InputOpenTelemetryType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputprometheusinput.md b/docs/models/inputprometheusinput.md index 76e9ce987..be37683cf 100644 --- a/docs/models/inputprometheusinput.md +++ b/docs/models/inputprometheusinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputPrometheusType](../models/inputprometheustype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_type` | [Optional[models.AuthenticationMethodOptionsSasl]](../models/authenticationmethodoptionssasl.md) | :heavy_minus_sign: | Enter credentials directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `target_list` | List[*str*] | :heavy_minus_sign: | 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'. | | `record_type` | [Optional[models.RecordTypeOptions]](../models/recordtypeoptions.md) | :heavy_minus_sign: | DNS record type to resolve | | `scrape_port` | *Optional[float]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets | diff --git a/docs/models/inputprometheusrwinput.md b/docs/models/inputprometheusrwinput.md index b79545937..0c1bb9890 100644 --- a/docs/models/inputprometheusrwinput.md +++ b/docs/models/inputprometheusrwinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputPrometheusRwType](../models/inputprometheusrwtype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputPrometheusRwType](../models/inputprometheusrwtype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `prometheus_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://:/write. | | `auth_type` | [Optional[models.AuthenticationTypeOptionsPrometheusAuth]](../models/authenticationtypeoptionsprometheusauth.md) | :heavy_minus_sign: | Remote Write authentication type | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/inputprometheusrwtype.md b/docs/models/inputprometheusrwtype.md index 1cb246e7a..fe1895910 100644 --- a/docs/models/inputprometheusrwtype.md +++ b/docs/models/inputprometheusrwtype.md @@ -1,5 +1,7 @@ # InputPrometheusRwType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputrawudpinput.md b/docs/models/inputrawudpinput.md index 972bb2804..a2b0149e3 100644 --- a/docs/models/inputrawudpinput.md +++ b/docs/models/inputrawudpinput.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputRawUDPType](../models/inputrawudptype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `ingest_raw_bytes` | *Optional[bool]* | :heavy_minus_sign: | If true, a __rawBytes field will be added to each event containing the raw bytes of the datagram. | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseauthtokensplunkhec.md b/docs/models/inputresponseauthtokensplunkhec.md index fc2da5187..dffc2483e 100644 --- a/docs/models/inputresponseauthtokensplunkhec.md +++ b/docs/models/inputresponseauthtokensplunkhec.md @@ -8,7 +8,7 @@ | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | | `token_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `token` | *str* | :heavy_check_mark: | Shared secret to be provided by any client (Authorization: ) | -| `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the token is active and can be used for authentication. | | `description` | *Optional[str]* | :heavy_minus_sign: | Optional token description | | `allowed_indexes_at_token` | List[*str*] | :heavy_minus_sign: | Enter the values you want to allow in the HEC event index field at the token level. Supports wildcards. To skip validation, leave blank. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events referencing this token | \ No newline at end of file diff --git a/docs/models/inputresponseinputanthropiccompliance.md b/docs/models/inputresponseinputanthropiccompliance.md index b397e44cb..526ab425c 100644 --- a/docs/models/inputresponseinputanthropiccompliance.md +++ b/docs/models/inputresponseinputanthropiccompliance.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeAnthropicCompliance](../models/inputresponsetypeanthropiccompliance.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -26,7 +26,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputappleunifiedlogs.md b/docs/models/inputresponseinputappleunifiedlogs.md index 309dcd311..cdfed01f2 100644 --- a/docs/models/inputresponseinputappleunifiedlogs.md +++ b/docs/models/inputresponseinputappleunifiedlogs.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeAppleUnifiedLogs](../models/inputresponsetypeappleunifiedlogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -19,7 +19,7 @@ | `predicate` | *str* | :heavy_check_mark: | String to filter log entries, in NSPredicate format (e.g., subsystem == "com.apple.security" or process == "kernel"). See [Common Log Types and Predicates](https://docs.cribl.io/edge/sources-apple-unified-logs/#examples) for more information. | | `read_mode` | [Optional[models.InputResponseReadModeAppleUnifiedLogs]](../models/inputresponsereadmodeappleunifiedlogs.md) | :heavy_minus_sign: | Read all log entries (historical and upcoming), or only upcoming, from the last entry | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputappscope.md b/docs/models/inputresponseinputappscope.md index fe03f671d..a6c207d66 100644 --- a/docs/models/inputresponseinputappscope.md +++ b/docs/models/inputresponseinputappscope.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeAppscope](../models/inputresponsetypeappscope.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `filter_` | [Optional[models.InputResponseFilterAppscope]](../models/inputresponsefilterappscope.md) | :heavy_minus_sign: | N/A | | `persistence` | [Optional[models.InputResponsePersistenceAppscope]](../models/inputresponsepersistenceappscope.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | Address to bind on. Defaults to 0.0.0.0 (all addresses). | | `port` | *Optional[float]* | :heavy_minus_sign: | Port to listen on | | `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputresponseinputazureblob.md b/docs/models/inputresponseinputazureblob.md index 02a8e2ecd..26ab9a161 100644 --- a/docs/models/inputresponseinputazureblob.md +++ b/docs/models/inputresponseinputazureblob.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeAzureBlob](../models/inputresponsetypeazureblob.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `parquet_chunk_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum file size for each Parquet chunk | | `parquet_chunk_download_timeout` | *Optional[float]* | :heavy_minus_sign: | The maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified. | | `auth_type` | [Optional[models.AuthenticationMethodOptions]](../models/authenticationmethodoptions.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `connection_string` | *Optional[str]* | :heavy_minus_sign: | Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `storage_account_name` | *Optional[str]* | :heavy_minus_sign: | The name of your Azure storage account | diff --git a/docs/models/inputresponseinputcloudflarehec.md b/docs/models/inputresponseinputcloudflarehec.md index 1cc5818b1..3f7344d47 100644 --- a/docs/models/inputresponseinputcloudflarehec.md +++ b/docs/models/inputresponseinputcloudflarehec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeCloudflareHec](../models/inputresponsetypecloudflarehec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeCloudflareHec](../models/inputresponsetypecloudflarehec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -38,7 +38,7 @@ | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputcollection.md b/docs/models/inputresponseinputcollection.md index dd3c6b9a2..62ddddb08 100644 --- a/docs/models/inputresponseinputcollection.md +++ b/docs/models/inputresponseinputcollection.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeCollection](../models/inputresponsetypecollection.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process results | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Send events to normal routing and event processing. Disable to select a specific Pipeline/Destination combination. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | diff --git a/docs/models/inputresponseinputconfluentcloud.md b/docs/models/inputresponseinputconfluentcloud.md index 73880f01d..bc0fdd64a 100644 --- a/docs/models/inputresponseinputconfluentcloud.md +++ b/docs/models/inputresponseinputconfluentcloud.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeConfluentCloud](../models/inputresponsetypeconfluentcloud.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -40,7 +40,7 @@ | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/inputresponseinputcribl.md b/docs/models/inputresponseinputcribl.md index 5e0c59baf..92d709914 100644 --- a/docs/models/inputresponseinputcribl.md +++ b/docs/models/inputresponseinputcribl.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeCribl](../models/inputresponsetypecribl.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -18,7 +18,7 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `filter_` | *Optional[str]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputcriblhttp.md b/docs/models/inputresponseinputcriblhttp.md index 39656d524..d1fdd7ac9 100644 --- a/docs/models/inputresponseinputcriblhttp.md +++ b/docs/models/inputresponseinputcriblhttp.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeCriblHTTP](../models/inputresponsetypecriblhttp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeCriblHTTP](../models/inputresponsetypecriblhttp.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `ip_allowlist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be processed, unless also matched by the denylist | | `ip_denylist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be ignored. This takes precedence over the allowlist. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputcribllakehttp.md b/docs/models/inputresponseinputcribllakehttp.md index 35e9eb803..787fcf88e 100644 --- a/docs/models/inputresponseinputcribllakehttp.md +++ b/docs/models/inputresponseinputcribllakehttp.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeCriblLakeHTTP](../models/inputresponsetypecribllakehttp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeCriblLakeHTTP](../models/inputresponsetypecribllakehttp.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `splunk_hec_acks` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_tokens_ext` | List[[models.InputResponseAuthTokensExt](../models/inputresponseauthtokensext.md)] | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputcriblmetrics.md b/docs/models/inputresponseinputcriblmetrics.md index 83f73ed30..b8e72fa78 100644 --- a/docs/models/inputresponseinputcriblmetrics.md +++ b/docs/models/inputresponseinputcriblmetrics.md @@ -7,7 +7,7 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeCriblmetrics](../models/inputresponsetypecriblmetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -19,7 +19,7 @@ | `prefix` | *Optional[str]* | :heavy_minus_sign: | A prefix that is applied to the metrics provided by Cribl Stream | | `full_fidelity` | *Optional[bool]* | :heavy_minus_sign: | Include granular metrics. Disabling this will drop the following metrics events: `cribl.logstream.host.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.index.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.source.(in_bytes,in_events,out_bytes,out_events)`, `cribl.logstream.sourcetype.(in_bytes,in_events,out_bytes,out_events)`. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputcribltcp.md b/docs/models/inputresponseinputcribltcp.md index e894412fc..e31c2a6c1 100644 --- a/docs/models/inputresponseinputcribltcp.md +++ b/docs/models/inputresponseinputcribltcp.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeCriblTCP](../models/inputresponsetypecribltcp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -27,7 +27,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | | `auth_tokens` | List[[models.AuthTokenConfInputCriblTCP](../models/authtokenconfinputcribltcp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputcrowdstrike.md b/docs/models/inputresponseinputcrowdstrike.md index 3bb51358b..dd2bdc0f0 100644 --- a/docs/models/inputresponseinputcrowdstrike.md +++ b/docs/models/inputresponseinputcrowdstrike.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeCrowdstrike](../models/inputresponsetypecrowdstrike.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -43,7 +43,7 @@ | `checkpointing` | [Optional[models.CheckpointingType]](../models/checkpointingtype.md) | :heavy_minus_sign: | N/A | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputresponseinputdatadogagent.md b/docs/models/inputresponseinputdatadogagent.md index 65a16bc62..3683fe7aa 100644 --- a/docs/models/inputresponseinputdatadogagent.md +++ b/docs/models/inputresponseinputdatadogagent.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeDatadogAgent](../models/inputresponsetypedatadogagent.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeDatadogAgent](../models/inputresponsetypedatadogagent.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -33,7 +33,7 @@ | `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Toggle to Yes to extract each incoming metric to multiple events, one per data point. This works well when sending metrics to a statsd-type output. If sending metrics to DatadogHQ or any destination that accepts arbitrary JSON, leave toggled to No (the default). | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `proxy_mode` | [Optional[models.InputResponseProxyModeDatadogAgent]](../models/inputresponseproxymodedatadogagent.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputdatagen.md b/docs/models/inputresponseinputdatagen.md index 9041ca5a7..502bcc7af 100644 --- a/docs/models/inputresponseinputdatagen.md +++ b/docs/models/inputresponseinputdatagen.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeDatagen](../models/inputresponsetypedatagen.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -18,7 +18,7 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `samples` | List[[models.InputResponseSample](../models/inputresponsesample.md)] | :heavy_check_mark: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputedgeprometheus.md b/docs/models/inputresponseinputedgeprometheus.md index 6f9a785bd..1e3fa978c 100644 --- a/docs/models/inputresponseinputedgeprometheus.md +++ b/docs/models/inputresponseinputedgeprometheus.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeEdgePrometheus](../models/inputresponsetypeedgeprometheus.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -24,7 +24,7 @@ | `persistence` | [Optional[models.DiskSpoolingType]](../models/diskspoolingtype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_type` | [Optional[models.InputResponseAuthenticationMethodEdgePrometheus]](../models/inputresponseauthenticationmethodedgeprometheus.md) | :heavy_minus_sign: | Enter credentials directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `targets` | List[[models.InputResponseTarget](../models/inputresponsetarget.md)] | :heavy_minus_sign: | N/A | | `record_type` | [Optional[models.RecordTypeOptions]](../models/recordtypeoptions.md) | :heavy_minus_sign: | DNS record type to resolve | | `scrape_port` | *Optional[float]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets. | diff --git a/docs/models/inputresponseinputelastic.md b/docs/models/inputresponseinputelastic.md index 0d8e941e1..48cd2ca91 100644 --- a/docs/models/inputresponseinputelastic.md +++ b/docs/models/inputresponseinputelastic.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeElastic](../models/inputresponsetypeelastic.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeElastic](../models/inputresponsetypeelastic.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `proxy_mode` | [Optional[models.InputResponseProxyModeElastic]](../models/inputresponseproxymodeelastic.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/inputresponseinputeventhub.md b/docs/models/inputresponseinputeventhub.md index a126b8a4a..b75afa90d 100644 --- a/docs/models/inputresponseinputeventhub.md +++ b/docs/models/inputresponseinputeventhub.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeEventhub](../models/inputresponsetypeeventhub.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -40,7 +40,7 @@ | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `minimize_duplicates` | *Optional[bool]* | :heavy_minus_sign: | Minimize duplicate events by starting only one consumer for each topic partition | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/inputresponseinputeventhubamqp.md b/docs/models/inputresponseinputeventhubamqp.md index e333f24b8..ffdd8012e 100644 --- a/docs/models/inputresponseinputeventhubamqp.md +++ b/docs/models/inputresponseinputeventhubamqp.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeEventhubAmqp](../models/inputresponsetypeeventhubamqp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `connection_max_backoff` | *Optional[int]* | :heavy_minus_sign: | Maximum delay between reconnection attempts, in milliseconds | | `connection_timeout_in_ms` | *Optional[int]* | :heavy_minus_sign: | Maximum time to wait for a connection to complete | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputexec.md b/docs/models/inputresponseinputexec.md index f673981da..a533ec37e 100644 --- a/docs/models/inputresponseinputexec.md +++ b/docs/models/inputresponseinputexec.md @@ -23,7 +23,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `interval` | *Optional[float]* | :heavy_minus_sign: | Interval between command executions in seconds. | | `cron_schedule` | *Optional[str]* | :heavy_minus_sign: | Cron schedule to execute the command on. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputresponseinputfile.md b/docs/models/inputresponseinputfile.md index 5f8ef38f5..8529ff2c6 100644 --- a/docs/models/inputresponseinputfile.md +++ b/docs/models/inputresponseinputfile.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseInputFileType](../models/inputresponseinputfiletype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,7 +31,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `disable_stale_channel_flush` | *Optional[bool]* | :heavy_minus_sign: | When enabled, no Event Breaker channel flush timeout applies and the timeout below is ignored. Prefer this option when using header-based breakers for file types such as CSV or IIS. | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `path` | *Optional[str]* | :heavy_minus_sign: | Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/). | | `depth` | *Optional[float]* | :heavy_minus_sign: | Set how many subdirectories deep to search. Use 0 to search only files in the given path, 1 to also look in its immediate subdirectories, etc. Leave it empty for unlimited depth. | | `suppress_missing_path_errors` | *Optional[bool]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputresponseinputfirehose.md b/docs/models/inputresponseinputfirehose.md index 1750bae17..b749394d3 100644 --- a/docs/models/inputresponseinputfirehose.md +++ b/docs/models/inputresponseinputfirehose.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeFirehose](../models/inputresponsetypefirehose.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeFirehose](../models/inputresponsetypefirehose.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -32,7 +32,7 @@ | `ip_allowlist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be processed, unless also matched by the denylist | | `ip_denylist_regex` | *Optional[str]* | :heavy_minus_sign: | Messages from matched IP addresses will be ignored. This takes precedence over the allowlist. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputgooglepubsub.md b/docs/models/inputresponseinputgooglepubsub.md index 86be2fa45..b26b9603a 100644 --- a/docs/models/inputresponseinputgooglepubsub.md +++ b/docs/models/inputresponseinputgooglepubsub.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeGooglePubsub](../models/inputresponsetypegooglepubsub.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `concurrency` | *Optional[float]* | :heavy_minus_sign: | How many streams to pull messages from at one time. Doubling the value doubles the number of messages this Source pulls from the topic (if available), while consuming more CPU and memory. Defaults to 5. | | `request_timeout` | *Optional[float]* | :heavy_minus_sign: | Pull request timeout, in milliseconds | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `ordered_delivery` | *Optional[bool]* | :heavy_minus_sign: | Receive events in the order they were added to the queue. The process sending events must have ordering enabled. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/inputresponseinputgrafanagrafana1.md b/docs/models/inputresponseinputgrafanagrafana1.md index 328e8c693..ea6842793 100644 --- a/docs/models/inputresponseinputgrafanagrafana1.md +++ b/docs/models/inputresponseinputgrafanagrafana1.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseInputGrafanaType1](../models/inputresponseinputgrafanatype1.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseInputGrafanaType1](../models/inputresponseinputgrafanatype1.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `prometheus_auth` | [Optional[models.InputResponsePrometheusAuth1]](../models/inputresponseprometheusauth1.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.InputResponseLokiAuth1]](../models/inputresponselokiauth1.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputgrafanagrafana2.md b/docs/models/inputresponseinputgrafanagrafana2.md index 4c6a186d6..9c81c7222 100644 --- a/docs/models/inputresponseinputgrafanagrafana2.md +++ b/docs/models/inputresponseinputgrafanagrafana2.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseInputGrafanaType2](../models/inputresponseinputgrafanatype2.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseInputGrafanaType2](../models/inputresponseinputgrafanatype2.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `prometheus_auth` | [Optional[models.InputResponsePrometheusAuth2]](../models/inputresponseprometheusauth2.md) | :heavy_minus_sign: | N/A | | `loki_auth` | [Optional[models.InputResponseLokiAuth2]](../models/inputresponselokiauth2.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputgrafanatype1.md b/docs/models/inputresponseinputgrafanatype1.md index 7c46f2479..41b2ec8e8 100644 --- a/docs/models/inputresponseinputgrafanatype1.md +++ b/docs/models/inputresponseinputgrafanatype1.md @@ -1,5 +1,7 @@ # InputResponseInputGrafanaType1 +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponseinputgrafanatype2.md b/docs/models/inputresponseinputgrafanatype2.md index 36b5efa76..9c8c2adee 100644 --- a/docs/models/inputresponseinputgrafanatype2.md +++ b/docs/models/inputresponseinputgrafanatype2.md @@ -1,5 +1,7 @@ # InputResponseInputGrafanaType2 +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponseinputhttp.md b/docs/models/inputresponseinputhttp.md index d1ed48940..4abbb6933 100644 --- a/docs/models/inputresponseinputhttp.md +++ b/docs/models/inputresponseinputhttp.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeHTTP](../models/inputresponsetypehttp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeHTTP](../models/inputresponsetypehttp.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `splunk_hec_acks` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputhttpraw.md b/docs/models/inputresponseinputhttpraw.md index 7c203e0bd..46126af0b 100644 --- a/docs/models/inputresponseinputhttpraw.md +++ b/docs/models/inputresponseinputhttpraw.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeHTTPRaw](../models/inputresponsetypehttpraw.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeHTTPRaw](../models/inputresponsetypehttpraw.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `allowed_paths` | List[*str*] | :heavy_minus_sign: | List of URI paths accepted by this input, wildcards are supported, e.g /api/v*/hook. Defaults to allow all. | | `allowed_methods` | List[*str*] | :heavy_minus_sign: | List of HTTP methods accepted by this input. Wildcards are supported (such as P*, GET). Defaults to allow all. | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputjournalfiles.md b/docs/models/inputresponseinputjournalfiles.md index b64ca0119..3033722c3 100644 --- a/docs/models/inputresponseinputjournalfiles.md +++ b/docs/models/inputresponseinputjournalfiles.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseInputJournalFilesType](../models/inputresponseinputjournalfilestype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -24,7 +24,7 @@ | `max_age_dur` | *Optional[str]* | :heavy_minus_sign: | The maximum log message age, in duration form (e.g,: 60s, 4h, 3d, 1w). Default of no value will apply no max age filters. | | `suppress_missing_path_errors` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputkafka.md b/docs/models/inputresponseinputkafka.md index a63c64bb6..990232a78 100644 --- a/docs/models/inputresponseinputkafka.md +++ b/docs/models/inputresponseinputkafka.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeKafka](../models/inputresponsetypekafka.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -40,7 +40,7 @@ | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_brokers` | *Optional[str]* | :heavy_minus_sign: | Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime. | diff --git a/docs/models/inputresponseinputkinesis.md b/docs/models/inputresponseinputkinesis.md index 18d27354e..c90cd6225 100644 --- a/docs/models/inputresponseinputkinesis.md +++ b/docs/models/inputresponseinputkinesis.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeKinesis](../models/inputresponsetypekinesis.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `verify_kpl_check_sums` | *Optional[bool]* | :heavy_minus_sign: | Verify Kinesis Producer Library (KPL) event checksums | | `avoid_duplicates` | *Optional[bool]* | :heavy_minus_sign: | When resuming streaming from a stored state, Stream will read the next available record, rather than rereading the last-read record. Enabling this setting can cause data loss after a Worker Node's unexpected shutdown or restart. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputresponseinputkubeevents.md b/docs/models/inputresponseinputkubeevents.md index cdfe60671..0cc8b8ae5 100644 --- a/docs/models/inputresponseinputkubeevents.md +++ b/docs/models/inputresponseinputkubeevents.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeKubeEvents](../models/inputresponsetypekubeevents.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -18,7 +18,7 @@ | `pq` | [Optional[models.PqType]](../models/pqtype.md) | :heavy_minus_sign: | N/A | | `rules` | List[[models.RuleConfInputKubeMetrics](../models/ruleconfinputkubemetrics.md)] | :heavy_minus_sign: | Filtering on event fields | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputkubelogs.md b/docs/models/inputresponseinputkubelogs.md index afec39eb8..4c9edfecc 100644 --- a/docs/models/inputresponseinputkubelogs.md +++ b/docs/models/inputresponseinputkubelogs.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeKubeLogs](../models/inputresponsetypekubelogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -26,7 +26,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputkubemetrics.md b/docs/models/inputresponseinputkubemetrics.md index bf6291082..936356378 100644 --- a/docs/models/inputresponseinputkubemetrics.md +++ b/docs/models/inputresponseinputkubemetrics.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeKubeMetrics](../models/inputresponsetypekubemetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -22,7 +22,7 @@ | `rules` | List[[models.RuleConfInputKubeMetrics](../models/ruleconfinputkubemetrics.md)] | :heavy_minus_sign: | Add rules to decide which Kubernetes objects to generate metrics for. Events are generated if no rules are given or of all the rules' expressions evaluate to true. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.InputResponsePersistenceKubeMetrics]](../models/inputresponsepersistencekubemetrics.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputloki.md b/docs/models/inputresponseinputloki.md index 87c615194..190eb1d38 100644 --- a/docs/models/inputresponseinputloki.md +++ b/docs/models/inputresponseinputloki.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeLoki](../models/inputresponsetypeloki.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeLoki](../models/inputresponsetypeloki.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -33,7 +33,7 @@ | `loki_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'. | | `auth_type` | [Optional[models.AuthenticationTypeOptionsLokiAuth]](../models/authenticationtypeoptionslokiauth.md) | :heavy_minus_sign: | Loki logs authentication type | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/inputresponseinputmetrics.md b/docs/models/inputresponseinputmetrics.md index 3c4232b2f..7683ba127 100644 --- a/docs/models/inputresponseinputmetrics.md +++ b/docs/models/inputresponseinputmetrics.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeMetrics](../models/inputresponsetypemetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -25,7 +25,7 @@ | `tls` | [Optional[models.TLSSettingsServerSideType]](../models/tlssettingsserversidetype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputmicrosoftgraph.md b/docs/models/inputresponseinputmicrosoftgraph.md index 707ccc827..36ac06e7a 100644 --- a/docs/models/inputresponseinputmicrosoftgraph.md +++ b/docs/models/inputresponseinputmicrosoftgraph.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeMicrosoftGraph](../models/inputresponsetypemicrosoftgraph.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `max_task_reschedule` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times a task can be rescheduled | | `log_level` | [Optional[models.LogLevelOptionsDebugError]](../models/logleveloptionsdebugerror.md) | :heavy_minus_sign: | Log Level (verbosity) for collection runtime behavior. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | client_secret to pass in the OAuth request parameter. | | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Directory ID (tenant identifier) in Azure Active Directory. | | `client_id` | *Optional[str]* | :heavy_minus_sign: | client_id to pass in the OAuth request parameter. | diff --git a/docs/models/inputresponseinputmodeldriventelemetry.md b/docs/models/inputresponseinputmodeldriventelemetry.md index 1f9c51bc4..2479995e4 100644 --- a/docs/models/inputresponseinputmodeldriventelemetry.md +++ b/docs/models/inputresponseinputmodeldriventelemetry.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeModelDrivenTelemetry](../models/inputresponsetypemodeldriventelemetry.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -22,7 +22,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_active_cxn` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active connections allowed per Worker Process. Use 0 for unlimited. | | `shutdown_timeout_ms` | *Optional[float]* | :heavy_minus_sign: | Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputmsk.md b/docs/models/inputresponseinputmsk.md index 3a97c0c73..86a7e6616 100644 --- a/docs/models/inputresponseinputmsk.md +++ b/docs/models/inputresponseinputmsk.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeMsk](../models/inputresponsetypemsk.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -49,7 +49,7 @@ | `max_bytes_per_partition` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of data that Kafka will return per partition, per fetch request. Must equal or exceed the maximum message size (maxBytesPerPartition) that Kafka is configured to allow. Otherwise, @{product} can get stuck trying to retrieve messages. Defaults to 1048576 (1 MB). | | `max_bytes` | *Optional[float]* | :heavy_minus_sign: | Maximum number of bytes that Kafka will return per fetch request. Defaults to 10485760 (10 MB). | | `max_socket_errors` | *Optional[float]* | :heavy_minus_sign: | Maximum number of network errors before the consumer re-creates a socket | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputresponseinputnetflow.md b/docs/models/inputresponseinputnetflow.md index 7cc3940f2..5d9efebd5 100644 --- a/docs/models/inputresponseinputnetflow.md +++ b/docs/models/inputresponseinputnetflow.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeNetflow](../models/inputresponsetypenetflow.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -27,7 +27,7 @@ | `v9_enabled` | *Optional[bool]* | :heavy_minus_sign: | Accept messages in Netflow V9 format. | | `ipfix_enabled` | *Optional[bool]* | :heavy_minus_sign: | Accept messages in IPFIX format. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputoffice365mgmt.md b/docs/models/inputresponseinputoffice365mgmt.md index f0a0b281e..103c35b6f 100644 --- a/docs/models/inputresponseinputoffice365mgmt.md +++ b/docs/models/inputresponseinputoffice365mgmt.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeOffice365Mgmt](../models/inputresponsetypeoffice365mgmt.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,7 +31,7 @@ | `ingestion_lag` | *Optional[float]* | :heavy_minus_sign: | Use this setting to account for ingestion lag. This is necessary because there can be a lag of 60 - 90 minutes (or longer) before Microsoft 365 events are available for retrieval. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | Microsoft 365 Azure client secret | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputresponseinputoffice365msgtrace.md b/docs/models/inputresponseinputoffice365msgtrace.md index f3ef36187..e8257c755 100644 --- a/docs/models/inputresponseinputoffice365msgtrace.md +++ b/docs/models/inputresponseinputoffice365msgtrace.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeOffice365MsgTrace](../models/inputresponsetypeoffice365msgtrace.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -33,7 +33,7 @@ | `max_task_reschedule` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times a task can be rescheduled | | `log_level` | [Optional[models.LogLevelOptionsDebugError]](../models/logleveloptionsdebugerror.md) | :heavy_minus_sign: | Log Level (verbosity) for collection runtime behavior. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | Username to run Message Trace API call. | | `password` | *Optional[str]* | :heavy_minus_sign: | Password to run Message Trace API call. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials. | diff --git a/docs/models/inputresponseinputoffice365service.md b/docs/models/inputresponseinputoffice365service.md index 53fe56119..81c059825 100644 --- a/docs/models/inputresponseinputoffice365service.md +++ b/docs/models/inputresponseinputoffice365service.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeOffice365Service](../models/inputresponsetypeoffice365service.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `content_config` | List[[models.InputResponseContentConfigOffice365Service](../models/inputresponsecontentconfigoffice365service.md)] | :heavy_minus_sign: | Enable Microsoft 365 Service Communication API content types and polling intervals. Polling intervals are used to set up search date range and cron schedule, e.g.: */${interval} * * * *. Because of this, intervals entered for current and historical status must be evenly divisible by 60 to give a predictable schedule. | | `retry_rules` | [Optional[models.RetryRulesTypeCodesEnableHeader]](../models/retryrulestypecodesenableheader.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | Microsoft 365 Azure client secret | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputresponseinputokta.md b/docs/models/inputresponseinputokta.md index 69b890a11..1f28c7529 100644 --- a/docs/models/inputresponseinputokta.md +++ b/docs/models/inputresponseinputokta.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeOkta](../models/inputresponsetypeokta.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_okta_domain` | *Optional[str]* | :heavy_minus_sign: | Binds 'oktaDomain' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oktaDomain' at runtime. | diff --git a/docs/models/inputresponseinputopenai.md b/docs/models/inputresponseinputopenai.md index cb0c81fd6..8932eba96 100644 --- a/docs/models/inputresponseinputopenai.md +++ b/docs/models/inputresponseinputopenai.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeOpenai](../models/inputresponsetypeopenai.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_openai_organization` | *Optional[str]* | :heavy_minus_sign: | Binds 'openaiOrganization' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'openaiOrganization' at runtime. | diff --git a/docs/models/inputresponseinputopenaicompliancelogs.md b/docs/models/inputresponseinputopenaicompliancelogs.md index 0c1ec9af7..08714cfee 100644 --- a/docs/models/inputresponseinputopenaicompliancelogs.md +++ b/docs/models/inputresponseinputopenaicompliancelogs.md @@ -7,7 +7,7 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeOpenaiComplianceLogs](../models/inputresponsetypeopenaicompliancelogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `workspace_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the ChatGPT workspace to collect logs from (UUID format) | | `workspace_event_types` | List[*str*] | :heavy_minus_sign: | One or more compliance log categories to collect | | `organization_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the OpenAI API Platform Organization (example: org-XXXXXXXXXXXXXXXXXXXXXXXX) | diff --git a/docs/models/inputresponseinputopentelemetry.md b/docs/models/inputresponseinputopentelemetry.md index d53f73c72..e29d70ea9 100644 --- a/docs/models/inputresponseinputopentelemetry.md +++ b/docs/models/inputresponseinputopentelemetry.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeOpenTelemetry](../models/inputresponsetypeopentelemetry.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeOpenTelemetry](../models/inputresponsetypeopentelemetry.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `auth_methods_ext` | List[[models.InputResponseAuthMethodsExt](../models/inputresponseauthmethodsext.md)] | :heavy_minus_sign: | Shared secrets to authenticate clients. Supports Bearer tokens and Basic auth. If empty, unauthenticated access is permitted. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_active_cxn` | *Optional[float]* | :heavy_minus_sign: | Maximum number of active connections allowed per Worker Process. Use 0 for unlimited. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/inputresponseinputprometheus.md b/docs/models/inputresponseinputprometheus.md index 7a68b0ec0..2862dd72a 100644 --- a/docs/models/inputresponseinputprometheus.md +++ b/docs/models/inputresponseinputprometheus.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypePrometheus](../models/inputresponsetypeprometheus.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `auth_type` | [Optional[models.AuthenticationMethodOptionsSasl]](../models/authenticationmethodoptionssasl.md) | :heavy_minus_sign: | Enter credentials directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `target_list` | List[*str*] | :heavy_minus_sign: | 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'. | | `record_type` | [Optional[models.RecordTypeOptions]](../models/recordtypeoptions.md) | :heavy_minus_sign: | DNS record type to resolve | | `scrape_port` | *Optional[float]* | :heavy_minus_sign: | The port number in the metrics URL for discovered targets | diff --git a/docs/models/inputresponseinputprometheusrw.md b/docs/models/inputresponseinputprometheusrw.md index df36442de..fbed40a42 100644 --- a/docs/models/inputresponseinputprometheusrw.md +++ b/docs/models/inputresponseinputprometheusrw.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypePrometheusRw](../models/inputresponsetypeprometheusrw.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypePrometheusRw](../models/inputresponsetypeprometheusrw.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -33,7 +33,7 @@ | `prometheus_api` | *str* | :heavy_check_mark: | Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://:/write. | | `auth_type` | [Optional[models.AuthenticationTypeOptionsPrometheusAuth]](../models/authenticationtypeoptionsprometheusauth.md) | :heavy_minus_sign: | Remote Write authentication type | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/inputresponseinputrawudp.md b/docs/models/inputresponseinputrawudp.md index 3d6f36cf1..5adbf9949 100644 --- a/docs/models/inputresponseinputrawudp.md +++ b/docs/models/inputresponseinputrawudp.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeRawUDP](../models/inputresponsetyperawudp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -24,7 +24,7 @@ | `ingest_raw_bytes` | *Optional[bool]* | :heavy_minus_sign: | If true, a __rawBytes field will be added to each event containing the raw bytes of the datagram. | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputs3.md b/docs/models/inputresponseinputs3.md index 0934e0b21..8a6add492 100644 --- a/docs/models/inputresponseinputs3.md +++ b/docs/models/inputresponseinputs3.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeS3](../models/inputresponsetypes3.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -46,7 +46,7 @@ | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | | `tag_after_processing` | *Optional[bool]* | :heavy_minus_sign: | Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `processed_tag_key` | *Optional[str]* | :heavy_minus_sign: | The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | diff --git a/docs/models/inputresponseinputs3inventory.md b/docs/models/inputresponseinputs3inventory.md index da9047dfc..5ce1bea13 100644 --- a/docs/models/inputresponseinputs3inventory.md +++ b/docs/models/inputresponseinputs3inventory.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeS3Inventory](../models/inputresponsetypes3inventory.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -47,7 +47,7 @@ | `checksum_suffix` | *Optional[str]* | :heavy_minus_sign: | Filename suffix of the manifest checksum file. If a filename matching this suffix is received in the queue, the matching manifest file will be downloaded and validated against its value. Defaults to "checksum" | | `max_manifest_size_kb` | *Optional[int]* | :heavy_minus_sign: | Maximum download size (KB) of each manifest or checksum file. Manifest files larger than this size will not be read. Defaults to 4096. | | `validate_inventory_files` | *Optional[bool]* | :heavy_minus_sign: | If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputresponseinputsecuritylake.md b/docs/models/inputresponseinputsecuritylake.md index 2ee653947..2c02d05c4 100644 --- a/docs/models/inputresponseinputsecuritylake.md +++ b/docs/models/inputresponseinputsecuritylake.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeSecurityLake](../models/inputresponsetypesecuritylake.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -45,7 +45,7 @@ | `checkpointing` | [Optional[models.CheckpointingType]](../models/checkpointingtype.md) | :heavy_minus_sign: | N/A | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputresponseinputservicenowtable.md b/docs/models/inputresponseinputservicenowtable.md index 86d12d6ef..f3cdfb8d1 100644 --- a/docs/models/inputresponseinputservicenowtable.md +++ b/docs/models/inputresponseinputservicenowtable.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeServicenowTable](../models/inputresponsetypeservicenowtable.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -40,7 +40,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | | `oauth_grant_type` | [Optional[models.InputResponseGrantType]](../models/inputresponsegranttype.md) | :heavy_minus_sign: | ServiceNow OAuth grant type used for token requests | | `username` | *Optional[str]* | :heavy_minus_sign: | ServiceNow username for the password grant type | diff --git a/docs/models/inputresponseinputsnmp.md b/docs/models/inputresponseinputsnmp.md index 327050980..a8c55b010 100644 --- a/docs/models/inputresponseinputsnmp.md +++ b/docs/models/inputresponseinputsnmp.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeSnmp](../models/inputresponsetypesnmp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -25,7 +25,7 @@ | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `varbinds_with_types` | *Optional[bool]* | :heavy_minus_sign: | If enabled, parses varbinds as an array of objects that include OID, value, and type | | `best_effort_parsing` | *Optional[bool]* | :heavy_minus_sign: | If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputsplunk.md b/docs/models/inputresponseinputsplunk.md index e67aec822..bf10214a6 100644 --- a/docs/models/inputresponseinputsplunk.md +++ b/docs/models/inputresponseinputsplunk.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeSplunk](../models/inputresponsetypesplunk.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `auth_tokens` | List[[models.InputResponseAuthTokenSplunk](../models/inputresponseauthtokensplunk.md)] | :heavy_minus_sign: | Shared secrets to be provided by any Splunk forwarder. If empty, unauthorized access is permitted. | | `max_s2_sversion` | [Optional[models.InputResponseMaxS2SVersion]](../models/inputresponsemaxs2sversion.md) | :heavy_minus_sign: | The highest S2S protocol version to advertise during handshake | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `use_fwd_timezone` | *Optional[bool]* | :heavy_minus_sign: | Event Breakers will determine events' time zone from UF-provided metadata, when TZ can't be inferred from the raw event | | `drop_control_fields` | *Optional[bool]* | :heavy_minus_sign: | Drop Splunk control fields such as `crcSalt` and `_savedPort`. If disabled, control fields are stored in the internal field `__ctrlFields`. | | `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Extract and process Splunk-generated metrics as Cribl metrics | diff --git a/docs/models/inputresponseinputsplunkhec.md b/docs/models/inputresponseinputsplunkhec.md index 4940f9ea8..6a454aacc 100644 --- a/docs/models/inputresponseinputsplunkhec.md +++ b/docs/models/inputresponseinputsplunkhec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeSplunkHec](../models/inputresponsetypesplunkhec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeSplunkHec](../models/inputresponsetypesplunkhec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -42,7 +42,7 @@ | `access_control_allow_origin` | List[*str*] | :heavy_minus_sign: | Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards. | | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | Optionally, list HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputsplunksearch.md b/docs/models/inputresponseinputsplunksearch.md index d5b3bb79b..bb601086f 100644 --- a/docs/models/inputresponseinputsplunksearch.md +++ b/docs/models/inputresponseinputsplunksearch.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeSplunkSearch](../models/inputresponsetypesplunksearch.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -40,7 +40,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `auth_type` | [models.InputResponseAuthenticationTypeSplunkSearch](../models/inputresponseauthenticationtypesplunksearch.md) | :heavy_check_mark: | Splunk Search authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/inputresponseinputsqs.md b/docs/models/inputresponseinputsqs.md index 26f04228c..0d8f5776d 100644 --- a/docs/models/inputresponseinputsqs.md +++ b/docs/models/inputresponseinputsqs.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeSqs](../models/inputresponsetypesqs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `visibility_timeout` | *Optional[float]* | :heavy_minus_sign: | After messages are retrieved by a ReceiveMessage request, @{product} will hide them from subsequent retrieve requests for at least this duration. You can set this as high as 43200 sec. (12 hours). | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `num_receivers` | *Optional[float]* | :heavy_minus_sign: | How many receiver processes to run. The higher the number, the better the throughput - at the expense of CPU overhead. | diff --git a/docs/models/inputresponseinputsysdighec.md b/docs/models/inputresponseinputsysdighec.md index 63030fea5..35c906488 100644 --- a/docs/models/inputresponseinputsysdighec.md +++ b/docs/models/inputresponseinputsysdighec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeSysdigHec](../models/inputresponsetypesysdighec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeSysdigHec](../models/inputresponsetypesysdighec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `access_control_allow_origin` | List[*str*] | :heavy_minus_sign: | HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards. | | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputsyslogsyslog1.md b/docs/models/inputresponseinputsyslogsyslog1.md index 183a15185..95a23dc75 100644 --- a/docs/models/inputresponseinputsyslogsyslog1.md +++ b/docs/models/inputresponseinputsyslogsyslog1.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseInputSyslogType1](../models/inputresponseinputsyslogtype1.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `enable_enhanced_proxy_header_parsing` | *Optional[bool]* | :heavy_minus_sign: | When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/inputresponseinputsyslogsyslog2.md b/docs/models/inputresponseinputsyslogsyslog2.md index eac4b22d9..994575a6c 100644 --- a/docs/models/inputresponseinputsyslogsyslog2.md +++ b/docs/models/inputresponseinputsyslogsyslog2.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseInputSyslogType2](../models/inputresponseinputsyslogtype2.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `enable_enhanced_proxy_header_parsing` | *Optional[bool]* | :heavy_minus_sign: | When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/inputresponseinputsystemmetrics.md b/docs/models/inputresponseinputsystemmetrics.md index 93ed6f76f..44bc41dd6 100644 --- a/docs/models/inputresponseinputsystemmetrics.md +++ b/docs/models/inputresponseinputsystemmetrics.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeSystemMetrics](../models/inputresponsetypesystemmetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `gpu` | [Optional[models.GpuType]](../models/gputype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.InputResponsePersistenceSystemMetrics]](../models/inputresponsepersistencesystemmetrics.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputsystemstate.md b/docs/models/inputresponseinputsystemstate.md index 3bf1d1038..cff38fbdb 100644 --- a/docs/models/inputresponseinputsystemstate.md +++ b/docs/models/inputresponseinputsystemstate.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeSystemState](../models/inputresponsetypesystemstate.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -22,7 +22,7 @@ | `persistence` | [Optional[models.InputResponsePersistenceSystemState]](../models/inputresponsepersistencesystemstate.md) | :heavy_minus_sign: | N/A | | `disable_native_module` | *Optional[bool]* | :heavy_minus_sign: | Enable to use built-in tools (PowerShell) to collect events instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab) | | `disable_native_last_log_module` | *Optional[bool]* | :heavy_minus_sign: | Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputtcp.md b/docs/models/inputresponseinputtcp.md index 1fba7b947..f361e9b8d 100644 --- a/docs/models/inputresponseinputtcp.md +++ b/docs/models/inputresponseinputtcp.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeTCP](../models/inputresponsetypetcp.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `enable_header` | *Optional[bool]* | :heavy_minus_sign: | Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { "authToken" : "myToken", "fields": { "field1": "value1", "field2": "value2" } } | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted. | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/inputresponseinputtcpjson.md b/docs/models/inputresponseinputtcpjson.md index defa07f93..ff9869171 100644 --- a/docs/models/inputresponseinputtcpjson.md +++ b/docs/models/inputresponseinputtcpjson.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeTcpjson](../models/inputresponsetypetcpjson.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -28,7 +28,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputresponseinputwef.md b/docs/models/inputresponseinputwef.md index 78a9b3386..ddd880040 100644 --- a/docs/models/inputresponseinputwef.md +++ b/docs/models/inputresponseinputwef.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeWef](../models/inputresponsetypewef.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `allow_machine_id_mismatch` | *Optional[bool]* | :heavy_minus_sign: | Allow events to be ingested even if their MachineID does not match the client certificate CN | | `subscriptions` | List[[models.InputResponseSubscription](../models/inputresponsesubscription.md)] | :heavy_check_mark: | Subscriptions to events on forwarding endpoints | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `log_fingerprint_mismatch` | *Optional[bool]* | :heavy_minus_sign: | Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/inputresponseinputwindowsmetrics.md b/docs/models/inputresponseinputwindowsmetrics.md index ea1d165b0..1cec68ef1 100644 --- a/docs/models/inputresponseinputwindowsmetrics.md +++ b/docs/models/inputresponseinputwindowsmetrics.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeWindowsMetrics](../models/inputresponsetypewindowsmetrics.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.InputResponsePersistenceWindowsMetrics]](../models/inputresponsepersistencewindowsmetrics.md) | :heavy_minus_sign: | N/A | | `disable_native_module` | *Optional[bool]* | :heavy_minus_sign: | Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Source. | diff --git a/docs/models/inputresponseinputwineventlogs.md b/docs/models/inputresponseinputwineventlogs.md index 53bf52f38..58ee0555b 100644 --- a/docs/models/inputresponseinputwineventlogs.md +++ b/docs/models/inputresponseinputwineventlogs.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeWinEventLogs](../models/inputresponsetypewineventlogs.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -24,7 +24,7 @@ | `batch_size` | *Optional[float]* | :heavy_minus_sign: | The maximum number of events to read in one polling interval. A batch size higher than 500 can cause delays when pulling from multiple event logs. (Applicable for pre-4.8.0 nodes that use Windows Tools) | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_event_bytes` | *Optional[int]* | :heavy_minus_sign: | The maximum number of bytes in an event before it is flushed to the pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `disable_json_rendering` | *Optional[bool]* | :heavy_minus_sign: | Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API) | | `disable_xml_rendering` | *Optional[bool]* | :heavy_minus_sign: | Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API) | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputresponseinputwiz.md b/docs/models/inputresponseinputwiz.md index 1f4324fce..f2e30a285 100644 --- a/docs/models/inputresponseinputwiz.md +++ b/docs/models/inputresponseinputwiz.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputResponseTypeWiz](../models/inputresponsetypewiz.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -31,7 +31,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | The client secret of the Wiz application | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputresponseinputwizwebhook.md b/docs/models/inputresponseinputwizwebhook.md index f4126f389..31e06fc22 100644 --- a/docs/models/inputresponseinputwizwebhook.md +++ b/docs/models/inputresponseinputwizwebhook.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeWizWebhook](../models/inputresponsetypewizwebhook.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeWizWebhook](../models/inputresponsetypewizwebhook.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `allowed_paths` | List[*str*] | :heavy_minus_sign: | List of URI paths accepted by this input. Wildcards are supported (such as /api/v*/hook). Defaults to allow all. | | `allowed_methods` | List[*str*] | :heavy_minus_sign: | List of HTTP methods accepted by this input. Wildcards are supported (such as P*, GET). Defaults to allow all. | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponseinputzscalerhec.md b/docs/models/inputresponseinputzscalerhec.md index 6d82ec48f..dfd6274a7 100644 --- a/docs/models/inputresponseinputzscalerhec.md +++ b/docs/models/inputresponseinputzscalerhec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputResponseTypeZscalerHec](../models/inputresponsetypezscalerhec.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputResponseTypeZscalerHec](../models/inputresponsetypezscalerhec.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -37,7 +37,7 @@ | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | | `hec_acks` | *Optional[bool]* | :heavy_minus_sign: | Whether to enable Zscaler HEC acknowledgements | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputresponsetypecloudflarehec.md b/docs/models/inputresponsetypecloudflarehec.md index 95bbbffba..049e0cb9a 100644 --- a/docs/models/inputresponsetypecloudflarehec.md +++ b/docs/models/inputresponsetypecloudflarehec.md @@ -1,5 +1,7 @@ # InputResponseTypeCloudflareHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypecriblhttp.md b/docs/models/inputresponsetypecriblhttp.md index 0a2ce976e..96f984242 100644 --- a/docs/models/inputresponsetypecriblhttp.md +++ b/docs/models/inputresponsetypecriblhttp.md @@ -1,5 +1,7 @@ # InputResponseTypeCriblHTTP +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypecribllakehttp.md b/docs/models/inputresponsetypecribllakehttp.md index 164f7314f..ab7d8c66f 100644 --- a/docs/models/inputresponsetypecribllakehttp.md +++ b/docs/models/inputresponsetypecribllakehttp.md @@ -1,5 +1,7 @@ # InputResponseTypeCriblLakeHTTP +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypedatadogagent.md b/docs/models/inputresponsetypedatadogagent.md index ce99f5813..eef5c470c 100644 --- a/docs/models/inputresponsetypedatadogagent.md +++ b/docs/models/inputresponsetypedatadogagent.md @@ -1,5 +1,7 @@ # InputResponseTypeDatadogAgent +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypeelastic.md b/docs/models/inputresponsetypeelastic.md index 72b5ec26d..4fbb63b88 100644 --- a/docs/models/inputresponsetypeelastic.md +++ b/docs/models/inputresponsetypeelastic.md @@ -1,5 +1,7 @@ # InputResponseTypeElastic +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypefirehose.md b/docs/models/inputresponsetypefirehose.md index 7966384aa..677ca283d 100644 --- a/docs/models/inputresponsetypefirehose.md +++ b/docs/models/inputresponsetypefirehose.md @@ -1,5 +1,7 @@ # InputResponseTypeFirehose +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypehttp.md b/docs/models/inputresponsetypehttp.md index 325391cad..b5ca392ae 100644 --- a/docs/models/inputresponsetypehttp.md +++ b/docs/models/inputresponsetypehttp.md @@ -1,5 +1,7 @@ # InputResponseTypeHTTP +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypehttpraw.md b/docs/models/inputresponsetypehttpraw.md index 16cbcf9bb..313f26009 100644 --- a/docs/models/inputresponsetypehttpraw.md +++ b/docs/models/inputresponsetypehttpraw.md @@ -1,5 +1,7 @@ # InputResponseTypeHTTPRaw +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypeloki.md b/docs/models/inputresponsetypeloki.md index 37003cdfa..39ae07ea3 100644 --- a/docs/models/inputresponsetypeloki.md +++ b/docs/models/inputresponsetypeloki.md @@ -1,5 +1,7 @@ # InputResponseTypeLoki +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypeopentelemetry.md b/docs/models/inputresponsetypeopentelemetry.md index 4c2b8f857..3b593622b 100644 --- a/docs/models/inputresponsetypeopentelemetry.md +++ b/docs/models/inputresponsetypeopentelemetry.md @@ -1,5 +1,7 @@ # InputResponseTypeOpenTelemetry +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypeprometheusrw.md b/docs/models/inputresponsetypeprometheusrw.md index 8632d6518..7aeb0bc0c 100644 --- a/docs/models/inputresponsetypeprometheusrw.md +++ b/docs/models/inputresponsetypeprometheusrw.md @@ -1,5 +1,7 @@ # InputResponseTypePrometheusRw +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypesplunkhec.md b/docs/models/inputresponsetypesplunkhec.md index 1d2a566ef..9886e35b8 100644 --- a/docs/models/inputresponsetypesplunkhec.md +++ b/docs/models/inputresponsetypesplunkhec.md @@ -1,5 +1,7 @@ # InputResponseTypeSplunkHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypesysdighec.md b/docs/models/inputresponsetypesysdighec.md index 6db92234e..bf78a72db 100644 --- a/docs/models/inputresponsetypesysdighec.md +++ b/docs/models/inputresponsetypesysdighec.md @@ -1,5 +1,7 @@ # InputResponseTypeSysdigHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypewizwebhook.md b/docs/models/inputresponsetypewizwebhook.md index d030ca00b..fe004951b 100644 --- a/docs/models/inputresponsetypewizwebhook.md +++ b/docs/models/inputresponsetypewizwebhook.md @@ -1,5 +1,7 @@ # InputResponseTypeWizWebhook +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputresponsetypezscalerhec.md b/docs/models/inputresponsetypezscalerhec.md index ee487b859..7d51dd381 100644 --- a/docs/models/inputresponsetypezscalerhec.md +++ b/docs/models/inputresponsetypezscalerhec.md @@ -1,5 +1,7 @@ # InputResponseTypeZscalerHec +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputs3input.md b/docs/models/inputs3input.md index 1707337ab..86e2d725c 100644 --- a/docs/models/inputs3input.md +++ b/docs/models/inputs3input.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputS3Type](../models/inputs3type.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -45,7 +45,7 @@ | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | | `tag_after_processing` | *Optional[bool]* | :heavy_minus_sign: | Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `processed_tag_key` | *Optional[str]* | :heavy_minus_sign: | The key for the S3 object tag applied after processing. This field accepts an expression for dynamic generation. | diff --git a/docs/models/inputs3inventoryinput.md b/docs/models/inputs3inventoryinput.md index 5d6b2331e..25e2eafce 100644 --- a/docs/models/inputs3inventoryinput.md +++ b/docs/models/inputs3inventoryinput.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputS3InventoryType](../models/inputs3inventorytype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -46,7 +46,7 @@ | `checksum_suffix` | *Optional[str]* | :heavy_minus_sign: | Filename suffix of the manifest checksum file. If a filename matching this suffix is received in the queue, the matching manifest file will be downloaded and validated against its value. Defaults to "checksum" | | `max_manifest_size_kb` | *Optional[int]* | :heavy_minus_sign: | Maximum download size (KB) of each manifest or checksum file. Manifest files larger than this size will not be read. Defaults to 4096. | | `validate_inventory_files` | *Optional[bool]* | :heavy_minus_sign: | If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputsecuritylakeinput.md b/docs/models/inputsecuritylakeinput.md index 9204172d6..845ed894a 100644 --- a/docs/models/inputsecuritylakeinput.md +++ b/docs/models/inputsecuritylakeinput.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputSecurityLakeType](../models/inputsecuritylaketype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -44,7 +44,7 @@ | `checkpointing` | [Optional[models.CheckpointingType]](../models/checkpointingtype.md) | :heavy_minus_sign: | N/A | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | | `encoding` | *Optional[str]* | :heavy_minus_sign: | Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `tag_after_processing` | [Optional[models.TagAfterProcessingOptions]](../models/tagafterprocessingoptions.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/inputservicenowtableinput.md b/docs/models/inputservicenowtableinput.md index 22e501ea3..ed8e41454 100644 --- a/docs/models/inputservicenowtableinput.md +++ b/docs/models/inputservicenowtableinput.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputServicenowTableType](../models/inputservicenowtabletype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `ignore_group_jobs_limit` | *Optional[bool]* | :heavy_minus_sign: | When enabled, this job's artifacts are not counted toward the Worker Group's finished job artifacts limit. Artifacts will be removed only after the Collector's configured time to live. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | | `oauth_grant_type` | [Optional[models.InputServicenowTableGrantType]](../models/inputservicenowtablegranttype.md) | :heavy_minus_sign: | ServiceNow OAuth grant type used for token requests | | `username` | *Optional[str]* | :heavy_minus_sign: | ServiceNow username for the password grant type | diff --git a/docs/models/inputsnmpinput.md b/docs/models/inputsnmpinput.md index 20d950fc8..ea9c50ed2 100644 --- a/docs/models/inputsnmpinput.md +++ b/docs/models/inputsnmpinput.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputSnmpType](../models/inputsnmptype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -24,7 +24,7 @@ | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `varbinds_with_types` | *Optional[bool]* | :heavy_minus_sign: | If enabled, parses varbinds as an array of objects that include OID, value, and type | | `best_effort_parsing` | *Optional[bool]* | :heavy_minus_sign: | If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputsplunkhec.md b/docs/models/inputsplunkhec.md index 1db2d4a1c..d30580791 100644 --- a/docs/models/inputsplunkhec.md +++ b/docs/models/inputsplunkhec.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputSplunkHecType](../models/inputsplunkhectype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputSplunkHecType](../models/inputsplunkhectype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -42,7 +42,7 @@ | `access_control_allow_origin` | List[*str*] | :heavy_minus_sign: | Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards. | | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | Optionally, list HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputsplunkhecauthtoken.md b/docs/models/inputsplunkhecauthtoken.md index 60df38514..7da53e6ec 100644 --- a/docs/models/inputsplunkhecauthtoken.md +++ b/docs/models/inputsplunkhecauthtoken.md @@ -8,7 +8,7 @@ | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | | `token_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `token` | *str* | :heavy_check_mark: | Shared secret to be provided by any client (Authorization: ) | -| `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the token is active and can be used for authentication. | | `description` | *Optional[str]* | :heavy_minus_sign: | Optional token description | | `allowed_indexes_at_token` | List[*str*] | :heavy_minus_sign: | Enter the values you want to allow in the HEC event index field at the token level. Supports wildcards. To skip validation, leave blank. | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events referencing this token | \ No newline at end of file diff --git a/docs/models/inputsplunkhecinput.md b/docs/models/inputsplunkhecinput.md index 80baf9544..8c394bbb4 100644 --- a/docs/models/inputsplunkhecinput.md +++ b/docs/models/inputsplunkhecinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputSplunkHecType](../models/inputsplunkhectype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputSplunkHecType](../models/inputsplunkhectype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -41,7 +41,7 @@ | `access_control_allow_origin` | List[*str*] | :heavy_minus_sign: | Optionally, list HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards. | | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | Optionally, list HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputsplunkhectype.md b/docs/models/inputsplunkhectype.md index b32f54b98..658f2ea7a 100644 --- a/docs/models/inputsplunkhectype.md +++ b/docs/models/inputsplunkhectype.md @@ -1,5 +1,7 @@ # InputSplunkHecType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputsplunkinput.md b/docs/models/inputsplunkinput.md index e8dddec32..f65597412 100644 --- a/docs/models/inputsplunkinput.md +++ b/docs/models/inputsplunkinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputSplunkType](../models/inputsplunktype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `auth_tokens` | List[[models.InputSplunkAuthToken](../models/inputsplunkauthtoken.md)] | :heavy_minus_sign: | Shared secrets to be provided by any Splunk forwarder. If empty, unauthorized access is permitted. | | `max_s2_sversion` | [Optional[models.InputSplunkMaxS2SVersion]](../models/inputsplunkmaxs2sversion.md) | :heavy_minus_sign: | The highest S2S protocol version to advertise during handshake | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `use_fwd_timezone` | *Optional[bool]* | :heavy_minus_sign: | Event Breakers will determine events' time zone from UF-provided metadata, when TZ can't be inferred from the raw event | | `drop_control_fields` | *Optional[bool]* | :heavy_minus_sign: | Drop Splunk control fields such as `crcSalt` and `_savedPort`. If disabled, control fields are stored in the internal field `__ctrlFields`. | | `extract_metrics` | *Optional[bool]* | :heavy_minus_sign: | Extract and process Splunk-generated metrics as Cribl metrics | diff --git a/docs/models/inputsplunksearchinput.md b/docs/models/inputsplunksearchinput.md index 1f46c9989..b8d183679 100644 --- a/docs/models/inputsplunksearchinput.md +++ b/docs/models/inputsplunksearchinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputSplunkSearchType](../models/inputsplunksearchtype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -39,7 +39,7 @@ | `breaker_rulesets` | List[*str*] | :heavy_minus_sign: | A list of event-breaking rulesets that will be applied, in order, to the input data stream | | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `auth_type` | [models.InputSplunkSearchAuthenticationType](../models/inputsplunksearchauthenticationtype.md) | :heavy_check_mark: | Splunk Search authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/inputsqsinput.md b/docs/models/inputsqsinput.md index 4b23d4fff..6e125a977 100644 --- a/docs/models/inputsqsinput.md +++ b/docs/models/inputsqsinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputSqsType](../models/inputsqstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -33,7 +33,7 @@ | `visibility_timeout` | *Optional[float]* | :heavy_minus_sign: | After messages are retrieved by a ReceiveMessage request, @{product} will hide them from subsequent retrieve requests for at least this duration. You can set this as high as 43200 sec. (12 hours). | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `poll_timeout` | *Optional[float]* | :heavy_minus_sign: | How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `num_receivers` | *Optional[float]* | :heavy_minus_sign: | How many receiver processes to run. The higher the number, the better the throughput - at the expense of CPU overhead. | diff --git a/docs/models/inputsysdighecinput.md b/docs/models/inputsysdighecinput.md index 005d787f1..77521f8f1 100644 --- a/docs/models/inputsysdighecinput.md +++ b/docs/models/inputsysdighecinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputSysdigHecType](../models/inputsysdighectype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputSysdigHecType](../models/inputsysdighectype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -35,7 +35,7 @@ | `access_control_allow_origin` | List[*str*] | :heavy_minus_sign: | HTTP origins to which @{product} should send CORS (cross-origin resource sharing) Access-Control-Allow-* headers. Supports wildcards. | | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputsysdighectype.md b/docs/models/inputsysdighectype.md index 2c8b651b4..6c4e8f72f 100644 --- a/docs/models/inputsysdighectype.md +++ b/docs/models/inputsysdighectype.md @@ -1,5 +1,7 @@ # InputSysdigHecType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputsyslogsysloginput1.md b/docs/models/inputsyslogsysloginput1.md index 482876285..ffa515c67 100644 --- a/docs/models/inputsyslogsysloginput1.md +++ b/docs/models/inputsyslogsysloginput1.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputSyslogType1](../models/inputsyslogtype1.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `enable_enhanced_proxy_header_parsing` | *Optional[bool]* | :heavy_minus_sign: | When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/inputsyslogsysloginput2.md b/docs/models/inputsyslogsysloginput2.md index 16ffd5856..f10b7277b 100644 --- a/docs/models/inputsyslogsysloginput2.md +++ b/docs/models/inputsyslogsysloginput2.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputSyslogType2](../models/inputsyslogtype2.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `udp_socket_rx_buf_size` | *Optional[float]* | :heavy_minus_sign: | Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization. | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `enable_enhanced_proxy_header_parsing` | *Optional[bool]* | :heavy_minus_sign: | When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/inputsystemmetricsinput.md b/docs/models/inputsystemmetricsinput.md index 4c2b56019..a116545db 100644 --- a/docs/models/inputsystemmetricsinput.md +++ b/docs/models/inputsystemmetricsinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputSystemMetricsType](../models/inputsystemmetricstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -22,6 +22,6 @@ | `gpu` | [Optional[models.GpuType]](../models/gputype.md) | :heavy_minus_sign: | N/A | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.InputSystemMetricsPersistence]](../models/inputsystemmetricspersistence.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputsystemstateinput.md b/docs/models/inputsystemstateinput.md index e87f97e87..11b34bc3e 100644 --- a/docs/models/inputsystemstateinput.md +++ b/docs/models/inputsystemstateinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputSystemStateType](../models/inputsystemstatetype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -21,6 +21,6 @@ | `persistence` | [Optional[models.InputSystemStatePersistence]](../models/inputsystemstatepersistence.md) | :heavy_minus_sign: | N/A | | `disable_native_module` | *Optional[bool]* | :heavy_minus_sign: | Enable to use built-in tools (PowerShell) to collect events instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab) | | `disable_native_last_log_module` | *Optional[bool]* | :heavy_minus_sign: | Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputtcpinput.md b/docs/models/inputtcpinput.md index 76d9ad90b..7515fb311 100644 --- a/docs/models/inputtcpinput.md +++ b/docs/models/inputtcpinput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputTCPType](../models/inputtcptype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -29,7 +29,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `enable_header` | *Optional[bool]* | :heavy_minus_sign: | Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { "authToken" : "myToken", "fields": { "field1": "value1", "field2": "value2" } } | | `preprocess` | [Optional[models.PreprocessType]](../models/preprocesstype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted. | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/inputtcpjsoninput.md b/docs/models/inputtcpjsoninput.md index d16801207..072fec98f 100644 --- a/docs/models/inputtcpjsoninput.md +++ b/docs/models/inputtcpjsoninput.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputTcpjsonType](../models/inputtcpjsontype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -27,7 +27,7 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `enable_load_balancing` | *Optional[bool]* | :heavy_minus_sign: | Load balance traffic across all Worker Processes | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `auth_token` | *Optional[str]* | :heavy_minus_sign: | Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted. | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputwefinput.md b/docs/models/inputwefinput.md index 98f387287..bbe9efa5e 100644 --- a/docs/models/inputwefinput.md +++ b/docs/models/inputwefinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputWefType](../models/inputweftype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -34,7 +34,7 @@ | `allow_machine_id_mismatch` | *Optional[bool]* | :heavy_minus_sign: | Allow events to be ingested even if their MachineID does not match the client certificate CN | | `subscriptions` | List[[models.InputWefSubscription](../models/inputwefsubscription.md)] | :heavy_check_mark: | Subscriptions to events on forwarding endpoints | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `log_fingerprint_mismatch` | *Optional[bool]* | :heavy_minus_sign: | Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | diff --git a/docs/models/inputwindowsmetricsinput.md b/docs/models/inputwindowsmetricsinput.md index 5f7d14741..4c817a5e3 100644 --- a/docs/models/inputwindowsmetricsinput.md +++ b/docs/models/inputwindowsmetricsinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputWindowsMetricsType](../models/inputwindowsmetricstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -22,6 +22,6 @@ | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `persistence` | [Optional[models.InputWindowsMetricsPersistence]](../models/inputwindowsmetricspersistence.md) | :heavy_minus_sign: | N/A | | `disable_native_module` | *Optional[bool]* | :heavy_minus_sign: | Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/inputwineventlogsinput.md b/docs/models/inputwineventlogsinput.md index be3f86576..bc765eacd 100644 --- a/docs/models/inputwineventlogsinput.md +++ b/docs/models/inputwineventlogsinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputWinEventLogsType](../models/inputwineventlogstype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -23,7 +23,7 @@ | `batch_size` | *Optional[float]* | :heavy_minus_sign: | The maximum number of events to read in one polling interval. A batch size higher than 500 can cause delays when pulling from multiple event logs. (Applicable for pre-4.8.0 nodes that use Windows Tools) | | `metadata` | List[[models.MetadataConfInputCollection](../models/metadataconfinputcollection.md)] | :heavy_minus_sign: | Fields to add to events from this input | | `max_event_bytes` | *Optional[int]* | :heavy_minus_sign: | The maximum number of bytes in an event before it is flushed to the pipelines | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `disable_json_rendering` | *Optional[bool]* | :heavy_minus_sign: | Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API) | | `disable_xml_rendering` | *Optional[bool]* | :heavy_minus_sign: | Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API) | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputwizinput.md b/docs/models/inputwizinput.md index 121b0fa39..5dd1221dd 100644 --- a/docs/models/inputwizinput.md +++ b/docs/models/inputwizinput.md @@ -7,7 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | | `type` | [models.InputWizType](../models/inputwiztype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -30,7 +30,7 @@ | `stale_channel_flush_ms` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines | | `retry_rules` | [Optional[models.RetryRulesType]](../models/retryrulestype.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptionsManualSecret]](../models/authenticationmethodoptionsmanualsecret.md) | :heavy_minus_sign: | Enter client secret directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | The client secret of the Wiz application | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | diff --git a/docs/models/inputwizwebhookinput.md b/docs/models/inputwizwebhookinput.md index 7009ca996..d18ceefbb 100644 --- a/docs/models/inputwizwebhookinput.md +++ b/docs/models/inputwizwebhookinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputWizWebhookType](../models/inputwizwebhooktype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputWizWebhookType](../models/inputwizwebhooktype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `allowed_paths` | List[*str*] | :heavy_minus_sign: | List of URI paths accepted by this input. Wildcards are supported (such as /api/v*/hook). Defaults to allow all. | | `allowed_methods` | List[*str*] | :heavy_minus_sign: | List of HTTP methods accepted by this input. Wildcards are supported (such as P*, GET). Defaults to allow all. | | `auth_tokens_ext` | List[[models.AuthTokensExtConfInputHTTP](../models/authtokensextconfinputhttp.md)] | :heavy_minus_sign: | Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputwizwebhooktype.md b/docs/models/inputwizwebhooktype.md index 9a59ebfa6..740b223e9 100644 --- a/docs/models/inputwizwebhooktype.md +++ b/docs/models/inputwizwebhooktype.md @@ -1,5 +1,7 @@ # InputWizWebhookType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/inputzscalerhecinput.md b/docs/models/inputzscalerhecinput.md index 614831ede..5e1f9ac76 100644 --- a/docs/models/inputzscalerhecinput.md +++ b/docs/models/inputzscalerhecinput.md @@ -6,8 +6,8 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this input | -| `type` | [models.InputZscalerHecType](../models/inputzscalerhectype.md) | :heavy_check_mark: | N/A | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `type` | [models.InputZscalerHecType](../models/inputzscalerhectype.md) | :heavy_check_mark: | Source type identifier. | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Source is disabled and will not collect data. | | `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data from this Source before sending it through the Routes | | `send_to_routes` | *Optional[bool]* | :heavy_minus_sign: | Select whether to send data to Routes, or directly to Destinations. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | @@ -36,7 +36,7 @@ | `access_control_allow_headers` | List[*str*] | :heavy_minus_sign: | HTTP headers that @{product} will send to allowed origins as "Access-Control-Allow-Headers" in a CORS preflight response. Use "*" to allow all headers. | | `emit_token_metrics` | *Optional[bool]* | :heavy_minus_sign: | Emit per-token (.http.perToken) and summary (.http.summary) request metrics | | `hec_acks` | *Optional[bool]* | :heavy_minus_sign: | Whether to enable Zscaler HEC acknowledgements | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_environment` | *Optional[str]* | :heavy_minus_sign: | Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_host` | *Optional[str]* | :heavy_minus_sign: | Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime. | diff --git a/docs/models/inputzscalerhectype.md b/docs/models/inputzscalerhectype.md index e02688939..b9be481f8 100644 --- a/docs/models/inputzscalerhectype.md +++ b/docs/models/inputzscalerhectype.md @@ -1,5 +1,7 @@ # InputZscalerHecType +Source type identifier. + ## Example Usage ```python diff --git a/docs/models/noactivehealthoverlaystatus.md b/docs/models/noactivehealthoverlaystatus.md new file mode 100644 index 000000000..acb0b9ddd --- /dev/null +++ b/docs/models/noactivehealthoverlaystatus.md @@ -0,0 +1,8 @@ +# NoActiveHealthOverlayStatus + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `state` | *Literal["inactive"]* | :heavy_check_mark: | Current overlay state. | inactive | \ No newline at end of file diff --git a/docs/models/output.md b/docs/models/output.md index d9c452eaf..2c6b72f2b 100644 --- a/docs/models/output.md +++ b/docs/models/output.md @@ -483,3 +483,9 @@ value: models.OutputScalityS3 = /* values here */ value: models.OutputAlibabaCloudS3 = /* values here */ ``` +### `models.OutputIbmCloudS3` + +```python +value: models.OutputIbmCloudS3 = /* values here */ +``` + diff --git a/docs/models/outputalibabaclouds3.md b/docs/models/outputalibabaclouds3.md index 206166527..ac7d67e5e 100644 --- a/docs/models/outputalibabaclouds3.md +++ b/docs/models/outputalibabaclouds3.md @@ -11,7 +11,7 @@ | `system_fields` | List[*str*] | :heavy_minus_sign: | Fields to automatically add to events, such as cribl_pipe. Supports wildcards. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `aws_authentication_method` | [Optional[models.OutputAlibabaCloudS3AuthenticationMethod]](../models/outputalibabaclouds3authenticationmethod.md) | :heavy_minus_sign: | Authentication method. | | `reuse_connections` | *Optional[bool]* | :heavy_minus_sign: | Reuse connections between requests, which can improve performance | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates that cannot be verified against a valid CA, such as self-signed certificates | | `bucket` | *str* | :heavy_check_mark: | Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}` | @@ -40,7 +40,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `endpoint` | *str* | :heavy_check_mark: | Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com` | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputalibabaclouds3authenticationmethod.md b/docs/models/outputalibabaclouds3authenticationmethod.md new file mode 100644 index 000000000..6d6a865e3 --- /dev/null +++ b/docs/models/outputalibabaclouds3authenticationmethod.md @@ -0,0 +1,21 @@ +# OutputAlibabaCloudS3AuthenticationMethod + +Authentication method. + +## Example Usage + +```python +from cribl_control_plane.models import OutputAlibabaCloudS3AuthenticationMethod + +value = OutputAlibabaCloudS3AuthenticationMethod.AUTO + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| -------- | -------- | +| `AUTO` | auto | +| `SECRET` | secret | \ No newline at end of file diff --git a/docs/models/outputalphasocs3.md b/docs/models/outputalphasocs3.md index aaa9e47ac..bdc3be7e6 100644 --- a/docs/models/outputalphasocs3.md +++ b/docs/models/outputalphasocs3.md @@ -39,7 +39,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputazureblob.md b/docs/models/outputazureblob.md index 22a2f35d4..6dc176af0 100644 --- a/docs/models/outputazureblob.md +++ b/docs/models/outputazureblob.md @@ -36,7 +36,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptions]](../models/authenticationmethodoptions.md) | :heavy_minus_sign: | N/A | | `storage_class` | [Optional[models.OutputAzureBlobBlobAccessTier]](../models/outputazureblobblobaccesstier.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/outputazuredataexplorer.md b/docs/models/outputazuredataexplorer.md index 4c6eadc19..52ea0c57d 100644 --- a/docs/models/outputazuredataexplorer.md +++ b/docs/models/outputazuredataexplorer.md @@ -21,7 +21,7 @@ | `client_id` | *str* | :heavy_check_mark: | client_id to pass in the OAuth request parameter | | `scope` | *str* | :heavy_check_mark: | Scope to pass in the OAuth request parameter | | `oauth_type` | [models.OutputAzureDataExplorerAuthenticationMethod](../models/outputazuredataexplorerauthenticationmethod.md) | :heavy_check_mark: | The type of OAuth 2.0 client credentials grant flow to use | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | The client secret that you generated for your app in the Azure portal | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `certificate` | [Optional[models.OutputAzureDataExplorerCertificate]](../models/outputazuredataexplorercertificate.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/outputazureeventhub.md b/docs/models/outputazureeventhub.md index 94b150304..04b3d7e66 100644 --- a/docs/models/outputazureeventhub.md +++ b/docs/models/outputazureeventhub.md @@ -29,7 +29,7 @@ | `sasl` | [Optional[models.AuthenticationTypeUse]](../models/authenticationtypeuse.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `tls` | [Optional[models.TLSSettingsClientSideType]](../models/tlssettingsclientsidetype.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputazurelogs.md b/docs/models/outputazurelogs.md index c18ac5628..aeac80188 100644 --- a/docs/models/outputazurelogs.md +++ b/docs/models/outputazurelogs.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.OutputAzureLogsAuthenticationMethod]](../models/outputazurelogsauthenticationmethod.md) | :heavy_minus_sign: | Enter workspace ID and workspace key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputchronicle.md b/docs/models/outputchronicle.md index 4f88f9b13..c5edb7258 100644 --- a/docs/models/outputchronicle.md +++ b/docs/models/outputchronicle.md @@ -38,7 +38,7 @@ | `gcp_instance` | *str* | :heavy_check_mark: | The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid. | | `custom_labels` | List[[models.OutputChronicleCustomLabel](../models/outputchroniclecustomlabel.md)] | :heavy_minus_sign: | Custom labels to be added to every event | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right. | | `service_account_credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputclickhouse.md b/docs/models/outputclickhouse.md index f691a79bf..1db6f851d 100644 --- a/docs/models/outputclickhouse.md +++ b/docs/models/outputclickhouse.md @@ -36,7 +36,7 @@ | `workload` | *Optional[str]* | :heavy_minus_sign: | Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification. | | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/outputcloudflarer2.md b/docs/models/outputcloudflarer2.md index b165bd3c2..a8523fc5e 100644 --- a/docs/models/outputcloudflarer2.md +++ b/docs/models/outputcloudflarer2.md @@ -42,7 +42,7 @@ | `endpoint` | *str* | :heavy_check_mark: | Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com) | | `storage_class` | [Optional[models.StorageClassOptionsReducedredundancyStandard]](../models/storageclassoptionsreducedredundancystandard.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptionsAes256]](../models/serversideencryptionforuploadedobjectsoptionsaes256.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputcloudians3.md b/docs/models/outputcloudians3.md index acc984787..f6dabec68 100644 --- a/docs/models/outputcloudians3.md +++ b/docs/models/outputcloudians3.md @@ -44,7 +44,7 @@ | `storage_class` | [Optional[models.StorageClassOptions]](../models/storageclassoptions.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputcloudwatch.md b/docs/models/outputcloudwatch.md index a94b91510..d786249ac 100644 --- a/docs/models/outputcloudwatch.md +++ b/docs/models/outputcloudwatch.md @@ -27,7 +27,7 @@ | `max_record_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputconfluentcloud.md b/docs/models/outputconfluentcloud.md index 0b313c008..3b97fb648 100644 --- a/docs/models/outputconfluentcloud.md +++ b/docs/models/outputconfluentcloud.md @@ -31,7 +31,7 @@ | `reauthentication_threshold` | *Optional[float]* | :heavy_minus_sign: | Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire. | | `sasl` | [Optional[models.AuthenticationType]](../models/authenticationtype.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | | `protobuf_encoding_id` | *Optional[str]* | :heavy_minus_sign: | Select the type of object you want the Protobuf definitions to use for event encoding | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputcriblhttp.md b/docs/models/outputcriblhttp.md index 01570bfa3..f9b767cb9 100644 --- a/docs/models/outputcriblhttp.md +++ b/docs/models/outputcriblhttp.md @@ -31,7 +31,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `auth_tokens` | List[[models.AuthTokenConfOutputCriblHTTP](../models/authtokenconfoutputcriblhttp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a Cribl Worker to send events to, such as http://localhost:10200 | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputcribllake.md b/docs/models/outputcribllake.md index 6f87c0f90..4f5cb5b4f 100644 --- a/docs/models/outputcribllake.md +++ b/docs/models/outputcribllake.md @@ -33,7 +33,7 @@ | `dynamic_dataset` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `max_closing_files_to_backpressure` | *Optional[float]* | :heavy_minus_sign: | N/A | | `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/outputcriblsearchengine.md b/docs/models/outputcriblsearchengine.md index b9dd340e7..49cd4b066 100644 --- a/docs/models/outputcriblsearchengine.md +++ b/docs/models/outputcriblsearchengine.md @@ -32,7 +32,7 @@ | `auth_tokens` | List[[models.AuthTokenConfOutputCriblHTTP](../models/authtokenconfoutputcriblhttp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a Cribl Worker to send events to, such as http://localhost:10200 | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | | `urls` | List[[models.URLConfOutputCriblHTTP](../models/urlconfoutputcriblhttp.md)] | :heavy_minus_sign: | N/A | diff --git a/docs/models/outputcribltcp.md b/docs/models/outputcribltcp.md index b31e36d34..a6fc0bd7e 100644 --- a/docs/models/outputcribltcp.md +++ b/docs/models/outputcribltcp.md @@ -22,7 +22,7 @@ | `auth_tokens` | List[[models.AuthTokenConfInputCriblTCP](../models/authtokenconfinputcribltcp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud. | | `exclude_fields` | List[*str*] | :heavy_minus_sign: | Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputcrowdstrikenextgensiem.md b/docs/models/outputcrowdstrikenextgensiem.md index 5625708ea..64d021b02 100644 --- a/docs/models/outputcrowdstrikenextgensiem.md +++ b/docs/models/outputcrowdstrikenextgensiem.md @@ -29,7 +29,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | N/A | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputcustomermetricsstorage.md b/docs/models/outputcustomermetricsstorage.md index 8444373c6..a1b325a45 100644 --- a/docs/models/outputcustomermetricsstorage.md +++ b/docs/models/outputcustomermetricsstorage.md @@ -36,7 +36,7 @@ | `workload` | *Optional[str]* | :heavy_minus_sign: | Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification. | | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/outputdatabricks.md b/docs/models/outputdatabricks.md index eec5660bf..b20d029a1 100644 --- a/docs/models/outputdatabricks.md +++ b/docs/models/outputdatabricks.md @@ -40,7 +40,7 @@ | `events_volume_name` | *str* | :heavy_check_mark: | Name of the Unity Catalog volume where event data is written. | | `client_text_secret` | *str* | :heavy_check_mark: | OAuth client secret for Unity Catalog authentication | | `timeout_sec` | *Optional[int]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/outputdatadog.md b/docs/models/outputdatadog.md index 352310261..99e2c5a42 100644 --- a/docs/models/outputdatadog.md +++ b/docs/models/outputdatadog.md @@ -39,7 +39,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputdataset.md b/docs/models/outputdataset.md index a3f381d5a..8b6907bba 100644 --- a/docs/models/outputdataset.md +++ b/docs/models/outputdataset.md @@ -34,7 +34,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputdells3.md b/docs/models/outputdells3.md index 601965f17..f941c9dce 100644 --- a/docs/models/outputdells3.md +++ b/docs/models/outputdells3.md @@ -41,7 +41,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `endpoint` | *str* | :heavy_check_mark: | Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputdiskspool.md b/docs/models/outputdiskspool.md index 2005b84d7..d8195f96c 100644 --- a/docs/models/outputdiskspool.md +++ b/docs/models/outputdiskspool.md @@ -16,5 +16,5 @@ | `max_data_time` | *Optional[str]* | :heavy_minus_sign: | Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h. | | `compress` | [Optional[models.CompressionOptionsPersistence]](../models/compressionoptionspersistence.md) | :heavy_minus_sign: | Data compression format. Default is gzip. | | `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/outputdls3.md b/docs/models/outputdls3.md index adc153e78..0cece81c3 100644 --- a/docs/models/outputdls3.md +++ b/docs/models/outputdls3.md @@ -49,7 +49,7 @@ | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | | `partitioning_fields` | List[*str*] | :heavy_minus_sign: | List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/outputdynatracehttp.md b/docs/models/outputdynatracehttp.md index 64f18e83d..f20ede43d 100644 --- a/docs/models/outputdynatracehttp.md +++ b/docs/models/outputdynatracehttp.md @@ -33,7 +33,7 @@ | `endpoint` | [models.OutputDynatraceHTTPEndpoint](../models/outputdynatracehttpendpoint.md) | :heavy_check_mark: | N/A | | `telemetry_type` | [models.OutputDynatraceHTTPTelemetryType](../models/outputdynatracehttptelemetrytype.md) | :heavy_check_mark: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputdynatraceotlp.md b/docs/models/outputdynatraceotlp.md index bc09339a0..645c53a1e 100644 --- a/docs/models/outputdynatraceotlp.md +++ b/docs/models/outputdynatraceotlp.md @@ -34,7 +34,7 @@ | `token_secret` | *str* | :heavy_check_mark: | Select or create a stored text secret | | `auth_token_name` | *Optional[str]* | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's).
Enabled by default. When this setting is also present in TLS Settings (Client Side),
that value will take precedence. | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | diff --git a/docs/models/outputelastic.md b/docs/models/outputelastic.md index 817614f43..e65da5375 100644 --- a/docs/models/outputelastic.md +++ b/docs/models/outputelastic.md @@ -35,7 +35,7 @@ | `write_action` | [Optional[models.OutputElasticWriteAction]](../models/outputelasticwriteaction.md) | :heavy_minus_sign: | Action to use when writing events. Must be set to `Create` when writing to a data stream. | | `retry_partial_errors` | *Optional[bool]* | :heavy_minus_sign: | Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputelasticcloud.md b/docs/models/outputelasticcloud.md index c45e27f1e..ff4086dd5 100644 --- a/docs/models/outputelasticcloud.md +++ b/docs/models/outputelasticcloud.md @@ -31,7 +31,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputexabeam.md b/docs/models/outputexabeam.md index 87e24d5e2..4e3fd2251 100644 --- a/docs/models/outputexabeam.md +++ b/docs/models/outputexabeam.md @@ -37,7 +37,7 @@ | `timezone_offset` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`. | | `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | | `directory_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory. | | `deadletter_path` | *Optional[str]* | :heavy_minus_sign: | Storage location for files that fail to reach their final destination after maximum retries are exceeded | diff --git a/docs/models/outputfilesystem.md b/docs/models/outputfilesystem.md index d51948f71..b9ff379bd 100644 --- a/docs/models/outputfilesystem.md +++ b/docs/models/outputfilesystem.md @@ -31,7 +31,7 @@ | `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/outputgooglechronicle.md b/docs/models/outputgooglechronicle.md index 806d027ef..ec9ca8db5 100644 --- a/docs/models/outputgooglechronicle.md +++ b/docs/models/outputgooglechronicle.md @@ -31,7 +31,7 @@ | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `extra_log_types` | List[[models.OutputGoogleChronicleExtraLogType](../models/outputgooglechronicleextralogtype.md)] | :heavy_minus_sign: | Custom log types. If the value "Custom" is selected in the setting "Default log type" above, the first custom log type in this table will be automatically selected as default log type. | | `log_type` | *Optional[str]* | :heavy_minus_sign: | Default log type value to send to SecOps. Can be overwritten by event field __logType. | | `log_text_field` | *Optional[str]* | :heavy_minus_sign: | Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event. | diff --git a/docs/models/outputgooglecloudlogging.md b/docs/models/outputgooglecloudlogging.md index 4a4de6a52..f120b608a 100644 --- a/docs/models/outputgooglecloudlogging.md +++ b/docs/models/outputgooglecloudlogging.md @@ -60,7 +60,7 @@ | `trace_sampled_expression` | *Optional[str]* | :heavy_minus_sign: | A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `log_location_expression` | *str* | :heavy_check_mark: | JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore. | | `payload_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputgooglecloudobservability.md b/docs/models/outputgooglecloudobservability.md index 961f99351..741bf0703 100644 --- a/docs/models/outputgooglecloudobservability.md +++ b/docs/models/outputgooglecloudobservability.md @@ -26,9 +26,9 @@ | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `tls` | [Optional[models.TLSSettingsClientSideTypeExtended]](../models/tlssettingsclientsidetypeextended.md) | :heavy_minus_sign: | N/A | -| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Max number of events to include in the request body. Default is 0 (unlimited). | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputgooglecloudstorage.md b/docs/models/outputgooglecloudstorage.md index 2e463e916..01657ce75 100644 --- a/docs/models/outputgooglecloudstorage.md +++ b/docs/models/outputgooglecloudstorage.md @@ -40,7 +40,7 @@ | `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/outputgooglepubsub.md b/docs/models/outputgooglepubsub.md index 6a571d074..c2751f9f9 100644 --- a/docs/models/outputgooglepubsub.md +++ b/docs/models/outputgooglepubsub.md @@ -25,7 +25,7 @@ | `flush_period` | *Optional[float]* | :heavy_minus_sign: | Maximum time to wait before sending a batch (when batch size limit is not reached) | | `max_in_progress` | *Optional[float]* | :heavy_minus_sign: | The maximum number of in-progress API requests before backpressure is applied. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputgrafanacloudgrafanacloud1.md b/docs/models/outputgrafanacloudgrafanacloud1.md index 7775d864e..cc063bfdb 100644 --- a/docs/models/outputgrafanacloudgrafanacloud1.md +++ b/docs/models/outputgrafanacloudgrafanacloud1.md @@ -33,7 +33,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputgrafanacloudgrafanacloud2.md b/docs/models/outputgrafanacloudgrafanacloud2.md index 0c6041931..ae1e02e35 100644 --- a/docs/models/outputgrafanacloudgrafanacloud2.md +++ b/docs/models/outputgrafanacloudgrafanacloud2.md @@ -33,7 +33,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputgraphite.md b/docs/models/outputgraphite.md index bf1a3b148..e125bce3b 100644 --- a/docs/models/outputgraphite.md +++ b/docs/models/outputgraphite.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/outputhoneycomb.md b/docs/models/outputhoneycomb.md index 3d38c3ef7..1c29321a3 100644 --- a/docs/models/outputhoneycomb.md +++ b/docs/models/outputhoneycomb.md @@ -28,7 +28,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputhumiohec.md b/docs/models/outputhumiohec.md index 013ec5659..d5cecfefd 100644 --- a/docs/models/outputhumiohec.md +++ b/docs/models/outputhumiohec.md @@ -29,7 +29,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | CrowdStrike Falcon LogScale authentication token | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputibmclouds3.md b/docs/models/outputibmclouds3.md new file mode 100644 index 000000000..d90eac183 --- /dev/null +++ b/docs/models/outputibmclouds3.md @@ -0,0 +1,71 @@ +# OutputIbmCloudS3 + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputIbmCloudS3Type](../models/outputibmclouds3type.md) | :heavy_check_mark: | N/A | +| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data before sending out to this output | +| `system_fields` | List[*str*] | :heavy_minus_sign: | Fields to automatically add to events, such as cribl_pipe. Supports wildcards. | +| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `endpoint` | *str* | :heavy_check_mark: | IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud) | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `reuse_connections` | *Optional[bool]* | :heavy_minus_sign: | Reuse connections between requests, which can improve performance | +| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates that cannot be verified against a valid CA, such as self-signed certificates | +| `bucket` | *str* | :heavy_check_mark: | Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}` | +| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}` | +| `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | Maximum number of parts to upload in parallel per file. Minimum part size is 5MB. | +| `verify_permissions` | *Optional[bool]* | :heavy_minus_sign: | Disable if you can access files within the bucket but not the bucket itself | +| `max_closing_files_to_backpressure` | *Optional[float]* | :heavy_minus_sign: | Maximum number of files that can be waiting for upload before backpressure is applied | +| `stage_path` | *str* | :heavy_check_mark: | Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage. | +| `add_id_to_stage_path` | *Optional[bool]* | :heavy_minus_sign: | Add the Output ID value to staging location | +| `remove_empty_dirs` | *Optional[bool]* | :heavy_minus_sign: | Remove empty staging directories after moving files | +| `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory. | +| `format_` | [Optional[models.DataFormatOptions]](../models/dataformatoptions.md) | :heavy_minus_sign: | Format of the output data | +| `base_file_name` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to define the output filename prefix (can be constant) | +| `file_name_suffix` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`). | +| `max_file_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum uncompressed output file size. Files of this size will be closed and moved to final output location. | +| `max_file_open_time_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location. | +| `max_file_idle_time_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location. | +| `max_open_files` | *Optional[float]* | :heavy_minus_sign: | Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location. | +| `header_line` | *Optional[str]* | :heavy_minus_sign: | If set, this line will be written to the beginning of each output file | +| `write_high_water_mark` | *Optional[float]* | :heavy_minus_sign: | Buffer size used to write to a file | +| `on_backpressure` | [Optional[models.BackpressureBehaviorOptionsBlockDrop]](../models/backpressurebehavioroptionsblockdrop.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | +| `deadletter_enabled` | *Optional[bool]* | :heavy_minus_sign: | If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors | +| `on_disk_full_backpressure` | [Optional[models.DiskSpaceProtectionOptions]](../models/diskspaceprotectionoptions.md) | :heavy_minus_sign: | How to handle events when disk space is below the global 'Min free disk space' limit | +| `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | +| `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | +| `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | +| `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | +| `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | +| `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | +| `parquet_schema` | *Optional[str]* | :heavy_minus_sign: | To add a new schema, navigate to Processing > Knowledge > Parquet Schemas | +| `parquet_version` | [Optional[models.ParquetVersionOptions]](../models/parquetversionoptions.md) | :heavy_minus_sign: | Determines which data types are supported and how they are represented | +| `parquet_data_page_version` | [Optional[models.DataPageVersionOptions]](../models/datapageversionoptions.md) | :heavy_minus_sign: | Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it. | +| `parquet_row_group_length` | *Optional[float]* | :heavy_minus_sign: | The number of rows that every group will contain. The final group can contain a smaller number of rows. | +| `parquet_page_size` | *Optional[str]* | :heavy_minus_sign: | Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression. | +| `should_log_invalid_rows` | *Optional[bool]* | :heavy_minus_sign: | Log up to 3 rows that @{product} skips due to data mismatch | +| `key_value_metadata` | List[[models.KeyValueMetadataConfOutputFilesystem](../models/keyvaluemetadataconfoutputfilesystem.md)] | :heavy_minus_sign: | The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: "key":"OCSF Event Class", "value":"9001" | +| `enable_statistics` | *Optional[bool]* | :heavy_minus_sign: | Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics. | +| `enable_write_page_index` | *Optional[bool]* | :heavy_minus_sign: | One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping. | +| `enable_page_checksum` | *Optional[bool]* | :heavy_minus_sign: | Parquet tools can use the checksum of a Parquet page to verify data integrity | +| `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | +| `directory_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory. | +| `deadletter_path` | *Optional[str]* | :heavy_minus_sign: | Storage location for files that fail to reach their final destination after maximum retries are exceeded | +| `max_retry_num` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times a file will attempt to move to its final destination before being dead-lettered | +| `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | +| `template_endpoint` | *Optional[str]* | :heavy_minus_sign: | Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime. | +| `template_bucket` | *Optional[str]* | :heavy_minus_sign: | Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime. | +| `template_dest_path` | *Optional[str]* | :heavy_minus_sign: | Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime. | +| `template_partition_expr` | *Optional[str]* | :heavy_minus_sign: | Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime. | +| `template_format` | *Optional[str]* | :heavy_minus_sign: | Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime. | +| `template_base_file_name` | *Optional[str]* | :heavy_minus_sign: | Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime. | +| `template_file_name_suffix` | *Optional[str]* | :heavy_minus_sign: | Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime. | +| `template_on_backpressure` | *Optional[str]* | :heavy_minus_sign: | Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. | +| `template_compress` | *Optional[str]* | :heavy_minus_sign: | Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime. | +| `template_parquet_schema` | *Optional[str]* | :heavy_minus_sign: | Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime. | \ No newline at end of file diff --git a/docs/models/outputibmclouds3type.md b/docs/models/outputibmclouds3type.md new file mode 100644 index 000000000..b667c7061 --- /dev/null +++ b/docs/models/outputibmclouds3type.md @@ -0,0 +1,16 @@ +# OutputIbmCloudS3Type + +## Example Usage + +```python +from cribl_control_plane.models import OutputIbmCloudS3Type + +value = OutputIbmCloudS3Type.IBM_CLOUD_S3 +``` + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `IBM_CLOUD_S3` | ibm_cloud_s3 | \ No newline at end of file diff --git a/docs/models/outputinfluxdb.md b/docs/models/outputinfluxdb.md index 32c56b658..fd65d1b5d 100644 --- a/docs/models/outputinfluxdb.md +++ b/docs/models/outputinfluxdb.md @@ -32,7 +32,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.OutputInfluxdbAuthenticationType]](../models/outputinfluxdbauthenticationtype.md) | :heavy_minus_sign: | InfluxDB authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `database` | *Optional[str]* | :heavy_minus_sign: | Database to write to. | | `bucket` | *Optional[str]* | :heavy_minus_sign: | Bucket to write to. | | `org` | *Optional[str]* | :heavy_minus_sign: | Organization ID for this bucket. | diff --git a/docs/models/outputkafka.md b/docs/models/outputkafka.md index 413c3e703..4c95f9927 100644 --- a/docs/models/outputkafka.md +++ b/docs/models/outputkafka.md @@ -31,7 +31,7 @@ | `sasl` | [Optional[models.AuthenticationType]](../models/authenticationtype.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | | `protobuf_encoding_id` | *Optional[str]* | :heavy_minus_sign: | Select the type of object you want the Protobuf definitions to use for event encoding | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputkinesis.md b/docs/models/outputkinesis.md index 2a0231012..6249d9a6b 100644 --- a/docs/models/outputkinesis.md +++ b/docs/models/outputkinesis.md @@ -29,7 +29,7 @@ | `use_list_shards` | *Optional[bool]* | :heavy_minus_sign: | Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details. | | `as_ndjson` | *Optional[bool]* | :heavy_minus_sign: | Batch events into a single record as NDJSON | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `max_events_per_flush` | *Optional[float]* | :heavy_minus_sign: | Maximum number of records to send in a single request | diff --git a/docs/models/outputlocalsearchstorage.md b/docs/models/outputlocalsearchstorage.md index 760c0837c..295b697b3 100644 --- a/docs/models/outputlocalsearchstorage.md +++ b/docs/models/outputlocalsearchstorage.md @@ -37,7 +37,7 @@ | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `stats_destination` | [Optional[models.OutputLocalSearchStorageStatsDestination]](../models/outputlocalsearchstoragestatsdestination.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/outputloki.md b/docs/models/outputloki.md index cefce9124..81cfc3e6a 100644 --- a/docs/models/outputloki.md +++ b/docs/models/outputloki.md @@ -32,7 +32,7 @@ | `enable_dynamic_headers` | *Optional[bool]* | :heavy_minus_sign: | Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: : | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputmicrosoftfabric.md b/docs/models/outputmicrosoftfabric.md index e24ecc4ca..86e730995 100644 --- a/docs/models/outputmicrosoftfabric.md +++ b/docs/models/outputmicrosoftfabric.md @@ -29,7 +29,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideType]](../models/tlssettingsclientsidetype.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `bootstrap_server` | *str* | :heavy_check_mark: | Bootstrap server from Fabric Eventstream's endpoint | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputminio.md b/docs/models/outputminio.md index 6d69f46e4..08818234e 100644 --- a/docs/models/outputminio.md +++ b/docs/models/outputminio.md @@ -44,7 +44,7 @@ | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `storage_class` | [Optional[models.StorageClassOptionsReducedredundancyStandard]](../models/storageclassoptionsreducedredundancystandard.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptionsAes256]](../models/serversideencryptionforuploadedobjectsoptionsaes256.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/outputmsk.md b/docs/models/outputmsk.md index a82465f2e..848bea8a4 100644 --- a/docs/models/outputmsk.md +++ b/docs/models/outputmsk.md @@ -40,7 +40,7 @@ | `duration_seconds` | *Optional[float]* | :heavy_minus_sign: | 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). | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | diff --git a/docs/models/outputnetflow.md b/docs/models/outputnetflow.md index cb333dd7a..c1679472f 100644 --- a/docs/models/outputnetflow.md +++ b/docs/models/outputnetflow.md @@ -14,6 +14,6 @@ | `hosts` | List[[models.OutputNetflowHost](../models/outputnetflowhost.md)] | :heavy_check_mark: | One or more NetFlow Destinations to forward events to | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup. | | `enable_ip_spoofing` | *Optional[bool]* | :heavy_minus_sign: | Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_record_size` | *Optional[float]* | :heavy_minus_sign: | MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/outputnewrelic.md b/docs/models/outputnewrelic.md index 07a485185..9c8e6dfc8 100644 --- a/docs/models/outputnewrelic.md +++ b/docs/models/outputnewrelic.md @@ -32,7 +32,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputnewrelicevents.md b/docs/models/outputnewrelicevents.md index 5fc4447c0..fea33c8a5 100644 --- a/docs/models/outputnewrelicevents.md +++ b/docs/models/outputnewrelicevents.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputnutanixobjects.md b/docs/models/outputnutanixobjects.md index 5ce0d7beb..e968e04c0 100644 --- a/docs/models/outputnutanixobjects.md +++ b/docs/models/outputnutanixobjects.md @@ -40,7 +40,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputopentelemetry.md b/docs/models/outputopentelemetry.md index 4720024d8..80db60529 100644 --- a/docs/models/outputopentelemetry.md +++ b/docs/models/outputopentelemetry.md @@ -32,7 +32,7 @@ | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/outputprometheus.md b/docs/models/outputprometheus.md index 72766e820..280bef110 100644 --- a/docs/models/outputprometheus.md +++ b/docs/models/outputprometheus.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.OutputPrometheusAuthenticationType]](../models/outputprometheusauthenticationtype.md) | :heavy_minus_sign: | Remote Write authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `metrics_flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputresponse.md b/docs/models/outputresponse.md index 38a597a11..c01728393 100644 --- a/docs/models/outputresponse.md +++ b/docs/models/outputresponse.md @@ -485,3 +485,9 @@ value: models.OutputResponseOutputScalityS3 = /* values here */ value: models.OutputResponseOutputAlibabaCloudS3 = /* values here */ ``` +### `models.OutputResponseOutputIbmCloudS3` + +```python +value: models.OutputResponseOutputIbmCloudS3 = /* values here */ +``` + diff --git a/docs/models/outputresponseauthenticationmethodalibabaclouds3.md b/docs/models/outputresponseauthenticationmethodalibabaclouds3.md new file mode 100644 index 000000000..192672b29 --- /dev/null +++ b/docs/models/outputresponseauthenticationmethodalibabaclouds3.md @@ -0,0 +1,21 @@ +# OutputResponseAuthenticationMethodAlibabaCloudS3 + +Authentication method. + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseAuthenticationMethodAlibabaCloudS3 + +value = OutputResponseAuthenticationMethodAlibabaCloudS3.AUTO + +# Open enum: unrecognized values are captured as UnrecognizedStr +``` + + +## Values + +| Name | Value | +| -------- | -------- | +| `AUTO` | auto | +| `SECRET` | secret | \ No newline at end of file diff --git a/docs/models/outputresponseoutputalibabaclouds3.md b/docs/models/outputresponseoutputalibabaclouds3.md index 332ebc293..7e0d013c8 100644 --- a/docs/models/outputresponseoutputalibabaclouds3.md +++ b/docs/models/outputresponseoutputalibabaclouds3.md @@ -11,7 +11,7 @@ | `system_fields` | List[*str*] | :heavy_minus_sign: | Fields to automatically add to events, such as cribl_pipe. Supports wildcards. | | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | -| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `aws_authentication_method` | [Optional[models.OutputResponseAuthenticationMethodAlibabaCloudS3]](../models/outputresponseauthenticationmethodalibabaclouds3.md) | :heavy_minus_sign: | Authentication method. | | `reuse_connections` | *Optional[bool]* | :heavy_minus_sign: | Reuse connections between requests, which can improve performance | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates that cannot be verified against a valid CA, such as self-signed certificates | | `bucket` | *str* | :heavy_check_mark: | Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}` | @@ -40,7 +40,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `endpoint` | *str* | :heavy_check_mark: | Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com` | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputresponseoutputalphasocs3.md b/docs/models/outputresponseoutputalphasocs3.md index 229294f8c..67ce9f29e 100644 --- a/docs/models/outputresponseoutputalphasocs3.md +++ b/docs/models/outputresponseoutputalphasocs3.md @@ -39,7 +39,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputresponseoutputazureblob.md b/docs/models/outputresponseoutputazureblob.md index adbddf0a2..d0fa94860 100644 --- a/docs/models/outputresponseoutputazureblob.md +++ b/docs/models/outputresponseoutputazureblob.md @@ -36,7 +36,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `auth_type` | [Optional[models.AuthenticationMethodOptions]](../models/authenticationmethodoptions.md) | :heavy_minus_sign: | N/A | | `storage_class` | [Optional[models.OutputResponseBlobAccessTier]](../models/outputresponseblobaccesstier.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/outputresponseoutputazuredataexplorer.md b/docs/models/outputresponseoutputazuredataexplorer.md index dad46f3f4..2153671e7 100644 --- a/docs/models/outputresponseoutputazuredataexplorer.md +++ b/docs/models/outputresponseoutputazuredataexplorer.md @@ -21,7 +21,7 @@ | `client_id` | *str* | :heavy_check_mark: | client_id to pass in the OAuth request parameter | | `scope` | *str* | :heavy_check_mark: | Scope to pass in the OAuth request parameter | | `oauth_type` | [models.OutputResponseAuthenticationMethodAzureDataExplorer](../models/outputresponseauthenticationmethodazuredataexplorer.md) | :heavy_check_mark: | The type of OAuth 2.0 client credentials grant flow to use | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `client_secret` | *Optional[str]* | :heavy_minus_sign: | The client secret that you generated for your app in the Azure portal | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `certificate` | [Optional[models.OutputResponseCertificate]](../models/outputresponsecertificate.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/outputresponseoutputazureeventhub.md b/docs/models/outputresponseoutputazureeventhub.md index 487289571..ebdc6dccd 100644 --- a/docs/models/outputresponseoutputazureeventhub.md +++ b/docs/models/outputresponseoutputazureeventhub.md @@ -29,7 +29,7 @@ | `sasl` | [Optional[models.AuthenticationTypeUse]](../models/authenticationtypeuse.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `tls` | [Optional[models.TLSSettingsClientSideType]](../models/tlssettingsclientsidetype.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputresponseoutputazurelogs.md b/docs/models/outputresponseoutputazurelogs.md index a212e7281..669a79f4e 100644 --- a/docs/models/outputresponseoutputazurelogs.md +++ b/docs/models/outputresponseoutputazurelogs.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.OutputResponseAuthenticationMethodAzureLogs]](../models/outputresponseauthenticationmethodazurelogs.md) | :heavy_minus_sign: | Enter workspace ID and workspace key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputresponseoutputchronicle.md b/docs/models/outputresponseoutputchronicle.md index aa4f35015..cf2f84fda 100644 --- a/docs/models/outputresponseoutputchronicle.md +++ b/docs/models/outputresponseoutputchronicle.md @@ -38,7 +38,7 @@ | `gcp_instance` | *str* | :heavy_check_mark: | The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid. | | `custom_labels` | List[[models.OutputResponseCustomLabel](../models/outputresponsecustomlabel.md)] | :heavy_minus_sign: | Custom labels to be added to every event | | `endpoint` | *Optional[str]* | :heavy_minus_sign: | Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `service_account_credentials` | *Optional[str]* | :heavy_minus_sign: | Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right. | | `service_account_credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputclickhouse.md b/docs/models/outputresponseoutputclickhouse.md index 41ddafc1c..3b5db2bec 100644 --- a/docs/models/outputresponseoutputclickhouse.md +++ b/docs/models/outputresponseoutputclickhouse.md @@ -36,7 +36,7 @@ | `workload` | *Optional[str]* | :heavy_minus_sign: | Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification. | | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/outputresponseoutputcloudflarer2.md b/docs/models/outputresponseoutputcloudflarer2.md index 7f98c3bad..cbd7a4693 100644 --- a/docs/models/outputresponseoutputcloudflarer2.md +++ b/docs/models/outputresponseoutputcloudflarer2.md @@ -42,7 +42,7 @@ | `endpoint` | *str* | :heavy_check_mark: | Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com) | | `storage_class` | [Optional[models.StorageClassOptionsReducedredundancyStandard]](../models/storageclassoptionsreducedredundancystandard.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptionsAes256]](../models/serversideencryptionforuploadedobjectsoptionsaes256.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputresponseoutputcloudians3.md b/docs/models/outputresponseoutputcloudians3.md index aaf1ed9ba..b17497fff 100644 --- a/docs/models/outputresponseoutputcloudians3.md +++ b/docs/models/outputresponseoutputcloudians3.md @@ -44,7 +44,7 @@ | `storage_class` | [Optional[models.StorageClassOptions]](../models/storageclassoptions.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputresponseoutputcloudwatch.md b/docs/models/outputresponseoutputcloudwatch.md index 208bdde9d..c1cf4024d 100644 --- a/docs/models/outputresponseoutputcloudwatch.md +++ b/docs/models/outputresponseoutputcloudwatch.md @@ -27,7 +27,7 @@ | `max_record_size_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputconfluentcloud.md b/docs/models/outputresponseoutputconfluentcloud.md index bc43b9a35..977cbfdc0 100644 --- a/docs/models/outputresponseoutputconfluentcloud.md +++ b/docs/models/outputresponseoutputconfluentcloud.md @@ -31,7 +31,7 @@ | `reauthentication_threshold` | *Optional[float]* | :heavy_minus_sign: | Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire. | | `sasl` | [Optional[models.AuthenticationType]](../models/authenticationtype.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | | `protobuf_encoding_id` | *Optional[str]* | :heavy_minus_sign: | Select the type of object you want the Protobuf definitions to use for event encoding | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputcriblhttp.md b/docs/models/outputresponseoutputcriblhttp.md index 26cebfe7f..20e6de8a7 100644 --- a/docs/models/outputresponseoutputcriblhttp.md +++ b/docs/models/outputresponseoutputcriblhttp.md @@ -31,7 +31,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `auth_tokens` | List[[models.AuthTokenConfOutputCriblHTTP](../models/authtokenconfoutputcriblhttp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a Cribl Worker to send events to, such as http://localhost:10200 | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputresponseoutputcribllake.md b/docs/models/outputresponseoutputcribllake.md index a40233aa8..a55185cc8 100644 --- a/docs/models/outputresponseoutputcribllake.md +++ b/docs/models/outputresponseoutputcribllake.md @@ -33,7 +33,7 @@ | `dynamic_dataset` | *Optional[bool]* | :heavy_minus_sign: | N/A | | `max_closing_files_to_backpressure` | *Optional[float]* | :heavy_minus_sign: | N/A | | `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/outputresponseoutputcriblsearchengine.md b/docs/models/outputresponseoutputcriblsearchengine.md index 8de290935..3c40fcfad 100644 --- a/docs/models/outputresponseoutputcriblsearchengine.md +++ b/docs/models/outputresponseoutputcriblsearchengine.md @@ -32,7 +32,7 @@ | `auth_tokens` | List[[models.AuthTokenConfOutputCriblHTTP](../models/authtokenconfoutputcriblhttp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL of a Cribl Worker to send events to, such as http://localhost:10200 | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | | `urls` | List[[models.URLConfOutputCriblHTTP](../models/urlconfoutputcriblhttp.md)] | :heavy_minus_sign: | N/A | diff --git a/docs/models/outputresponseoutputcribltcp.md b/docs/models/outputresponseoutputcribltcp.md index e0761bb33..c195ca543 100644 --- a/docs/models/outputresponseoutputcribltcp.md +++ b/docs/models/outputresponseoutputcribltcp.md @@ -22,7 +22,7 @@ | `auth_tokens` | List[[models.AuthTokenConfInputCriblTCP](../models/authtokenconfinputcribltcp.md)] | :heavy_minus_sign: | Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud. | | `exclude_fields` | List[*str*] | :heavy_minus_sign: | Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputresponseoutputcrowdstrikenextgensiem.md b/docs/models/outputresponseoutputcrowdstrikenextgensiem.md index 2e7c2f83f..828c89da7 100644 --- a/docs/models/outputresponseoutputcrowdstrikenextgensiem.md +++ b/docs/models/outputresponseoutputcrowdstrikenextgensiem.md @@ -29,7 +29,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | N/A | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputcustomermetricsstorage.md b/docs/models/outputresponseoutputcustomermetricsstorage.md index eeb2ad529..e6bac2a96 100644 --- a/docs/models/outputresponseoutputcustomermetricsstorage.md +++ b/docs/models/outputresponseoutputcustomermetricsstorage.md @@ -36,7 +36,7 @@ | `workload` | *Optional[str]* | :heavy_minus_sign: | Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification. | | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/outputresponseoutputdatabricks.md b/docs/models/outputresponseoutputdatabricks.md index c270f0235..8a210702f 100644 --- a/docs/models/outputresponseoutputdatabricks.md +++ b/docs/models/outputresponseoutputdatabricks.md @@ -40,7 +40,7 @@ | `events_volume_name` | *str* | :heavy_check_mark: | Name of the Unity Catalog volume where event data is written. | | `client_text_secret` | *str* | :heavy_check_mark: | OAuth client secret for Unity Catalog authentication | | `timeout_sec` | *Optional[int]* | :heavy_minus_sign: | Amount of time, in seconds, to wait for a request to complete before canceling it. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/outputresponseoutputdatadog.md b/docs/models/outputresponseoutputdatadog.md index d0a92cdd7..7c950e99b 100644 --- a/docs/models/outputresponseoutputdatadog.md +++ b/docs/models/outputresponseoutputdatadog.md @@ -39,7 +39,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputresponseoutputdataset.md b/docs/models/outputresponseoutputdataset.md index f17374b21..3bedfcf59 100644 --- a/docs/models/outputresponseoutputdataset.md +++ b/docs/models/outputresponseoutputdataset.md @@ -34,7 +34,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputresponseoutputdells3.md b/docs/models/outputresponseoutputdells3.md index e84687fbc..bd7c97766 100644 --- a/docs/models/outputresponseoutputdells3.md +++ b/docs/models/outputresponseoutputdells3.md @@ -41,7 +41,7 @@ | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `endpoint` | *str* | :heavy_check_mark: | Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputresponseoutputdiskspool.md b/docs/models/outputresponseoutputdiskspool.md index de9863aef..0bc976cde 100644 --- a/docs/models/outputresponseoutputdiskspool.md +++ b/docs/models/outputresponseoutputdiskspool.md @@ -16,7 +16,7 @@ | `max_data_time` | *Optional[str]* | :heavy_minus_sign: | Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h. | | `compress` | [Optional[models.CompressionOptionsPersistence]](../models/compressionoptionspersistence.md) | :heavy_minus_sign: | Data compression format. Default is gzip. | | `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Destination. | | `status` | [Optional[models.StatusType]](../models/statustype.md) | :heavy_minus_sign: | Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable. | \ No newline at end of file diff --git a/docs/models/outputresponseoutputdls3.md b/docs/models/outputresponseoutputdls3.md index 4d99b8bec..36c89a244 100644 --- a/docs/models/outputresponseoutputdls3.md +++ b/docs/models/outputresponseoutputdls3.md @@ -49,7 +49,7 @@ | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | | `partitioning_fields` | List[*str*] | :heavy_minus_sign: | List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/outputresponseoutputdynatracehttp.md b/docs/models/outputresponseoutputdynatracehttp.md index 9333b4f96..923c5c4f6 100644 --- a/docs/models/outputresponseoutputdynatracehttp.md +++ b/docs/models/outputresponseoutputdynatracehttp.md @@ -33,7 +33,7 @@ | `endpoint` | [models.OutputResponseEndpointDynatraceHTTP](../models/outputresponseendpointdynatracehttp.md) | :heavy_check_mark: | N/A | | `telemetry_type` | [models.OutputResponseTelemetryType](../models/outputresponsetelemetrytype.md) | :heavy_check_mark: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputresponseoutputdynatraceotlp.md b/docs/models/outputresponseoutputdynatraceotlp.md index d12ea8b91..d4fceedef 100644 --- a/docs/models/outputresponseoutputdynatraceotlp.md +++ b/docs/models/outputresponseoutputdynatraceotlp.md @@ -34,7 +34,7 @@ | `token_secret` | *str* | :heavy_check_mark: | Select or create a stored text secret | | `auth_token_name` | *Optional[str]* | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's).
Enabled by default. When this setting is also present in TLS Settings (Client Side),
that value will take precedence. | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | diff --git a/docs/models/outputresponseoutputelastic.md b/docs/models/outputresponseoutputelastic.md index bcc0f506f..25775b11f 100644 --- a/docs/models/outputresponseoutputelastic.md +++ b/docs/models/outputresponseoutputelastic.md @@ -35,7 +35,7 @@ | `write_action` | [Optional[models.OutputResponseWriteAction]](../models/outputresponsewriteaction.md) | :heavy_minus_sign: | Action to use when writing events. Must be set to `Create` when writing to a data stream. | | `retry_partial_errors` | *Optional[bool]* | :heavy_minus_sign: | Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputresponseoutputelasticcloud.md b/docs/models/outputresponseoutputelasticcloud.md index 721a555c5..e5b5956a8 100644 --- a/docs/models/outputresponseoutputelasticcloud.md +++ b/docs/models/outputresponseoutputelasticcloud.md @@ -31,7 +31,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputresponseoutputexabeam.md b/docs/models/outputresponseoutputexabeam.md index ba48df427..fe1e837d0 100644 --- a/docs/models/outputresponseoutputexabeam.md +++ b/docs/models/outputresponseoutputexabeam.md @@ -37,7 +37,7 @@ | `timezone_offset` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`. | | `aws_secret_key` | *Optional[str]* | :heavy_minus_sign: | HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | | `directory_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory. | | `deadletter_path` | *Optional[str]* | :heavy_minus_sign: | Storage location for files that fail to reach their final destination after maximum retries are exceeded | diff --git a/docs/models/outputresponseoutputfilesystem.md b/docs/models/outputresponseoutputfilesystem.md index 559012b66..6014365c9 100644 --- a/docs/models/outputresponseoutputfilesystem.md +++ b/docs/models/outputresponseoutputfilesystem.md @@ -31,7 +31,7 @@ | `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/outputresponseoutputgooglechronicle.md b/docs/models/outputresponseoutputgooglechronicle.md index 298fb39d0..b1168e20c 100644 --- a/docs/models/outputresponseoutputgooglechronicle.md +++ b/docs/models/outputresponseoutputgooglechronicle.md @@ -31,7 +31,7 @@ | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `extra_log_types` | List[[models.OutputResponseExtraLogType](../models/outputresponseextralogtype.md)] | :heavy_minus_sign: | Custom log types. If the value "Custom" is selected in the setting "Default log type" above, the first custom log type in this table will be automatically selected as default log type. | | `log_type` | *Optional[str]* | :heavy_minus_sign: | Default log type value to send to SecOps. Can be overwritten by event field __logType. | | `log_text_field` | *Optional[str]* | :heavy_minus_sign: | Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event. | diff --git a/docs/models/outputresponseoutputgooglecloudlogging.md b/docs/models/outputresponseoutputgooglecloudlogging.md index 0712cdd3d..2f81e7364 100644 --- a/docs/models/outputresponseoutputgooglecloudlogging.md +++ b/docs/models/outputresponseoutputgooglecloudlogging.md @@ -60,7 +60,7 @@ | `trace_sampled_expression` | *Optional[str]* | :heavy_minus_sign: | A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `log_location_expression` | *str* | :heavy_check_mark: | JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore. | | `payload_expression` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputgooglecloudobservability.md b/docs/models/outputresponseoutputgooglecloudobservability.md index 9406847e8..d3c98f4ec 100644 --- a/docs/models/outputresponseoutputgooglecloudobservability.md +++ b/docs/models/outputresponseoutputgooglecloudobservability.md @@ -26,9 +26,9 @@ | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `tls` | [Optional[models.TLSSettingsClientSideTypeExtended]](../models/tlssettingsclientsidetypeextended.md) | :heavy_minus_sign: | N/A | -| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Max number of events to include in the request body. Default is 0 (unlimited). | +| `max_payload_events` | *Optional[float]* | :heavy_minus_sign: | Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputresponseoutputgooglecloudstorage.md b/docs/models/outputresponseoutputgooglecloudstorage.md index 5be304f15..163a935a1 100644 --- a/docs/models/outputresponseoutputgooglecloudstorage.md +++ b/docs/models/outputresponseoutputgooglecloudstorage.md @@ -40,7 +40,7 @@ | `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | | `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | diff --git a/docs/models/outputresponseoutputgooglepubsub.md b/docs/models/outputresponseoutputgooglepubsub.md index d1e1544a6..87228be69 100644 --- a/docs/models/outputresponseoutputgooglepubsub.md +++ b/docs/models/outputresponseoutputgooglepubsub.md @@ -25,7 +25,7 @@ | `flush_period` | *Optional[float]* | :heavy_minus_sign: | Maximum time to wait before sending a batch (when batch size limit is not reached) | | `max_in_progress` | *Optional[float]* | :heavy_minus_sign: | The maximum number of in-progress API requests before backpressure is applied. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputresponseoutputgrafanacloudgrafanacloud1.md b/docs/models/outputresponseoutputgrafanacloudgrafanacloud1.md index fb891e82b..ceeb15887 100644 --- a/docs/models/outputresponseoutputgrafanacloudgrafanacloud1.md +++ b/docs/models/outputresponseoutputgrafanacloudgrafanacloud1.md @@ -33,7 +33,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputresponseoutputgrafanacloudgrafanacloud2.md b/docs/models/outputresponseoutputgrafanacloudgrafanacloud2.md index 10df618a5..7be4ef3fc 100644 --- a/docs/models/outputresponseoutputgrafanacloudgrafanacloud2.md +++ b/docs/models/outputresponseoutputgrafanacloudgrafanacloud2.md @@ -33,7 +33,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputresponseoutputgraphite.md b/docs/models/outputresponseoutputgraphite.md index 0b4403ecf..045571801 100644 --- a/docs/models/outputresponseoutputgraphite.md +++ b/docs/models/outputresponseoutputgraphite.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/outputresponseoutputhoneycomb.md b/docs/models/outputresponseoutputhoneycomb.md index a3ab96cb7..0ed9a49e6 100644 --- a/docs/models/outputresponseoutputhoneycomb.md +++ b/docs/models/outputresponseoutputhoneycomb.md @@ -28,7 +28,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputresponseoutputhumiohec.md b/docs/models/outputresponseoutputhumiohec.md index 8ebdbc254..d72cbe1b5 100644 --- a/docs/models/outputresponseoutputhumiohec.md +++ b/docs/models/outputresponseoutputhumiohec.md @@ -29,7 +29,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | CrowdStrike Falcon LogScale authentication token | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputibmclouds3.md b/docs/models/outputresponseoutputibmclouds3.md new file mode 100644 index 000000000..0abde8173 --- /dev/null +++ b/docs/models/outputresponseoutputibmclouds3.md @@ -0,0 +1,73 @@ +# OutputResponseOutputIbmCloudS3 + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for this output | +| `type` | [models.OutputResponseTypeIbmCloudS3](../models/outputresponsetypeibmclouds3.md) | :heavy_check_mark: | N/A | +| `pipeline` | *Optional[str]* | :heavy_minus_sign: | Pipeline to process data before sending out to this output | +| `system_fields` | List[*str*] | :heavy_minus_sign: | Fields to automatically add to events, such as cribl_pipe. Supports wildcards. | +| `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | +| `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | +| `endpoint` | *str* | :heavy_check_mark: | IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud) | +| `aws_authentication_method` | [Optional[models.AuthenticationMethodOptionsSecret]](../models/authenticationmethodoptionssecret.md) | :heavy_minus_sign: | Authentication method. | +| `reuse_connections` | *Optional[bool]* | :heavy_minus_sign: | Reuse connections between requests, which can improve performance | +| `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates that cannot be verified against a valid CA, such as self-signed certificates | +| `bucket` | *str* | :heavy_check_mark: | Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}` | +| `dest_path` | *Optional[str]* | :heavy_minus_sign: | Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}` | +| `max_concurrent_file_parts` | *Optional[float]* | :heavy_minus_sign: | Maximum number of parts to upload in parallel per file. Minimum part size is 5MB. | +| `verify_permissions` | *Optional[bool]* | :heavy_minus_sign: | Disable if you can access files within the bucket but not the bucket itself | +| `max_closing_files_to_backpressure` | *Optional[float]* | :heavy_minus_sign: | Maximum number of files that can be waiting for upload before backpressure is applied | +| `stage_path` | *str* | :heavy_check_mark: | Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage. | +| `add_id_to_stage_path` | *Optional[bool]* | :heavy_minus_sign: | Add the Output ID value to staging location | +| `remove_empty_dirs` | *Optional[bool]* | :heavy_minus_sign: | Remove empty staging directories after moving files | +| `partition_expr` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory. | +| `format_` | [Optional[models.DataFormatOptions]](../models/dataformatoptions.md) | :heavy_minus_sign: | Format of the output data | +| `base_file_name` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to define the output filename prefix (can be constant) | +| `file_name_suffix` | *Optional[str]* | :heavy_minus_sign: | JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`). | +| `max_file_size_mb` | *Optional[float]* | :heavy_minus_sign: | Maximum uncompressed output file size. Files of this size will be closed and moved to final output location. | +| `max_file_open_time_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location. | +| `max_file_idle_time_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location. | +| `max_open_files` | *Optional[float]* | :heavy_minus_sign: | Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location. | +| `header_line` | *Optional[str]* | :heavy_minus_sign: | If set, this line will be written to the beginning of each output file | +| `write_high_water_mark` | *Optional[float]* | :heavy_minus_sign: | Buffer size used to write to a file | +| `on_backpressure` | [Optional[models.BackpressureBehaviorOptionsBlockDrop]](../models/backpressurebehavioroptionsblockdrop.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | +| `deadletter_enabled` | *Optional[bool]* | :heavy_minus_sign: | If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors | +| `on_disk_full_backpressure` | [Optional[models.DiskSpaceProtectionOptions]](../models/diskspaceprotectionoptions.md) | :heavy_minus_sign: | How to handle events when disk space is below the global 'Min free disk space' limit | +| `force_close_on_shutdown` | *Optional[bool]* | :heavy_minus_sign: | Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss. | +| `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | +| `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | +| `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | +| `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | +| `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | +| `automatic_schema` | *Optional[bool]* | :heavy_minus_sign: | Automatically calculate the schema based on the events of each Parquet file generated | +| `parquet_schema` | *Optional[str]* | :heavy_minus_sign: | To add a new schema, navigate to Processing > Knowledge > Parquet Schemas | +| `parquet_version` | [Optional[models.ParquetVersionOptions]](../models/parquetversionoptions.md) | :heavy_minus_sign: | Determines which data types are supported and how they are represented | +| `parquet_data_page_version` | [Optional[models.DataPageVersionOptions]](../models/datapageversionoptions.md) | :heavy_minus_sign: | Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it. | +| `parquet_row_group_length` | *Optional[float]* | :heavy_minus_sign: | The number of rows that every group will contain. The final group can contain a smaller number of rows. | +| `parquet_page_size` | *Optional[str]* | :heavy_minus_sign: | Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression. | +| `should_log_invalid_rows` | *Optional[bool]* | :heavy_minus_sign: | Log up to 3 rows that @{product} skips due to data mismatch | +| `key_value_metadata` | List[[models.KeyValueMetadataConfOutputFilesystem](../models/keyvaluemetadataconfoutputfilesystem.md)] | :heavy_minus_sign: | The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: "key":"OCSF Event Class", "value":"9001" | +| `enable_statistics` | *Optional[bool]* | :heavy_minus_sign: | Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics. | +| `enable_write_page_index` | *Optional[bool]* | :heavy_minus_sign: | One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping. | +| `enable_page_checksum` | *Optional[bool]* | :heavy_minus_sign: | Parquet tools can use the checksum of a Parquet page to verify data integrity | +| `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | +| `directory_batch_size` | *Optional[float]* | :heavy_minus_sign: | Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory. | +| `deadletter_path` | *Optional[str]* | :heavy_minus_sign: | Storage location for files that fail to reach their final destination after maximum retries are exceeded | +| `max_retry_num` | *Optional[float]* | :heavy_minus_sign: | The maximum number of times a file will attempt to move to its final destination before being dead-lettered | +| `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | +| `template_endpoint` | *Optional[str]* | :heavy_minus_sign: | Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime. | +| `template_bucket` | *Optional[str]* | :heavy_minus_sign: | Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime. | +| `template_dest_path` | *Optional[str]* | :heavy_minus_sign: | Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime. | +| `template_partition_expr` | *Optional[str]* | :heavy_minus_sign: | Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime. | +| `template_format` | *Optional[str]* | :heavy_minus_sign: | Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime. | +| `template_base_file_name` | *Optional[str]* | :heavy_minus_sign: | Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime. | +| `template_file_name_suffix` | *Optional[str]* | :heavy_minus_sign: | Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime. | +| `template_on_backpressure` | *Optional[str]* | :heavy_minus_sign: | Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. | +| `template_compress` | *Optional[str]* | :heavy_minus_sign: | Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime. | +| `template_parquet_schema` | *Optional[str]* | :heavy_minus_sign: | Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime. | +| `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Destination. | +| `status` | [Optional[models.StatusType]](../models/statustype.md) | :heavy_minus_sign: | Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable. | \ No newline at end of file diff --git a/docs/models/outputresponseoutputinfluxdb.md b/docs/models/outputresponseoutputinfluxdb.md index fb59d4c42..b147de43f 100644 --- a/docs/models/outputresponseoutputinfluxdb.md +++ b/docs/models/outputresponseoutputinfluxdb.md @@ -32,7 +32,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.OutputResponseAuthenticationTypeInfluxdb]](../models/outputresponseauthenticationtypeinfluxdb.md) | :heavy_minus_sign: | InfluxDB authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `database` | *Optional[str]* | :heavy_minus_sign: | Database to write to. | | `bucket` | *Optional[str]* | :heavy_minus_sign: | Bucket to write to. | | `org` | *Optional[str]* | :heavy_minus_sign: | Organization ID for this bucket. | diff --git a/docs/models/outputresponseoutputkafka.md b/docs/models/outputresponseoutputkafka.md index d30389832..9b4ea81e8 100644 --- a/docs/models/outputresponseoutputkafka.md +++ b/docs/models/outputresponseoutputkafka.md @@ -31,7 +31,7 @@ | `sasl` | [Optional[models.AuthenticationType]](../models/authenticationtype.md) | :heavy_minus_sign: | Authentication parameters to use when connecting to brokers. Using TLS is highly recommended. | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | | `protobuf_encoding_id` | *Optional[str]* | :heavy_minus_sign: | Select the type of object you want the Protobuf definitions to use for event encoding | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputkinesis.md b/docs/models/outputresponseoutputkinesis.md index 1fd005c5d..bd0739edf 100644 --- a/docs/models/outputresponseoutputkinesis.md +++ b/docs/models/outputresponseoutputkinesis.md @@ -29,7 +29,7 @@ | `use_list_shards` | *Optional[bool]* | :heavy_minus_sign: | Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details. | | `as_ndjson` | *Optional[bool]* | :heavy_minus_sign: | Batch events into a single record as NDJSON | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `max_events_per_flush` | *Optional[float]* | :heavy_minus_sign: | Maximum number of records to send in a single request | diff --git a/docs/models/outputresponseoutputlocalsearchstorage.md b/docs/models/outputresponseoutputlocalsearchstorage.md index 3b2d40147..27190ede0 100644 --- a/docs/models/outputresponseoutputlocalsearchstorage.md +++ b/docs/models/outputresponseoutputlocalsearchstorage.md @@ -37,7 +37,7 @@ | `dump_format_errors_to_disk` | *Optional[bool]* | :heavy_minus_sign: | Log the most recent event that fails to match the table schema | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `stats_destination` | [Optional[models.OutputResponseStatsDestination]](../models/outputresponsestatsdestination.md) | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `credentials_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a secret that references your credentials | diff --git a/docs/models/outputresponseoutputloki.md b/docs/models/outputresponseoutputloki.md index 5a75364e3..ac4df77c4 100644 --- a/docs/models/outputresponseoutputloki.md +++ b/docs/models/outputresponseoutputloki.md @@ -32,7 +32,7 @@ | `enable_dynamic_headers` | *Optional[bool]* | :heavy_minus_sign: | Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `compress` | *Optional[bool]* | :heavy_minus_sign: | Compress the payload body before sending | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: : | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | diff --git a/docs/models/outputresponseoutputmicrosoftfabric.md b/docs/models/outputresponseoutputmicrosoftfabric.md index afbd9d6de..1059c1018 100644 --- a/docs/models/outputresponseoutputmicrosoftfabric.md +++ b/docs/models/outputresponseoutputmicrosoftfabric.md @@ -29,7 +29,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideType]](../models/tlssettingsclientsidetype.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `bootstrap_server` | *str* | :heavy_check_mark: | Bootstrap server from Fabric Eventstream's endpoint | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputresponseoutputminio.md b/docs/models/outputresponseoutputminio.md index d4df7071d..de64a6dbc 100644 --- a/docs/models/outputresponseoutputminio.md +++ b/docs/models/outputresponseoutputminio.md @@ -44,7 +44,7 @@ | `object_acl` | [Optional[models.ObjectACLOptions]](../models/objectacloptions.md) | :heavy_minus_sign: | Object ACL to assign to uploaded objects | | `storage_class` | [Optional[models.StorageClassOptionsReducedredundancyStandard]](../models/storageclassoptionsreducedredundancystandard.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptionsAes256]](../models/serversideencryptionforuploadedobjectsoptionsaes256.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/outputresponseoutputmsk.md b/docs/models/outputresponseoutputmsk.md index 37e5ea57b..1fdc2143d 100644 --- a/docs/models/outputresponseoutputmsk.md +++ b/docs/models/outputresponseoutputmsk.md @@ -40,7 +40,7 @@ | `duration_seconds` | *Optional[float]* | :heavy_minus_sign: | 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). | | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPath]](../models/tlssettingsclientsidetypecapathcertpath.md) | :heavy_minus_sign: | N/A | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `protobuf_library_id` | *Optional[str]* | :heavy_minus_sign: | Select a set of Protobuf definitions for the events you want to send | diff --git a/docs/models/outputresponseoutputnetflow.md b/docs/models/outputresponseoutputnetflow.md index 92627c6c0..02c5b0e39 100644 --- a/docs/models/outputresponseoutputnetflow.md +++ b/docs/models/outputresponseoutputnetflow.md @@ -14,7 +14,7 @@ | `hosts` | List[[models.OutputResponseHostNetflow](../models/outputresponsehostnetflow.md)] | :heavy_check_mark: | One or more NetFlow Destinations to forward events to | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup. | | `enable_ip_spoofing` | *Optional[bool]* | :heavy_minus_sign: | Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_record_size` | *Optional[float]* | :heavy_minus_sign: | MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Destination. | diff --git a/docs/models/outputresponseoutputnewrelic.md b/docs/models/outputresponseoutputnewrelic.md index 5ee53bf25..2fbea9cc5 100644 --- a/docs/models/outputresponseoutputnewrelic.md +++ b/docs/models/outputresponseoutputnewrelic.md @@ -32,7 +32,7 @@ | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputresponseoutputnewrelicevents.md b/docs/models/outputresponseoutputnewrelicevents.md index a0e68c02d..e01bf70b8 100644 --- a/docs/models/outputresponseoutputnewrelicevents.md +++ b/docs/models/outputresponseoutputnewrelicevents.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAPI]](../models/authenticationmethodoptionsapi.md) | :heavy_minus_sign: | Enter API key directly, or select a stored secret | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_url` | *Optional[str]* | :heavy_minus_sign: | N/A | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputresponseoutputnutanixobjects.md b/docs/models/outputresponseoutputnutanixobjects.md index 0c3533111..c8082399c 100644 --- a/docs/models/outputresponseoutputnutanixobjects.md +++ b/docs/models/outputresponseoutputnutanixobjects.md @@ -40,7 +40,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputresponseoutputopentelemetry.md b/docs/models/outputresponseoutputopentelemetry.md index 11775ec67..2a6a5e760 100644 --- a/docs/models/outputresponseoutputopentelemetry.md +++ b/docs/models/outputresponseoutputopentelemetry.md @@ -32,7 +32,7 @@ | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `username` | *Optional[str]* | :heavy_minus_sign: | N/A | | `password` | *Optional[str]* | :heavy_minus_sign: | N/A | | `token` | *Optional[str]* | :heavy_minus_sign: | Bearer token to include in the authorization header | diff --git a/docs/models/outputresponseoutputprometheus.md b/docs/models/outputresponseoutputprometheus.md index e6fb3f2d6..edf3afdbf 100644 --- a/docs/models/outputresponseoutputprometheus.md +++ b/docs/models/outputresponseoutputprometheus.md @@ -30,7 +30,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.OutputResponseAuthenticationTypePrometheus]](../models/outputresponseauthenticationtypeprometheus.md) | :heavy_minus_sign: | Remote Write authentication type | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `metrics_flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | diff --git a/docs/models/outputresponseoutputring.md b/docs/models/outputresponseoutputring.md index 09f15d584..3b82fcda9 100644 --- a/docs/models/outputresponseoutputring.md +++ b/docs/models/outputresponseoutputring.md @@ -18,7 +18,7 @@ | `compress` | [Optional[models.DataCompressionFormatOptionsPersistence]](../models/datacompressionformatoptionspersistence.md) | :heavy_minus_sign: | N/A | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | Path to use to write metrics. Defaults to $CRIBL_HOME/state/ | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptionsBlockDrop]](../models/backpressurebehavioroptionsblockdrop.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_on_backpressure` | *Optional[str]* | :heavy_minus_sign: | Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Destination. | diff --git a/docs/models/outputresponseoutputrouter.md b/docs/models/outputresponseoutputrouter.md index cc161931d..4b679c02c 100644 --- a/docs/models/outputresponseoutputrouter.md +++ b/docs/models/outputresponseoutputrouter.md @@ -12,7 +12,7 @@ | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | | `rules` | List[[models.OutputResponseRule](../models/outputresponserule.md)] | :heavy_check_mark: | Event routing rules | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Destination. | | `status` | [Optional[models.StatusType]](../models/statustype.md) | :heavy_minus_sign: | Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable. | \ No newline at end of file diff --git a/docs/models/outputresponseoutputs3.md b/docs/models/outputresponseoutputs3.md index 9a3435cd0..d3f3d97f4 100644 --- a/docs/models/outputresponseoutputs3.md +++ b/docs/models/outputresponseoutputs3.md @@ -49,7 +49,7 @@ | `storage_class` | [Optional[models.StorageClassOptions]](../models/storageclassoptions.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/outputresponseoutputscalitys3.md b/docs/models/outputresponseoutputscalitys3.md index fd10c49aa..c3e8f0687 100644 --- a/docs/models/outputresponseoutputscalitys3.md +++ b/docs/models/outputresponseoutputscalitys3.md @@ -40,7 +40,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputresponseoutputsecuritylake.md b/docs/models/outputresponseoutputsecuritylake.md index 4872d7725..39e0a20cd 100644 --- a/docs/models/outputresponseoutputsecuritylake.md +++ b/docs/models/outputresponseoutputsecuritylake.md @@ -57,7 +57,7 @@ | `enable_statistics` | *Optional[bool]* | :heavy_minus_sign: | Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics. | | `enable_write_page_index` | *Optional[bool]* | :heavy_minus_sign: | One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping. | | `enable_page_checksum` | *Optional[bool]* | :heavy_minus_sign: | Parquet tools can use the checksum of a Parquet page to verify data integrity | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | diff --git a/docs/models/outputresponseoutputsentinel.md b/docs/models/outputresponseoutputsentinel.md index 218d50267..610974c2b 100644 --- a/docs/models/outputresponseoutputsentinel.md +++ b/docs/models/outputresponseoutputsentinel.md @@ -34,7 +34,7 @@ | `scope` | *Optional[str]* | :heavy_minus_sign: | Scope to pass in the OAuth request | | `endpoint_url_configuration` | [models.OutputResponseEndpointConfiguration](../models/outputresponseendpointconfiguration.md) | :heavy_check_mark: | Enter the data collection endpoint URL or the individual ID | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `format_` | [Optional[models.OutputResponseFormatSentinel]](../models/outputresponseformatsentinel.md) | :heavy_minus_sign: | N/A | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | diff --git a/docs/models/outputresponseoutputsentineloneaisiem.md b/docs/models/outputresponseoutputsentineloneaisiem.md index 17f98d241..f3c74708c 100644 --- a/docs/models/outputresponseoutputsentineloneaisiem.md +++ b/docs/models/outputresponseoutputsentineloneaisiem.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `base_url` | *Optional[str]* | :heavy_minus_sign: | Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$. | diff --git a/docs/models/outputresponseoutputservicenow.md b/docs/models/outputresponseoutputservicenow.md index 3086da83b..d796ff24a 100644 --- a/docs/models/outputresponseoutputservicenow.md +++ b/docs/models/outputresponseoutputservicenow.md @@ -33,7 +33,7 @@ | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's).
Enabled by default. When this setting is also present in TLS Settings (Client Side),
that value will take precedence. | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | diff --git a/docs/models/outputresponseoutputsignalfx.md b/docs/models/outputresponseoutputsignalfx.md index 8688946e4..8a39e7a4c 100644 --- a/docs/models/outputresponseoutputsignalfx.md +++ b/docs/models/outputresponseoutputsignalfx.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens)) | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputsnmp.md b/docs/models/outputresponseoutputsnmp.md index 0d1feac21..5a2cc3c41 100644 --- a/docs/models/outputresponseoutputsnmp.md +++ b/docs/models/outputresponseoutputsnmp.md @@ -14,7 +14,7 @@ | `hosts` | List[[models.OutputResponseHostSnmp](../models/outputresponsehostsnmp.md)] | :heavy_check_mark: | One or more SNMP destinations to forward traps to | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup. | | `enable_ip_spoofing` | *Optional[bool]* | :heavy_minus_sign: | Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_record_size` | *Optional[float]* | :heavy_minus_sign: | MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `notifications` | List[[models.NotificationUnion](../models/notificationunion.md)] | :heavy_minus_sign: | Notifications attached to the Destination. | diff --git a/docs/models/outputresponseoutputsns.md b/docs/models/outputresponseoutputsns.md index 1c1a30690..bcf606cd5 100644 --- a/docs/models/outputresponseoutputsns.md +++ b/docs/models/outputresponseoutputsns.md @@ -25,7 +25,7 @@ | `assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | | `duration_seconds` | *Optional[float]* | :heavy_minus_sign: | 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). | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputsplunk.md b/docs/models/outputresponseoutputsplunk.md index 3e6e95384..0eddad01d 100644 --- a/docs/models/outputresponseoutputsplunk.md +++ b/docs/models/outputresponseoutputsplunk.md @@ -24,7 +24,7 @@ | `max_s2_sversion` | [Optional[models.MaxS2SVersionOptions]](../models/maxs2sversionoptions.md) | :heavy_minus_sign: | The highest S2S protocol version to advertise during handshake | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_failed_health_checks` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur. | | `compress` | [Optional[models.CompressionOptions]](../models/compressionoptions.md) | :heavy_minus_sign: | Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputsplunkhec.md b/docs/models/outputresponseoutputsplunkhec.md index 426b83947..51f8b42d2 100644 --- a/docs/models/outputresponseoutputsplunkhec.md +++ b/docs/models/outputresponseoutputsplunkhec.md @@ -31,7 +31,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputresponseoutputsplunklb.md b/docs/models/outputresponseoutputsplunklb.md index 6d6c80ddd..a65ae74d5 100644 --- a/docs/models/outputresponseoutputsplunklb.md +++ b/docs/models/outputresponseoutputsplunklb.md @@ -27,7 +27,7 @@ | `indexer_discovery` | *Optional[bool]* | :heavy_minus_sign: | Automatically discover indexers in indexer clustering environment. | | `sender_unhealthy_time_allowance` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute. | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_failed_health_checks` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur. | | `compress` | [Optional[models.CompressionOptions]](../models/compressionoptions.md) | :heavy_minus_sign: | Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data. | | `indexer_discovery_configs` | [Optional[models.OutputResponseIndexerDiscoveryConfigs]](../models/outputresponseindexerdiscoveryconfigs.md) | :heavy_minus_sign: | List of configurations to set up indexer discovery in Splunk Indexer clustering environment. | diff --git a/docs/models/outputresponseoutputsqs.md b/docs/models/outputresponseoutputsqs.md index 32b679bb2..e5b7dbcaf 100644 --- a/docs/models/outputresponseoutputsqs.md +++ b/docs/models/outputresponseoutputsqs.md @@ -31,7 +31,7 @@ | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size. | | `max_in_progress` | *Optional[float]* | :heavy_minus_sign: | The maximum number of in-progress API requests before backpressure is applied. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputstatsd.md b/docs/models/outputresponseoutputstatsd.md index e09ddf7eb..736ac930f 100644 --- a/docs/models/outputresponseoutputstatsd.md +++ b/docs/models/outputresponseoutputstatsd.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/outputresponseoutputstatsdext.md b/docs/models/outputresponseoutputstatsdext.md index 906961fb7..40665636d 100644 --- a/docs/models/outputresponseoutputstatsdext.md +++ b/docs/models/outputresponseoutputstatsdext.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/outputresponseoutputstorjs3.md b/docs/models/outputresponseoutputstorjs3.md index 98f46632e..3a82e50ee 100644 --- a/docs/models/outputresponseoutputstorjs3.md +++ b/docs/models/outputresponseoutputstorjs3.md @@ -39,7 +39,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputresponseoutputsumologic.md b/docs/models/outputresponseoutputsumologic.md index a83916c3f..02b375772 100644 --- a/docs/models/outputresponseoutputsumologic.md +++ b/docs/models/outputresponseoutputsumologic.md @@ -31,7 +31,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputresponseoutputsyslog.md b/docs/models/outputresponseoutputsyslog.md index 10a1c6d2e..1751566f6 100644 --- a/docs/models/outputresponseoutputsyslog.md +++ b/docs/models/outputresponseoutputsyslog.md @@ -20,7 +20,7 @@ | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `octet_count_framing` | *Optional[bool]* | :heavy_minus_sign: | Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n. | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | diff --git a/docs/models/outputresponseoutputtcpjson.md b/docs/models/outputresponseoutputtcpjson.md index 90c4f0021..3ec8e1a08 100644 --- a/docs/models/outputresponseoutputtcpjson.md +++ b/docs/models/outputresponseoutputtcpjson.md @@ -22,7 +22,7 @@ | `send_header` | *Optional[bool]* | :heavy_minus_sign: | Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputresponseoutputwavefront.md b/docs/models/outputresponseoutputwavefront.md index 1c3a5176b..8449bae52 100644 --- a/docs/models/outputresponseoutputwavefront.md +++ b/docs/models/outputresponseoutputwavefront.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token)) | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputresponseoutputwebhookwebhook1.md b/docs/models/outputresponseoutputwebhookwebhook1.md index 0ffe9751e..185cd777c 100644 --- a/docs/models/outputresponseoutputwebhookwebhook1.md +++ b/docs/models/outputresponseoutputwebhookwebhook1.md @@ -33,7 +33,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | | `custom_event_delimiter` | *Optional[str]* | :heavy_minus_sign: | Delimiter string to insert between individual events. Defaults to newline character. | diff --git a/docs/models/outputresponseoutputwebhookwebhook2.md b/docs/models/outputresponseoutputwebhookwebhook2.md index f084c48d4..83291d5b9 100644 --- a/docs/models/outputresponseoutputwebhookwebhook2.md +++ b/docs/models/outputresponseoutputwebhookwebhook2.md @@ -33,7 +33,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | | `custom_event_delimiter` | *Optional[str]* | :heavy_minus_sign: | Delimiter string to insert between individual events. Defaults to newline character. | diff --git a/docs/models/outputresponseoutputwizhec.md b/docs/models/outputresponseoutputwizhec.md index 777bfe1cf..40e1bac22 100644 --- a/docs/models/outputresponseoutputwizhec.md +++ b/docs/models/outputresponseoutputwizhec.md @@ -33,7 +33,7 @@ | `wiz_environment` | *str* | :heavy_check_mark: | Your Wiz deployment environment. | | `data_center` | *str* | :heavy_check_mark: | Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console. | | `wiz_sourcetype` | *str* | :heavy_check_mark: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputresponseoutputxsiam.md b/docs/models/outputresponseoutputxsiam.md index ca0782568..a56ee9cef 100644 --- a/docs/models/outputresponseoutputxsiam.md +++ b/docs/models/outputresponseoutputxsiam.md @@ -29,7 +29,7 @@ | `throttle_rate_req_per_sec` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests to limit to per second | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputresponsetypeibmclouds3.md b/docs/models/outputresponsetypeibmclouds3.md new file mode 100644 index 000000000..98fc2dc84 --- /dev/null +++ b/docs/models/outputresponsetypeibmclouds3.md @@ -0,0 +1,16 @@ +# OutputResponseTypeIbmCloudS3 + +## Example Usage + +```python +from cribl_control_plane.models import OutputResponseTypeIbmCloudS3 + +value = OutputResponseTypeIbmCloudS3.IBM_CLOUD_S3 +``` + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `IBM_CLOUD_S3` | ibm_cloud_s3 | \ No newline at end of file diff --git a/docs/models/outputring.md b/docs/models/outputring.md index 79c3af9d3..e4acb663b 100644 --- a/docs/models/outputring.md +++ b/docs/models/outputring.md @@ -18,6 +18,6 @@ | `compress` | [Optional[models.DataCompressionFormatOptionsPersistence]](../models/datacompressionformatoptionspersistence.md) | :heavy_minus_sign: | N/A | | `dest_path` | *Optional[str]* | :heavy_minus_sign: | Path to use to write metrics. Defaults to $CRIBL_HOME/state/ | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptionsBlockDrop]](../models/backpressurebehavioroptionsblockdrop.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | | `template_on_backpressure` | *Optional[str]* | :heavy_minus_sign: | Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime. | \ No newline at end of file diff --git a/docs/models/outputrouter.md b/docs/models/outputrouter.md index c125bf772..97e8ada21 100644 --- a/docs/models/outputrouter.md +++ b/docs/models/outputrouter.md @@ -12,5 +12,5 @@ | `environment` | *Optional[str]* | :heavy_minus_sign: | Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere. | | `streamtags` | List[*str*] | :heavy_minus_sign: | Tags for filtering and grouping in @{product} | | `rules` | List[[models.OutputRouterRule](../models/outputrouterrule.md)] | :heavy_check_mark: | Event routing rules | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/outputs3.md b/docs/models/outputs3.md index ea08f842d..6af9d7293 100644 --- a/docs/models/outputs3.md +++ b/docs/models/outputs3.md @@ -49,7 +49,7 @@ | `storage_class` | [Optional[models.StorageClassOptions]](../models/storageclassoptions.md) | :heavy_minus_sign: | Storage class to select for uploaded objects | | `server_side_encryption` | [Optional[models.ServerSideEncryptionForUploadedObjectsOptions]](../models/serversideencryptionforuploadedobjectsoptions.md) | :heavy_minus_sign: | Server-side encryption to use for uploaded objects | | `kms_key_id` | *Optional[str]* | :heavy_minus_sign: | ID or ARN of the KMS customer-managed key to use for encryption | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | diff --git a/docs/models/outputscalitys3.md b/docs/models/outputscalitys3.md index 80fe42f05..9fa16777e 100644 --- a/docs/models/outputscalitys3.md +++ b/docs/models/outputscalitys3.md @@ -40,7 +40,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputsecuritylake.md b/docs/models/outputsecuritylake.md index 74ce1408d..383b25350 100644 --- a/docs/models/outputsecuritylake.md +++ b/docs/models/outputsecuritylake.md @@ -57,7 +57,7 @@ | `enable_statistics` | *Optional[bool]* | :heavy_minus_sign: | Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics. | | `enable_write_page_index` | *Optional[bool]* | :heavy_minus_sign: | One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping. | | `enable_page_checksum` | *Optional[bool]* | :heavy_minus_sign: | Parquet tools can use the checksum of a Parquet page to verify data integrity | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`) | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `empty_dir_cleanup_sec` | *Optional[float]* | :heavy_minus_sign: | How frequently, in seconds, to clean up empty directories | diff --git a/docs/models/outputsentinel.md b/docs/models/outputsentinel.md index 078ab218a..f84fa0e0c 100644 --- a/docs/models/outputsentinel.md +++ b/docs/models/outputsentinel.md @@ -34,7 +34,7 @@ | `scope` | *Optional[str]* | :heavy_minus_sign: | Scope to pass in the OAuth request | | `endpoint_url_configuration` | [models.OutputSentinelEndpointConfiguration](../models/outputsentinelendpointconfiguration.md) | :heavy_check_mark: | Enter the data collection endpoint URL or the individual ID | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `format_` | [Optional[models.OutputSentinelFormat]](../models/outputsentinelformat.md) | :heavy_minus_sign: | N/A | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | diff --git a/docs/models/outputsentineloneaisiem.md b/docs/models/outputsentineloneaisiem.md index 1cdef647d..c03a075af 100644 --- a/docs/models/outputsentineloneaisiem.md +++ b/docs/models/outputsentineloneaisiem.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `base_url` | *Optional[str]* | :heavy_minus_sign: | Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$. | diff --git a/docs/models/outputservicenow.md b/docs/models/outputservicenow.md index 34a3126c3..a8343ca65 100644 --- a/docs/models/outputservicenow.md +++ b/docs/models/outputservicenow.md @@ -33,7 +33,7 @@ | `keep_alive_time` | *Optional[float]* | :heavy_minus_sign: | How often the sender should ping the peer to keep the connection open | | `keep_alive` | *Optional[bool]* | :heavy_minus_sign: | Disable to close the connection immediately after sending the outgoing request | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's).
Enabled by default. When this setting is also present in TLS Settings (Client Side),
that value will take precedence. | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `extra_http_headers` | List[[models.ExtraHTTPHeaderConfInputElastic](../models/extrahttpheaderconfinputelastic.md)] | :heavy_minus_sign: | Headers to add to all events | diff --git a/docs/models/outputsignalfx.md b/docs/models/outputsignalfx.md index a313a93c1..e5ef607d8 100644 --- a/docs/models/outputsignalfx.md +++ b/docs/models/outputsignalfx.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens)) | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputsnmp.md b/docs/models/outputsnmp.md index b2fc28fe9..1edb1ad49 100644 --- a/docs/models/outputsnmp.md +++ b/docs/models/outputsnmp.md @@ -14,6 +14,6 @@ | `hosts` | List[[models.OutputSnmpHost](../models/outputsnmphost.md)] | :heavy_check_mark: | One or more SNMP destinations to forward traps to | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup. | | `enable_ip_spoofing` | *Optional[bool]* | :heavy_minus_sign: | Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_record_size` | *Optional[float]* | :heavy_minus_sign: | MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped. | | `template_streamtags` | *Optional[str]* | :heavy_minus_sign: | Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime. | \ No newline at end of file diff --git a/docs/models/outputsns.md b/docs/models/outputsns.md index d22f03e41..10053ab41 100644 --- a/docs/models/outputsns.md +++ b/docs/models/outputsns.md @@ -25,7 +25,7 @@ | `assume_role_external_id` | *Optional[str]* | :heavy_minus_sign: | External ID to use when assuming role | | `duration_seconds` | *Optional[float]* | :heavy_minus_sign: | 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). | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputsplunk.md b/docs/models/outputsplunk.md index 31e7bcfb9..5e1a0dd03 100644 --- a/docs/models/outputsplunk.md +++ b/docs/models/outputsplunk.md @@ -24,7 +24,7 @@ | `max_s2_sversion` | [Optional[models.MaxS2SVersionOptions]](../models/maxs2sversionoptions.md) | :heavy_minus_sign: | The highest S2S protocol version to advertise during handshake | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_failed_health_checks` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur. | | `compress` | [Optional[models.CompressionOptions]](../models/compressionoptions.md) | :heavy_minus_sign: | Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputsplunkhec.md b/docs/models/outputsplunkhec.md index aa89a52ff..56fc344f2 100644 --- a/docs/models/outputsplunkhec.md +++ b/docs/models/outputsplunkhec.md @@ -31,7 +31,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputsplunklb.md b/docs/models/outputsplunklb.md index 67f391805..b59ee5d5c 100644 --- a/docs/models/outputsplunklb.md +++ b/docs/models/outputsplunklb.md @@ -27,7 +27,7 @@ | `indexer_discovery` | *Optional[bool]* | :heavy_minus_sign: | Automatically discover indexers in indexer clustering environment. | | `sender_unhealthy_time_allowance` | *Optional[float]* | :heavy_minus_sign: | How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute. | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `max_failed_health_checks` | *Optional[float]* | :heavy_minus_sign: | Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur. | | `compress` | [Optional[models.CompressionOptions]](../models/compressionoptions.md) | :heavy_minus_sign: | Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data. | | `indexer_discovery_configs` | [Optional[models.OutputSplunkLbIndexerDiscoveryConfigs]](../models/outputsplunklbindexerdiscoveryconfigs.md) | :heavy_minus_sign: | List of configurations to set up indexer discovery in Splunk Indexer clustering environment. | diff --git a/docs/models/outputsqs.md b/docs/models/outputsqs.md index 1d3f84bfa..39041b432 100644 --- a/docs/models/outputsqs.md +++ b/docs/models/outputsqs.md @@ -31,7 +31,7 @@ | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size. | | `max_in_progress` | *Optional[float]* | :heavy_minus_sign: | The maximum number of in-progress API requests before backpressure is applied. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputstatsd.md b/docs/models/outputstatsd.md index 7412c6459..4b8ce2751 100644 --- a/docs/models/outputstatsd.md +++ b/docs/models/outputstatsd.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/outputstatsdext.md b/docs/models/outputstatsdext.md index b052b76aa..2ba980f8f 100644 --- a/docs/models/outputstatsdext.md +++ b/docs/models/outputstatsdext.md @@ -17,7 +17,7 @@ | `mtu` | *Optional[float]* | :heavy_minus_sign: | When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system. | | `flush_period_sec` | *Optional[float]* | :heavy_minus_sign: | When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination. | | `dns_resolve_period_sec` | *Optional[float]* | :heavy_minus_sign: | How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `connection_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for the connection to establish before retrying | | `write_timeout` | *Optional[float]* | :heavy_minus_sign: | Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead | diff --git a/docs/models/outputstorjs3.md b/docs/models/outputstorjs3.md index c619ea4e0..65151d131 100644 --- a/docs/models/outputstorjs3.md +++ b/docs/models/outputstorjs3.md @@ -39,7 +39,7 @@ | `retry_settings` | [Optional[models.RetrySettingsType]](../models/retrysettingstype.md) | :heavy_minus_sign: | N/A | | `orphans` | [Optional[models.OrphanFileRecoveryType]](../models/orphanfilerecoverytype.md) | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io) | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `aws_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored secret that references your access key and secret key | | `compress` | [Optional[models.CompressionOptionsHTTP]](../models/compressionoptionshttp.md) | :heavy_minus_sign: | Data compression format to apply to HTTP content before it is delivered | | `compression_level` | [Optional[models.CompressionLevelOptions]](../models/compressionleveloptions.md) | :heavy_minus_sign: | Compression level to apply before moving files to final destination | diff --git a/docs/models/outputsumologic.md b/docs/models/outputsumologic.md index 8456d3d4e..9206dbbc4 100644 --- a/docs/models/outputsumologic.md +++ b/docs/models/outputsumologic.md @@ -31,7 +31,7 @@ | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputsyslog.md b/docs/models/outputsyslog.md index 107d1d805..94b0550e1 100644 --- a/docs/models/outputsyslog.md +++ b/docs/models/outputsyslog.md @@ -20,7 +20,7 @@ | `throttle_rate_per_sec` | *Optional[str]* | :heavy_minus_sign: | Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling. | | `octet_count_framing` | *Optional[bool]* | :heavy_minus_sign: | Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n. | | `log_failed_requests` | *Optional[bool]* | :heavy_minus_sign: | Use to troubleshoot issues with sending data | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | diff --git a/docs/models/outputtcpjson.md b/docs/models/outputtcpjson.md index 0c7c6669e..3668d232d 100644 --- a/docs/models/outputtcpjson.md +++ b/docs/models/outputtcpjson.md @@ -22,7 +22,7 @@ | `send_header` | *Optional[bool]* | :heavy_minus_sign: | Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `auth_type` | [Optional[models.AuthenticationMethodOptionsAuthTokensItems]](../models/authenticationmethodoptionsauthtokensitems.md) | :heavy_minus_sign: | Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `host` | *Optional[str]* | :heavy_minus_sign: | The hostname of the receiver | | `port` | *Optional[float]* | :heavy_minus_sign: | The port to connect to on the provided host | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/outputwavefront.md b/docs/models/outputwavefront.md index 22511fe58..f95cf551d 100644 --- a/docs/models/outputwavefront.md +++ b/docs/models/outputwavefront.md @@ -28,7 +28,7 @@ | `timeout_retry_settings` | [Optional[models.TimeoutRetrySettingsType]](../models/timeoutretrysettingstype.md) | :heavy_minus_sign: | N/A | | `response_honor_retry_after_header` | *Optional[bool]* | :heavy_minus_sign: | Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored. | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `token` | *Optional[str]* | :heavy_minus_sign: | WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token)) | | `text_secret` | *Optional[str]* | :heavy_minus_sign: | Select or create a stored text secret | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | diff --git a/docs/models/outputwebhookwebhook1.md b/docs/models/outputwebhookwebhook1.md index dd3612bde..168d46bde 100644 --- a/docs/models/outputwebhookwebhook1.md +++ b/docs/models/outputwebhookwebhook1.md @@ -33,7 +33,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | | `custom_event_delimiter` | *Optional[str]* | :heavy_minus_sign: | Delimiter string to insert between individual events. Defaults to newline character. | diff --git a/docs/models/outputwebhookwebhook2.md b/docs/models/outputwebhookwebhook2.md index 32bd5f04d..266f33bd8 100644 --- a/docs/models/outputwebhookwebhook2.md +++ b/docs/models/outputwebhookwebhook2.md @@ -33,7 +33,7 @@ | `tls` | [Optional[models.TLSSettingsClientSideTypeCaPathCertPathExtended]](../models/tlssettingsclientsidetypecapathcertpathextended.md) | :heavy_minus_sign: | N/A | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | | `load_balanced` | *Optional[bool]* | :heavy_minus_sign: | Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `custom_source_expression` | *Optional[str]* | :heavy_minus_sign: | Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON. | | `custom_drop_when_null` | *Optional[bool]* | :heavy_minus_sign: | Whether to drop events when the source expression evaluates to null | | `custom_event_delimiter` | *Optional[str]* | :heavy_minus_sign: | Delimiter string to insert between individual events. Defaults to newline character. | diff --git a/docs/models/outputwizhec.md b/docs/models/outputwizhec.md index 1c91ad145..9474b399e 100644 --- a/docs/models/outputwizhec.md +++ b/docs/models/outputwizhec.md @@ -33,7 +33,7 @@ | `wiz_environment` | *str* | :heavy_check_mark: | Your Wiz deployment environment. | | `data_center` | *str* | :heavy_check_mark: | Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console. | | `wiz_sourcetype` | *str* | :heavy_check_mark: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `pq_strict_ordering` | *Optional[bool]* | :heavy_minus_sign: | Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed. | | `pq_rate_per_sec` | *Optional[float]* | :heavy_minus_sign: | Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling. | | `pq_mode` | [Optional[models.ModeOptions]](../models/modeoptions.md) | :heavy_minus_sign: | In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem. | diff --git a/docs/models/outputxsiam.md b/docs/models/outputxsiam.md index d76018f7c..5633a16f7 100644 --- a/docs/models/outputxsiam.md +++ b/docs/models/outputxsiam.md @@ -29,7 +29,7 @@ | `throttle_rate_req_per_sec` | *Optional[int]* | :heavy_minus_sign: | Maximum number of requests to limit to per second | | `on_backpressure` | [Optional[models.BackpressureBehaviorOptions]](../models/backpressurebehavioroptions.md) | :heavy_minus_sign: | How to handle events when all receivers are exerting backpressure | | `total_memory_limit_kb` | *Optional[float]* | :heavy_minus_sign: | Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced. | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | Optional description for this configuration. | | `url` | *Optional[str]* | :heavy_minus_sign: | XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event | | `use_round_robin_dns` | *Optional[bool]* | :heavy_minus_sign: | Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations. | | `exclude_self` | *Optional[bool]* | :heavy_minus_sign: | Exclude all IPs of the current host from the list of any resolved hostnames | diff --git a/docs/models/packinfo.md b/docs/models/packinfo.md index 7b4651324..2c59bd26f 100644 --- a/docs/models/packinfo.md +++ b/docs/models/packinfo.md @@ -3,21 +3,21 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `author` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `collectors` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `dependencies` | Dict[str, *str*] | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `display_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `exports` | List[*str*] | :heavy_minus_sign: | N/A | -| `id` | *str* | :heavy_check_mark: | Unique identifier. | -| `inputs` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `is_disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `min_log_stream_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `outputs` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `settings` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | -| `source` | *str* | :heavy_check_mark: | N/A | -| `spec` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `tags` | [Optional[models.TagsTypePackInstallInfo]](../models/tagstypepackinstallinfo.md) | :heavy_minus_sign: | N/A | -| `version` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `author` | *Optional[str]* | :heavy_minus_sign: | Name or identifier of the Pack author. | | +| `collectors` | *Optional[float]* | :heavy_minus_sign: | Number of Collectors (saved jobs) configured within the Pack. | | +| `dependencies` | Dict[str, *str*] | :heavy_minus_sign: | Map of Pack dependency identifiers to their version constraints. | | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pack and its purpose. | | +| `display_name` | *Optional[str]* | :heavy_minus_sign: | Human-readable display name for the Pack. | | +| `exports` | List[*str*] | :heavy_minus_sign: | List of entity IDs exported by this Pack and available for use outside the Pack context. | | +| `id` | *str* | :heavy_check_mark: | Unique identifier. | | +| `inputs` | *Optional[float]* | :heavy_minus_sign: | Number of Sources configured within the Pack. | | +| `is_disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Pack is disabled. Otherwise, false. | | +| `min_log_stream_version` | *Optional[str]* | :heavy_minus_sign: | Minimum version of Cribl Stream required to run this Pack. | | +| `outputs` | *Optional[float]* | :heavy_minus_sign: | Number of Destinations configured within the Pack. | | +| `settings` | Dict[str, *Any*] | :heavy_minus_sign: | Pack-specific settings object. Contents vary by Pack. | | +| `source` | *str* | :heavy_check_mark: | Source of the Pack — a file path, URL, or Git URL from which the Pack was installed. | | +| `spec` | *Optional[str]* | :heavy_minus_sign: | Semver range constraint that was applied when the Pack was installed. | | +| `tags` | [Optional[models.TagsTypePackInstallInfo]](../models/tagstypepackinstallinfo.md) | :heavy_minus_sign: | Categorization tags for the Pack. | | +| `version` | *Optional[str]* | :heavy_minus_sign: | Version of the Pack, following semantic versioning. | 1.0.0 | \ No newline at end of file diff --git a/docs/models/packinstallinfo.md b/docs/models/packinstallinfo.md index 66dad3480..4fa94115e 100644 --- a/docs/models/packinstallinfo.md +++ b/docs/models/packinstallinfo.md @@ -3,22 +3,22 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `author` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `collectors` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `dependencies` | Dict[str, *str*] | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `display_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `exports` | List[*str*] | :heavy_minus_sign: | N/A | -| `id` | *str* | :heavy_check_mark: | Unique identifier. | -| `inputs` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `is_disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `min_log_stream_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `outputs` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `settings` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | -| `source` | *str* | :heavy_check_mark: | N/A | -| `spec` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `tags` | [Optional[models.TagsTypePackInstallInfo]](../models/tagstypepackinstallinfo.md) | :heavy_minus_sign: | N/A | -| `version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `warnings` | List[*str*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `author` | *Optional[str]* | :heavy_minus_sign: | Name or identifier of the Pack author. | | +| `collectors` | *Optional[float]* | :heavy_minus_sign: | Number of Collectors (saved jobs) configured within the Pack. | | +| `dependencies` | Dict[str, *str*] | :heavy_minus_sign: | Map of Pack dependency identifiers to their version constraints. | | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pack and its purpose. | | +| `display_name` | *Optional[str]* | :heavy_minus_sign: | Human-readable display name for the Pack. | | +| `exports` | List[*str*] | :heavy_minus_sign: | List of entity IDs exported by this Pack and available for use outside the Pack context. | | +| `id` | *str* | :heavy_check_mark: | Unique identifier. | | +| `inputs` | *Optional[float]* | :heavy_minus_sign: | Number of Sources configured within the Pack. | | +| `is_disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, the Pack is disabled. Otherwise, false. | | +| `min_log_stream_version` | *Optional[str]* | :heavy_minus_sign: | Minimum version of Cribl Stream required to run this Pack. | | +| `outputs` | *Optional[float]* | :heavy_minus_sign: | Number of Destinations configured within the Pack. | | +| `settings` | Dict[str, *Any*] | :heavy_minus_sign: | Pack-specific settings object. Contents vary by Pack. | | +| `source` | *str* | :heavy_check_mark: | Source of the Pack — a file path, URL, or Git URL from which the Pack was installed. | | +| `spec` | *Optional[str]* | :heavy_minus_sign: | Semver range constraint that was applied when the Pack was installed. | | +| `tags` | [Optional[models.TagsTypePackInstallInfo]](../models/tagstypepackinstallinfo.md) | :heavy_minus_sign: | Categorization tags for the Pack. | | +| `version` | *Optional[str]* | :heavy_minus_sign: | Version of the Pack, following semantic versioning. | 1.0.0 | +| `warnings` | List[*str*] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/packrequestbody1.md b/docs/models/packrequestbody1.md index 5138b72fd..f47201dd9 100644 --- a/docs/models/packrequestbody1.md +++ b/docs/models/packrequestbody1.md @@ -3,16 +3,16 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | N/A | -| `spec` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `min_log_stream_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `display_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `author` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `source` | *Optional[str]* | :heavy_minus_sign: | The source of the pack. If not present, an empty pack will be created | -| `tags` | [Optional[models.TagsTypePackInstallInfo]](../models/tagstypepackinstallinfo.md) | :heavy_minus_sign: | N/A | -| `allow_custom_functions` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `force` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Pack. | | +| `spec` | *Optional[str]* | :heavy_minus_sign: | Semver range constraint to apply when resolving the Pack version to install. | | +| `version` | *Optional[str]* | :heavy_minus_sign: | Version of the Pack, following semantic versioning. | 1.0.0 | +| `min_log_stream_version` | *Optional[str]* | :heavy_minus_sign: | Minimum version of Cribl Stream required to run this Pack. | | +| `display_name` | *Optional[str]* | :heavy_minus_sign: | Human-readable display name for the Pack. | | +| `author` | *Optional[str]* | :heavy_minus_sign: | Name or identifier of the Pack author. | | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pack and its purpose. | | +| `source` | *Optional[str]* | :heavy_minus_sign: | Source of the Pack. Provide a staging source ID from PUT /packs, a direct URL to a .crbl file, or a git+<repo-url> Git repository URL. If omitted, an empty Pack is created. | | +| `tags` | [Optional[models.Tags1]](../models/tags1.md) | :heavy_minus_sign: | Categorization tags for the Pack. | | +| `allow_custom_functions` | *Optional[bool]* | :heavy_minus_sign: | If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions. | | +| `force` | *Optional[bool]* | :heavy_minus_sign: | If true, overwrite an existing Pack with the same ID. Otherwise, false. | | \ No newline at end of file diff --git a/docs/models/packrequestbody2.md b/docs/models/packrequestbody2.md index 0e28f832c..5c071f5bb 100644 --- a/docs/models/packrequestbody2.md +++ b/docs/models/packrequestbody2.md @@ -3,16 +3,16 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `spec` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `min_log_stream_version` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `display_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `author` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `source` | *str* | :heavy_check_mark: | The source of the pack. If not present, an empty pack will be created | -| `tags` | [Optional[models.TagsTypePackInstallInfo]](../models/tagstypepackinstallinfo.md) | :heavy_minus_sign: | N/A | -| `allow_custom_functions` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `force` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the Pack. | | +| `spec` | *Optional[str]* | :heavy_minus_sign: | Semver range constraint to apply when resolving the Pack version to install. | | +| `version` | *Optional[str]* | :heavy_minus_sign: | Version of the Pack, following semantic versioning. | 1.0.0 | +| `min_log_stream_version` | *Optional[str]* | :heavy_minus_sign: | Minimum version of Cribl Stream required to run this Pack. | | +| `display_name` | *Optional[str]* | :heavy_minus_sign: | Human-readable display name for the Pack. | | +| `author` | *Optional[str]* | :heavy_minus_sign: | Name or identifier of the Pack author. | | +| `description` | *Optional[str]* | :heavy_minus_sign: | Brief description of the Pack and its purpose. | | +| `source` | *str* | :heavy_check_mark: | Source of the Pack. Provide a staging source ID from PUT /packs, a direct URL to a .crbl file, or a git+<repo-url> Git repository URL. If omitted, an empty Pack is created. | | +| `tags` | [Optional[models.Tags2]](../models/tags2.md) | :heavy_minus_sign: | Categorization tags for the Pack. | | +| `allow_custom_functions` | *Optional[bool]* | :heavy_minus_sign: | If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions. | | +| `force` | *Optional[bool]* | :heavy_minus_sign: | If true, overwrite an existing Pack with the same ID. Otherwise, false. | | \ No newline at end of file diff --git a/docs/models/packuninstallinfo.md b/docs/models/packuninstallinfo.md index 140c723f2..229c026c4 100644 --- a/docs/models/packuninstallinfo.md +++ b/docs/models/packuninstallinfo.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *str* | :heavy_check_mark: | N/A | -| `source` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Pack. | +| `source` | *str* | :heavy_check_mark: | Source from which the Pack was originally installed. | \ No newline at end of file diff --git a/docs/models/packupgraderequest.md b/docs/models/packupgraderequest.md index fe24e4758..b91612132 100644 --- a/docs/models/packupgraderequest.md +++ b/docs/models/packupgraderequest.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `allow_custom_functions` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `minor` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `source` | *str* | :heavy_check_mark: | N/A | -| `spec` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `allow_custom_functions` | *Optional[bool]* | :heavy_minus_sign: | If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions. | +| `minor` | *Optional[bool]* | :heavy_minus_sign: | If true, allow the upgrade to install a minor (non-breaking) version. Otherwise, false. | +| `source` | *str* | :heavy_check_mark: | Source of the upgraded Pack. Use the source value returned by PUT /packs for an uploaded file, or provide a direct URL to a .crbl file or a git+<repo-url> Git repository URL. | +| `spec` | *Optional[str]* | :heavy_minus_sign: | Semver range constraint to apply when resolving the Pack version to install. | \ No newline at end of file diff --git a/docs/models/pipelinefunctionaggregatemetrics.md b/docs/models/pipelinefunctionaggregatemetrics.md index 117494a66..6b7659834 100644 --- a/docs/models/pipelinefunctionaggregatemetrics.md +++ b/docs/models/pipelinefunctionaggregatemetrics.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionAggregateMetricsID](../models/pipelinefunctionaggregatemetricsid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionAggregateMetricsID](../models/pipelinefunctionaggregatemetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always aggregate_metrics | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionaggregatemetricsid.md b/docs/models/pipelinefunctionaggregatemetricsid.md index c4ee3b74a..e3e00f7bc 100644 --- a/docs/models/pipelinefunctionaggregatemetricsid.md +++ b/docs/models/pipelinefunctionaggregatemetricsid.md @@ -1,6 +1,6 @@ # PipelineFunctionAggregateMetricsID -Function ID +Identifier of the Function. Always aggregate_metrics ## Example Usage diff --git a/docs/models/pipelinefunctionaggregation.md b/docs/models/pipelinefunctionaggregation.md index d033cdd7c..7f5398290 100644 --- a/docs/models/pipelinefunctionaggregation.md +++ b/docs/models/pipelinefunctionaggregation.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionAggregationID](../models/pipelinefunctionaggregationid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionAggregationID](../models/pipelinefunctionaggregationid.md) | :heavy_check_mark: | Identifier of the Function. Always aggregation | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionaggregationid.md b/docs/models/pipelinefunctionaggregationid.md index 8b3e09e5f..25d6964a7 100644 --- a/docs/models/pipelinefunctionaggregationid.md +++ b/docs/models/pipelinefunctionaggregationid.md @@ -1,6 +1,6 @@ # PipelineFunctionAggregationID -Function ID +Identifier of the Function. Always aggregation ## Example Usage diff --git a/docs/models/pipelinefunctionautotimestamp.md b/docs/models/pipelinefunctionautotimestamp.md index ca50dea53..56c2fd314 100644 --- a/docs/models/pipelinefunctionautotimestamp.md +++ b/docs/models/pipelinefunctionautotimestamp.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionAutoTimestampID](../models/pipelinefunctionautotimestampid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionAutoTimestampID](../models/pipelinefunctionautotimestampid.md) | :heavy_check_mark: | Identifier of the Function. Always auto_timestamp | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionautotimestampid.md b/docs/models/pipelinefunctionautotimestampid.md index 195de8ec1..3b6cddeeb 100644 --- a/docs/models/pipelinefunctionautotimestampid.md +++ b/docs/models/pipelinefunctionautotimestampid.md @@ -1,6 +1,6 @@ # PipelineFunctionAutoTimestampID -Function ID +Identifier of the Function. Always auto_timestamp ## Example Usage diff --git a/docs/models/pipelinefunctioncef.md b/docs/models/pipelinefunctioncef.md index ca204218f..ddcc3087f 100644 --- a/docs/models/pipelinefunctioncef.md +++ b/docs/models/pipelinefunctioncef.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionCefID](../models/pipelinefunctioncefid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionCefID](../models/pipelinefunctioncefid.md) | :heavy_check_mark: | Identifier of the Function. Always cef | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctioncefid.md b/docs/models/pipelinefunctioncefid.md index f965f12a2..02be160c0 100644 --- a/docs/models/pipelinefunctioncefid.md +++ b/docs/models/pipelinefunctioncefid.md @@ -1,6 +1,6 @@ # PipelineFunctionCefID -Function ID +Identifier of the Function. Always cef ## Example Usage diff --git a/docs/models/pipelinefunctioncefinput.md b/docs/models/pipelinefunctioncefinput.md index 121d103b7..55dbc0c8b 100644 --- a/docs/models/pipelinefunctioncefinput.md +++ b/docs/models/pipelinefunctioncefinput.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionCefID](../models/pipelinefunctioncefid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionCefID](../models/pipelinefunctioncefid.md) | :heavy_check_mark: | Identifier of the Function. Always cef | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionchain.md b/docs/models/pipelinefunctionchain.md index 71b7e940e..146bc089a 100644 --- a/docs/models/pipelinefunctionchain.md +++ b/docs/models/pipelinefunctionchain.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionChainID](../models/pipelinefunctionchainid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionChainID](../models/pipelinefunctionchainid.md) | :heavy_check_mark: | Identifier of the Function. Always chain | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionchainid.md b/docs/models/pipelinefunctionchainid.md index ec96cc737..37c9079b3 100644 --- a/docs/models/pipelinefunctionchainid.md +++ b/docs/models/pipelinefunctionchainid.md @@ -1,6 +1,6 @@ # PipelineFunctionChainID -Function ID +Identifier of the Function. Always chain ## Example Usage diff --git a/docs/models/pipelinefunctionclone.md b/docs/models/pipelinefunctionclone.md index 7f3ac0fb5..be67fe150 100644 --- a/docs/models/pipelinefunctionclone.md +++ b/docs/models/pipelinefunctionclone.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionCloneID](../models/pipelinefunctioncloneid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionCloneID](../models/pipelinefunctioncloneid.md) | :heavy_check_mark: | Identifier of the Function. Always clone | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctioncloneid.md b/docs/models/pipelinefunctioncloneid.md index 58dcafcb6..86e433a8b 100644 --- a/docs/models/pipelinefunctioncloneid.md +++ b/docs/models/pipelinefunctioncloneid.md @@ -1,6 +1,6 @@ # PipelineFunctionCloneID -Function ID +Identifier of the Function. Always clone ## Example Usage diff --git a/docs/models/pipelinefunctioncode.md b/docs/models/pipelinefunctioncode.md index 269021e1b..358841a8c 100644 --- a/docs/models/pipelinefunctioncode.md +++ b/docs/models/pipelinefunctioncode.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionCodeID](../models/pipelinefunctioncodeid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionCodeID](../models/pipelinefunctioncodeid.md) | :heavy_check_mark: | Identifier of the Function. Always code | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctioncodeid.md b/docs/models/pipelinefunctioncodeid.md index d09da5c75..4905fabbf 100644 --- a/docs/models/pipelinefunctioncodeid.md +++ b/docs/models/pipelinefunctioncodeid.md @@ -1,6 +1,6 @@ # PipelineFunctionCodeID -Function ID +Identifier of the Function. Always code ## Example Usage diff --git a/docs/models/pipelinefunctioncomment.md b/docs/models/pipelinefunctioncomment.md index 79f8f69ac..9ccae250b 100644 --- a/docs/models/pipelinefunctioncomment.md +++ b/docs/models/pipelinefunctioncomment.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionCommentID](../models/pipelinefunctioncommentid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionCommentID](../models/pipelinefunctioncommentid.md) | :heavy_check_mark: | Identifier of the Function. Always comment | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctioncommentid.md b/docs/models/pipelinefunctioncommentid.md index 392fd8211..311b17571 100644 --- a/docs/models/pipelinefunctioncommentid.md +++ b/docs/models/pipelinefunctioncommentid.md @@ -1,6 +1,6 @@ # PipelineFunctionCommentID -Function ID +Identifier of the Function. Always comment ## Example Usage diff --git a/docs/models/pipelinefunctiondistinct.md b/docs/models/pipelinefunctiondistinct.md index af19d0899..0a10ddae4 100644 --- a/docs/models/pipelinefunctiondistinct.md +++ b/docs/models/pipelinefunctiondistinct.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionDistinctID](../models/pipelinefunctiondistinctid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionDistinctID](../models/pipelinefunctiondistinctid.md) | :heavy_check_mark: | Identifier of the Function. Always distinct | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctiondistinctid.md b/docs/models/pipelinefunctiondistinctid.md index ca9ae80a1..7664e2642 100644 --- a/docs/models/pipelinefunctiondistinctid.md +++ b/docs/models/pipelinefunctiondistinctid.md @@ -1,6 +1,6 @@ # PipelineFunctionDistinctID -Function ID +Identifier of the Function. Always distinct ## Example Usage diff --git a/docs/models/pipelinefunctiondnslookup.md b/docs/models/pipelinefunctiondnslookup.md index 0a7d5edee..f16e2ac5e 100644 --- a/docs/models/pipelinefunctiondnslookup.md +++ b/docs/models/pipelinefunctiondnslookup.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionDNSLookupID](../models/pipelinefunctiondnslookupid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionDNSLookupID](../models/pipelinefunctiondnslookupid.md) | :heavy_check_mark: | Identifier of the Function. Always dns_lookup | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctiondnslookupid.md b/docs/models/pipelinefunctiondnslookupid.md index 8956a8291..38a0b239e 100644 --- a/docs/models/pipelinefunctiondnslookupid.md +++ b/docs/models/pipelinefunctiondnslookupid.md @@ -1,6 +1,6 @@ # PipelineFunctionDNSLookupID -Function ID +Identifier of the Function. Always dns_lookup ## Example Usage diff --git a/docs/models/pipelinefunctiondrop.md b/docs/models/pipelinefunctiondrop.md index 3ee44fe69..cf3ba62a2 100644 --- a/docs/models/pipelinefunctiondrop.md +++ b/docs/models/pipelinefunctiondrop.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionDropID](../models/pipelinefunctiondropid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionDropID](../models/pipelinefunctiondropid.md) | :heavy_check_mark: | Identifier of the Function. Always drop | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctiondropdimensions.md b/docs/models/pipelinefunctiondropdimensions.md index 92db1aed4..30506e55a 100644 --- a/docs/models/pipelinefunctiondropdimensions.md +++ b/docs/models/pipelinefunctiondropdimensions.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionDropDimensionsID](../models/pipelinefunctiondropdimensionsid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionDropDimensionsID](../models/pipelinefunctiondropdimensionsid.md) | :heavy_check_mark: | Identifier of the Function. Always drop_dimensions | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctiondropdimensionsid.md b/docs/models/pipelinefunctiondropdimensionsid.md index 985f60243..7a7c8f9b0 100644 --- a/docs/models/pipelinefunctiondropdimensionsid.md +++ b/docs/models/pipelinefunctiondropdimensionsid.md @@ -1,6 +1,6 @@ # PipelineFunctionDropDimensionsID -Function ID +Identifier of the Function. Always drop_dimensions ## Example Usage diff --git a/docs/models/pipelinefunctiondropid.md b/docs/models/pipelinefunctiondropid.md index 0df2fdda2..16bc64ce2 100644 --- a/docs/models/pipelinefunctiondropid.md +++ b/docs/models/pipelinefunctiondropid.md @@ -1,6 +1,6 @@ # PipelineFunctionDropID -Function ID +Identifier of the Function. Always drop ## Example Usage diff --git a/docs/models/pipelinefunctiondynamicsampling.md b/docs/models/pipelinefunctiondynamicsampling.md index 4c8cacc04..e33b6bcd9 100644 --- a/docs/models/pipelinefunctiondynamicsampling.md +++ b/docs/models/pipelinefunctiondynamicsampling.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionDynamicSamplingID](../models/pipelinefunctiondynamicsamplingid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionDynamicSamplingID](../models/pipelinefunctiondynamicsamplingid.md) | :heavy_check_mark: | Identifier of the Function. Always dynamic_sampling | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctiondynamicsamplingid.md b/docs/models/pipelinefunctiondynamicsamplingid.md index 86788886b..3dbb3a92b 100644 --- a/docs/models/pipelinefunctiondynamicsamplingid.md +++ b/docs/models/pipelinefunctiondynamicsamplingid.md @@ -1,6 +1,6 @@ # PipelineFunctionDynamicSamplingID -Function ID +Identifier of the Function. Always dynamic_sampling ## Example Usage diff --git a/docs/models/pipelinefunctioneval.md b/docs/models/pipelinefunctioneval.md index 9477d99d5..73b843416 100644 --- a/docs/models/pipelinefunctioneval.md +++ b/docs/models/pipelinefunctioneval.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionEvalID](../models/pipelinefunctionevalid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionEvalID](../models/pipelinefunctionevalid.md) | :heavy_check_mark: | Identifier of the Function. Always eval | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionevalid.md b/docs/models/pipelinefunctionevalid.md index 6f262d0be..57880124f 100644 --- a/docs/models/pipelinefunctionevalid.md +++ b/docs/models/pipelinefunctionevalid.md @@ -1,6 +1,6 @@ # PipelineFunctionEvalID -Function ID +Identifier of the Function. Always eval ## Example Usage diff --git a/docs/models/pipelinefunctioneventbreaker.md b/docs/models/pipelinefunctioneventbreaker.md index 1bbf3489a..b77f1018b 100644 --- a/docs/models/pipelinefunctioneventbreaker.md +++ b/docs/models/pipelinefunctioneventbreaker.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionEventBreakerID](../models/pipelinefunctioneventbreakerid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionEventBreakerID](../models/pipelinefunctioneventbreakerid.md) | :heavy_check_mark: | Identifier of the Function. Always event_breaker | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctioneventbreakerid.md b/docs/models/pipelinefunctioneventbreakerid.md index 45d73508c..e8db265cf 100644 --- a/docs/models/pipelinefunctioneventbreakerid.md +++ b/docs/models/pipelinefunctioneventbreakerid.md @@ -1,6 +1,6 @@ # PipelineFunctionEventBreakerID -Function ID +Identifier of the Function. Always event_breaker ## Example Usage diff --git a/docs/models/pipelinefunctioneventstats.md b/docs/models/pipelinefunctioneventstats.md index db123cba7..f37c6f145 100644 --- a/docs/models/pipelinefunctioneventstats.md +++ b/docs/models/pipelinefunctioneventstats.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionEventstatsID](../models/pipelinefunctioneventstatsid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionEventstatsID](../models/pipelinefunctioneventstatsid.md) | :heavy_check_mark: | Identifier of the Function. Always eventstats | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctioneventstatsid.md b/docs/models/pipelinefunctioneventstatsid.md index 779cc97ff..e7a1eae80 100644 --- a/docs/models/pipelinefunctioneventstatsid.md +++ b/docs/models/pipelinefunctioneventstatsid.md @@ -1,6 +1,6 @@ # PipelineFunctionEventstatsID -Function ID +Identifier of the Function. Always eventstats ## Example Usage diff --git a/docs/models/pipelinefunctionexternaldata.md b/docs/models/pipelinefunctionexternaldata.md index 8445e3f83..cd3d7cb43 100644 --- a/docs/models/pipelinefunctionexternaldata.md +++ b/docs/models/pipelinefunctionexternaldata.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionExternaldataID](../models/pipelinefunctionexternaldataid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionExternaldataID](../models/pipelinefunctionexternaldataid.md) | :heavy_check_mark: | Identifier of the Function. Always externaldata | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionexternaldataid.md b/docs/models/pipelinefunctionexternaldataid.md index 445e05b7e..890c93ce0 100644 --- a/docs/models/pipelinefunctionexternaldataid.md +++ b/docs/models/pipelinefunctionexternaldataid.md @@ -1,6 +1,6 @@ # PipelineFunctionExternaldataID -Function ID +Identifier of the Function. Always externaldata ## Example Usage diff --git a/docs/models/pipelinefunctionflatten.md b/docs/models/pipelinefunctionflatten.md index 1644d451e..b782a9a23 100644 --- a/docs/models/pipelinefunctionflatten.md +++ b/docs/models/pipelinefunctionflatten.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionFlattenID](../models/pipelinefunctionflattenid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionFlattenID](../models/pipelinefunctionflattenid.md) | :heavy_check_mark: | Identifier of the Function. Always flatten | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionflattenid.md b/docs/models/pipelinefunctionflattenid.md index fdb573668..8b8ccc1b6 100644 --- a/docs/models/pipelinefunctionflattenid.md +++ b/docs/models/pipelinefunctionflattenid.md @@ -1,6 +1,6 @@ # PipelineFunctionFlattenID -Function ID +Identifier of the Function. Always flatten ## Example Usage diff --git a/docs/models/pipelinefunctionfoldkeys.md b/docs/models/pipelinefunctionfoldkeys.md index bdb1fc492..a6a5e9395 100644 --- a/docs/models/pipelinefunctionfoldkeys.md +++ b/docs/models/pipelinefunctionfoldkeys.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionFoldkeysID](../models/pipelinefunctionfoldkeysid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionFoldkeysID](../models/pipelinefunctionfoldkeysid.md) | :heavy_check_mark: | Identifier of the Function. Always foldkeys | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionfoldkeysid.md b/docs/models/pipelinefunctionfoldkeysid.md index fc5a7a2c9..4e8c87d42 100644 --- a/docs/models/pipelinefunctionfoldkeysid.md +++ b/docs/models/pipelinefunctionfoldkeysid.md @@ -1,6 +1,6 @@ # PipelineFunctionFoldkeysID -Function ID +Identifier of the Function. Always foldkeys ## Example Usage diff --git a/docs/models/pipelinefunctiongenstats.md b/docs/models/pipelinefunctiongenstats.md index 86e8f2e0b..9afd1f472 100644 --- a/docs/models/pipelinefunctiongenstats.md +++ b/docs/models/pipelinefunctiongenstats.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionGenStatsID](../models/pipelinefunctiongenstatsid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionGenStatsID](../models/pipelinefunctiongenstatsid.md) | :heavy_check_mark: | Identifier of the Function. Always gen_stats | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctiongenstatsid.md b/docs/models/pipelinefunctiongenstatsid.md index 58dd751f2..211e14e60 100644 --- a/docs/models/pipelinefunctiongenstatsid.md +++ b/docs/models/pipelinefunctiongenstatsid.md @@ -1,6 +1,6 @@ # PipelineFunctionGenStatsID -Function ID +Identifier of the Function. Always gen_stats ## Example Usage diff --git a/docs/models/pipelinefunctiongeoip.md b/docs/models/pipelinefunctiongeoip.md index 9e703cd7a..3a72f1280 100644 --- a/docs/models/pipelinefunctiongeoip.md +++ b/docs/models/pipelinefunctiongeoip.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionGeoipID](../models/pipelinefunctiongeoipid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionGeoipID](../models/pipelinefunctiongeoipid.md) | :heavy_check_mark: | Identifier of the Function. Always geoip | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctiongeoipid.md b/docs/models/pipelinefunctiongeoipid.md index 7c0975f7c..427d06bda 100644 --- a/docs/models/pipelinefunctiongeoipid.md +++ b/docs/models/pipelinefunctiongeoipid.md @@ -1,6 +1,6 @@ # PipelineFunctionGeoipID -Function ID +Identifier of the Function. Always geoip ## Example Usage diff --git a/docs/models/pipelinefunctiongrok.md b/docs/models/pipelinefunctiongrok.md index 310f76f39..318baf184 100644 --- a/docs/models/pipelinefunctiongrok.md +++ b/docs/models/pipelinefunctiongrok.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionGrokID](../models/pipelinefunctiongrokid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionGrokID](../models/pipelinefunctiongrokid.md) | :heavy_check_mark: | Identifier of the Function. Always grok | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctiongrokid.md b/docs/models/pipelinefunctiongrokid.md index 75ea07e98..966aa945a 100644 --- a/docs/models/pipelinefunctiongrokid.md +++ b/docs/models/pipelinefunctiongrokid.md @@ -1,6 +1,6 @@ # PipelineFunctionGrokID -Function ID +Identifier of the Function. Always grok ## Example Usage diff --git a/docs/models/pipelinefunctionhandlebars.md b/docs/models/pipelinefunctionhandlebars.md index 1f65d05bc..df93bfe13 100644 --- a/docs/models/pipelinefunctionhandlebars.md +++ b/docs/models/pipelinefunctionhandlebars.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionHandlebarsID](../models/pipelinefunctionhandlebarsid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionHandlebarsID](../models/pipelinefunctionhandlebarsid.md) | :heavy_check_mark: | Identifier of the Function. Always handlebars | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionhandlebarsid.md b/docs/models/pipelinefunctionhandlebarsid.md index 59102ea29..59d22ce6d 100644 --- a/docs/models/pipelinefunctionhandlebarsid.md +++ b/docs/models/pipelinefunctionhandlebarsid.md @@ -1,6 +1,6 @@ # PipelineFunctionHandlebarsID -Function ID +Identifier of the Function. Always handlebars ## Example Usage diff --git a/docs/models/pipelinefunctionjoin.md b/docs/models/pipelinefunctionjoin.md index 095d13331..1558210eb 100644 --- a/docs/models/pipelinefunctionjoin.md +++ b/docs/models/pipelinefunctionjoin.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionJoinID](../models/pipelinefunctionjoinid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionJoinID](../models/pipelinefunctionjoinid.md) | :heavy_check_mark: | Identifier of the Function. Always join | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionjoinid.md b/docs/models/pipelinefunctionjoinid.md index 495de0984..7474d2ea3 100644 --- a/docs/models/pipelinefunctionjoinid.md +++ b/docs/models/pipelinefunctionjoinid.md @@ -1,6 +1,6 @@ # PipelineFunctionJoinID -Function ID +Identifier of the Function. Always join ## Example Usage diff --git a/docs/models/pipelinefunctionjsonunroll.md b/docs/models/pipelinefunctionjsonunroll.md index 8cdd4d255..7c7a25326 100644 --- a/docs/models/pipelinefunctionjsonunroll.md +++ b/docs/models/pipelinefunctionjsonunroll.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionJSONUnrollID](../models/pipelinefunctionjsonunrollid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionJSONUnrollID](../models/pipelinefunctionjsonunrollid.md) | :heavy_check_mark: | Identifier of the Function. Always json_unroll | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionjsonunrollid.md b/docs/models/pipelinefunctionjsonunrollid.md index 8e488f57d..08433fbf3 100644 --- a/docs/models/pipelinefunctionjsonunrollid.md +++ b/docs/models/pipelinefunctionjsonunrollid.md @@ -1,6 +1,6 @@ # PipelineFunctionJSONUnrollID -Function ID +Identifier of the Function. Always json_unroll ## Example Usage diff --git a/docs/models/pipelinefunctionlakeexport.md b/docs/models/pipelinefunctionlakeexport.md index 741368249..aabc87025 100644 --- a/docs/models/pipelinefunctionlakeexport.md +++ b/docs/models/pipelinefunctionlakeexport.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionLakeExportID](../models/pipelinefunctionlakeexportid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionLakeExportID](../models/pipelinefunctionlakeexportid.md) | :heavy_check_mark: | Identifier of the Function. Always lake_export | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionlakeexportid.md b/docs/models/pipelinefunctionlakeexportid.md index 950cfcc41..da2bab665 100644 --- a/docs/models/pipelinefunctionlakeexportid.md +++ b/docs/models/pipelinefunctionlakeexportid.md @@ -1,6 +1,6 @@ # PipelineFunctionLakeExportID -Function ID +Identifier of the Function. Always lake_export ## Example Usage diff --git a/docs/models/pipelinefunctionlimit.md b/docs/models/pipelinefunctionlimit.md index c05c14a9d..ad55cd807 100644 --- a/docs/models/pipelinefunctionlimit.md +++ b/docs/models/pipelinefunctionlimit.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionLimitID](../models/pipelinefunctionlimitid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionLimitID](../models/pipelinefunctionlimitid.md) | :heavy_check_mark: | Identifier of the Function. Always limit | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionlimitid.md b/docs/models/pipelinefunctionlimitid.md index cbb1b34ff..1e69943ac 100644 --- a/docs/models/pipelinefunctionlimitid.md +++ b/docs/models/pipelinefunctionlimitid.md @@ -1,6 +1,6 @@ # PipelineFunctionLimitID -Function ID +Identifier of the Function. Always limit ## Example Usage diff --git a/docs/models/pipelinefunctionlocalsearchdatatypeparser.md b/docs/models/pipelinefunctionlocalsearchdatatypeparser.md index c96ad9dab..4b02c6870 100644 --- a/docs/models/pipelinefunctionlocalsearchdatatypeparser.md +++ b/docs/models/pipelinefunctionlocalsearchdatatypeparser.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionLocalSearchDatatypeParserID](../models/pipelinefunctionlocalsearchdatatypeparserid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionLocalSearchDatatypeParserID](../models/pipelinefunctionlocalsearchdatatypeparserid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_datatype_parser | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionlocalsearchdatatypeparserid.md b/docs/models/pipelinefunctionlocalsearchdatatypeparserid.md index 36d1f6f2a..239ce903c 100644 --- a/docs/models/pipelinefunctionlocalsearchdatatypeparserid.md +++ b/docs/models/pipelinefunctionlocalsearchdatatypeparserid.md @@ -1,6 +1,6 @@ # PipelineFunctionLocalSearchDatatypeParserID -Function ID +Identifier of the Function. Always local_search_datatype_parser ## Example Usage diff --git a/docs/models/pipelinefunctionlocalsearchrulesetrunner.md b/docs/models/pipelinefunctionlocalsearchrulesetrunner.md index d872ff0ce..32a99ea94 100644 --- a/docs/models/pipelinefunctionlocalsearchrulesetrunner.md +++ b/docs/models/pipelinefunctionlocalsearchrulesetrunner.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionLocalSearchRulesetRunnerID](../models/pipelinefunctionlocalsearchrulesetrunnerid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionLocalSearchRulesetRunnerID](../models/pipelinefunctionlocalsearchrulesetrunnerid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_ruleset_runner | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionlocalsearchrulesetrunnerid.md b/docs/models/pipelinefunctionlocalsearchrulesetrunnerid.md index d14f2c3a7..167ff9ced 100644 --- a/docs/models/pipelinefunctionlocalsearchrulesetrunnerid.md +++ b/docs/models/pipelinefunctionlocalsearchrulesetrunnerid.md @@ -1,6 +1,6 @@ # PipelineFunctionLocalSearchRulesetRunnerID -Function ID +Identifier of the Function. Always local_search_ruleset_runner ## Example Usage diff --git a/docs/models/pipelinefunctionlocalsearchschemamapper.md b/docs/models/pipelinefunctionlocalsearchschemamapper.md index f74526525..4c9f02344 100644 --- a/docs/models/pipelinefunctionlocalsearchschemamapper.md +++ b/docs/models/pipelinefunctionlocalsearchschemamapper.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionLocalSearchSchemaMapperID](../models/pipelinefunctionlocalsearchschemamapperid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionLocalSearchSchemaMapperID](../models/pipelinefunctionlocalsearchschemamapperid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_schema_mapper | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionlocalsearchschemamapperid.md b/docs/models/pipelinefunctionlocalsearchschemamapperid.md index f97678fb2..57af32fc7 100644 --- a/docs/models/pipelinefunctionlocalsearchschemamapperid.md +++ b/docs/models/pipelinefunctionlocalsearchschemamapperid.md @@ -1,6 +1,6 @@ # PipelineFunctionLocalSearchSchemaMapperID -Function ID +Identifier of the Function. Always local_search_schema_mapper ## Example Usage diff --git a/docs/models/pipelinefunctionlocalsearchtimerangenormalizer.md b/docs/models/pipelinefunctionlocalsearchtimerangenormalizer.md index 94c48e9bd..2c54b68fd 100644 --- a/docs/models/pipelinefunctionlocalsearchtimerangenormalizer.md +++ b/docs/models/pipelinefunctionlocalsearchtimerangenormalizer.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionLocalSearchTimeRangeNormalizerID](../models/pipelinefunctionlocalsearchtimerangenormalizerid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionLocalSearchTimeRangeNormalizerID](../models/pipelinefunctionlocalsearchtimerangenormalizerid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_time_range_normalizer | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionlocalsearchtimerangenormalizerid.md b/docs/models/pipelinefunctionlocalsearchtimerangenormalizerid.md index ac71b5f66..e9a88bcfb 100644 --- a/docs/models/pipelinefunctionlocalsearchtimerangenormalizerid.md +++ b/docs/models/pipelinefunctionlocalsearchtimerangenormalizerid.md @@ -1,6 +1,6 @@ # PipelineFunctionLocalSearchTimeRangeNormalizerID -Function ID +Identifier of the Function. Always local_search_time_range_normalizer ## Example Usage diff --git a/docs/models/pipelinefunctionlocalsearchtransformer.md b/docs/models/pipelinefunctionlocalsearchtransformer.md index d0393497f..d8f0f46f0 100644 --- a/docs/models/pipelinefunctionlocalsearchtransformer.md +++ b/docs/models/pipelinefunctionlocalsearchtransformer.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionLocalSearchTransformerID](../models/pipelinefunctionlocalsearchtransformerid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionLocalSearchTransformerID](../models/pipelinefunctionlocalsearchtransformerid.md) | :heavy_check_mark: | Identifier of the Function. Always local_search_transformer | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionlocalsearchtransformerid.md b/docs/models/pipelinefunctionlocalsearchtransformerid.md index 238e89b3c..12a983468 100644 --- a/docs/models/pipelinefunctionlocalsearchtransformerid.md +++ b/docs/models/pipelinefunctionlocalsearchtransformerid.md @@ -1,6 +1,6 @@ # PipelineFunctionLocalSearchTransformerID -Function ID +Identifier of the Function. Always local_search_transformer ## Example Usage diff --git a/docs/models/pipelinefunctionlookup.md b/docs/models/pipelinefunctionlookup.md index b2c3bf0a4..71dddc861 100644 --- a/docs/models/pipelinefunctionlookup.md +++ b/docs/models/pipelinefunctionlookup.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionLookupID](../models/pipelinefunctionlookupid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionLookupID](../models/pipelinefunctionlookupid.md) | :heavy_check_mark: | Identifier of the Function. Always lookup | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionlookupid.md b/docs/models/pipelinefunctionlookupid.md index ade0d9cc7..becd6779d 100644 --- a/docs/models/pipelinefunctionlookupid.md +++ b/docs/models/pipelinefunctionlookupid.md @@ -1,6 +1,6 @@ # PipelineFunctionLookupID -Function ID +Identifier of the Function. Always lookup ## Example Usage diff --git a/docs/models/pipelinefunctionmask.md b/docs/models/pipelinefunctionmask.md index a66862300..77af50c58 100644 --- a/docs/models/pipelinefunctionmask.md +++ b/docs/models/pipelinefunctionmask.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionMaskID](../models/pipelinefunctionmaskid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionMaskID](../models/pipelinefunctionmaskid.md) | :heavy_check_mark: | Identifier of the Function. Always mask | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionmaskid.md b/docs/models/pipelinefunctionmaskid.md index 64313fa41..f307aac0b 100644 --- a/docs/models/pipelinefunctionmaskid.md +++ b/docs/models/pipelinefunctionmaskid.md @@ -1,6 +1,6 @@ # PipelineFunctionMaskID -Function ID +Identifier of the Function. Always mask ## Example Usage diff --git a/docs/models/pipelinefunctionmvexpand.md b/docs/models/pipelinefunctionmvexpand.md index ddc006e79..0012705c6 100644 --- a/docs/models/pipelinefunctionmvexpand.md +++ b/docs/models/pipelinefunctionmvexpand.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionMvExpandID](../models/pipelinefunctionmvexpandid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionMvExpandID](../models/pipelinefunctionmvexpandid.md) | :heavy_check_mark: | Identifier of the Function. Always mv_expand | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionmvexpandid.md b/docs/models/pipelinefunctionmvexpandid.md index a2fedd5d5..d1c4fd61a 100644 --- a/docs/models/pipelinefunctionmvexpandid.md +++ b/docs/models/pipelinefunctionmvexpandid.md @@ -1,6 +1,6 @@ # PipelineFunctionMvExpandID -Function ID +Identifier of the Function. Always mv_expand ## Example Usage diff --git a/docs/models/pipelinefunctionmvpull.md b/docs/models/pipelinefunctionmvpull.md index bdd1a9348..1e592e035 100644 --- a/docs/models/pipelinefunctionmvpull.md +++ b/docs/models/pipelinefunctionmvpull.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionMvPullID](../models/pipelinefunctionmvpullid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionMvPullID](../models/pipelinefunctionmvpullid.md) | :heavy_check_mark: | Identifier of the Function. Always mv_pull | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionmvpullid.md b/docs/models/pipelinefunctionmvpullid.md index d891f2417..61472ac98 100644 --- a/docs/models/pipelinefunctionmvpullid.md +++ b/docs/models/pipelinefunctionmvpullid.md @@ -1,6 +1,6 @@ # PipelineFunctionMvPullID -Function ID +Identifier of the Function. Always mv_pull ## Example Usage diff --git a/docs/models/pipelinefunctionnotificationpolicies.md b/docs/models/pipelinefunctionnotificationpolicies.md index d97961643..5205bdcfe 100644 --- a/docs/models/pipelinefunctionnotificationpolicies.md +++ b/docs/models/pipelinefunctionnotificationpolicies.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionNotificationPoliciesID](../models/pipelinefunctionnotificationpoliciesid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionNotificationPoliciesID](../models/pipelinefunctionnotificationpoliciesid.md) | :heavy_check_mark: | Identifier of the Function. Always notification_policies | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionnotificationpoliciesid.md b/docs/models/pipelinefunctionnotificationpoliciesid.md index cfbcdd341..8916ade17 100644 --- a/docs/models/pipelinefunctionnotificationpoliciesid.md +++ b/docs/models/pipelinefunctionnotificationpoliciesid.md @@ -1,6 +1,6 @@ # PipelineFunctionNotificationPoliciesID -Function ID +Identifier of the Function. Always notification_policies ## Example Usage diff --git a/docs/models/pipelinefunctionnotifications.md b/docs/models/pipelinefunctionnotifications.md index 3f1c891b8..c51d6a840 100644 --- a/docs/models/pipelinefunctionnotifications.md +++ b/docs/models/pipelinefunctionnotifications.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionNotificationsID](../models/pipelinefunctionnotificationsid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionNotificationsID](../models/pipelinefunctionnotificationsid.md) | :heavy_check_mark: | Identifier of the Function. Always notifications | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionnotificationsid.md b/docs/models/pipelinefunctionnotificationsid.md index de7766be1..37a4733d7 100644 --- a/docs/models/pipelinefunctionnotificationsid.md +++ b/docs/models/pipelinefunctionnotificationsid.md @@ -1,6 +1,6 @@ # PipelineFunctionNotificationsID -Function ID +Identifier of the Function. Always notifications ## Example Usage diff --git a/docs/models/pipelinefunctionnotify.md b/docs/models/pipelinefunctionnotify.md index 397ad5ead..9e0ef92fc 100644 --- a/docs/models/pipelinefunctionnotify.md +++ b/docs/models/pipelinefunctionnotify.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionNotifyID](../models/pipelinefunctionnotifyid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionNotifyID](../models/pipelinefunctionnotifyid.md) | :heavy_check_mark: | Identifier of the Function. Always notify | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionnotifyid.md b/docs/models/pipelinefunctionnotifyid.md index d22f178c1..2ce1f08f5 100644 --- a/docs/models/pipelinefunctionnotifyid.md +++ b/docs/models/pipelinefunctionnotifyid.md @@ -1,6 +1,6 @@ # PipelineFunctionNotifyID -Function ID +Identifier of the Function. Always notify ## Example Usage diff --git a/docs/models/pipelinefunctionnumerify.md b/docs/models/pipelinefunctionnumerify.md index 406010dc9..749738bad 100644 --- a/docs/models/pipelinefunctionnumerify.md +++ b/docs/models/pipelinefunctionnumerify.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionNumerifyID](../models/pipelinefunctionnumerifyid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionNumerifyID](../models/pipelinefunctionnumerifyid.md) | :heavy_check_mark: | Identifier of the Function. Always numerify | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionnumerifyid.md b/docs/models/pipelinefunctionnumerifyid.md index 7dba5b7b0..00c998e8d 100644 --- a/docs/models/pipelinefunctionnumerifyid.md +++ b/docs/models/pipelinefunctionnumerifyid.md @@ -1,6 +1,6 @@ # PipelineFunctionNumerifyID -Function ID +Identifier of the Function. Always numerify ## Example Usage diff --git a/docs/models/pipelinefunctionotlplogs.md b/docs/models/pipelinefunctionotlplogs.md index efe20a0a8..cb75f7a70 100644 --- a/docs/models/pipelinefunctionotlplogs.md +++ b/docs/models/pipelinefunctionotlplogs.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionOtlpLogsID](../models/pipelinefunctionotlplogsid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionOtlpLogsID](../models/pipelinefunctionotlplogsid.md) | :heavy_check_mark: | Identifier of the Function. Always otlp_logs | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionotlplogsid.md b/docs/models/pipelinefunctionotlplogsid.md index ddc6ea0d6..26423e170 100644 --- a/docs/models/pipelinefunctionotlplogsid.md +++ b/docs/models/pipelinefunctionotlplogsid.md @@ -1,6 +1,6 @@ # PipelineFunctionOtlpLogsID -Function ID +Identifier of the Function. Always otlp_logs ## Example Usage diff --git a/docs/models/pipelinefunctionotlpmetrics.md b/docs/models/pipelinefunctionotlpmetrics.md index c22b2eca4..cfcf36e1f 100644 --- a/docs/models/pipelinefunctionotlpmetrics.md +++ b/docs/models/pipelinefunctionotlpmetrics.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionOtlpMetricsID](../models/pipelinefunctionotlpmetricsid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionOtlpMetricsID](../models/pipelinefunctionotlpmetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always otlp_metrics | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionotlpmetricsid.md b/docs/models/pipelinefunctionotlpmetricsid.md index 314f32559..bca3b522e 100644 --- a/docs/models/pipelinefunctionotlpmetricsid.md +++ b/docs/models/pipelinefunctionotlpmetricsid.md @@ -1,6 +1,6 @@ # PipelineFunctionOtlpMetricsID -Function ID +Identifier of the Function. Always otlp_metrics ## Example Usage diff --git a/docs/models/pipelinefunctionotlptraces.md b/docs/models/pipelinefunctionotlptraces.md index 7eb7a863d..4a24b3d1b 100644 --- a/docs/models/pipelinefunctionotlptraces.md +++ b/docs/models/pipelinefunctionotlptraces.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionOtlpTracesID](../models/pipelinefunctionotlptracesid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionOtlpTracesID](../models/pipelinefunctionotlptracesid.md) | :heavy_check_mark: | Identifier of the Function. Always otlp_traces | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionotlptracesid.md b/docs/models/pipelinefunctionotlptracesid.md index e71f8ebe5..f6e11e224 100644 --- a/docs/models/pipelinefunctionotlptracesid.md +++ b/docs/models/pipelinefunctionotlptracesid.md @@ -1,6 +1,6 @@ # PipelineFunctionOtlpTracesID -Function ID +Identifier of the Function. Always otlp_traces ## Example Usage diff --git a/docs/models/pipelinefunctionpack.md b/docs/models/pipelinefunctionpack.md index a96833bcf..a59ced200 100644 --- a/docs/models/pipelinefunctionpack.md +++ b/docs/models/pipelinefunctionpack.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionPackID](../models/pipelinefunctionpackid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionPackID](../models/pipelinefunctionpackid.md) | :heavy_check_mark: | Identifier of the Function. Always pack | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionpackid.md b/docs/models/pipelinefunctionpackid.md index ac2d91d67..050aa7e08 100644 --- a/docs/models/pipelinefunctionpackid.md +++ b/docs/models/pipelinefunctionpackid.md @@ -1,6 +1,6 @@ # PipelineFunctionPackID -Function ID +Identifier of the Function. Always pack ## Example Usage diff --git a/docs/models/pipelinefunctionpivot.md b/docs/models/pipelinefunctionpivot.md index 8d0ad952d..33c6743fa 100644 --- a/docs/models/pipelinefunctionpivot.md +++ b/docs/models/pipelinefunctionpivot.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionPivotID](../models/pipelinefunctionpivotid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionPivotID](../models/pipelinefunctionpivotid.md) | :heavy_check_mark: | Identifier of the Function. Always pivot | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionpivotid.md b/docs/models/pipelinefunctionpivotid.md index 3797f9bec..29bc4282e 100644 --- a/docs/models/pipelinefunctionpivotid.md +++ b/docs/models/pipelinefunctionpivotid.md @@ -1,6 +1,6 @@ # PipelineFunctionPivotID -Function ID +Identifier of the Function. Always pivot ## Example Usage diff --git a/docs/models/pipelinefunctionpublishmetrics.md b/docs/models/pipelinefunctionpublishmetrics.md index 5d25f7f55..f3fe093df 100644 --- a/docs/models/pipelinefunctionpublishmetrics.md +++ b/docs/models/pipelinefunctionpublishmetrics.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionPublishMetricsID](../models/pipelinefunctionpublishmetricsid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionPublishMetricsID](../models/pipelinefunctionpublishmetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always publish_metrics | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionpublishmetricsid.md b/docs/models/pipelinefunctionpublishmetricsid.md index 855be1007..331d86574 100644 --- a/docs/models/pipelinefunctionpublishmetricsid.md +++ b/docs/models/pipelinefunctionpublishmetricsid.md @@ -1,6 +1,6 @@ # PipelineFunctionPublishMetricsID -Function ID +Identifier of the Function. Always publish_metrics ## Example Usage diff --git a/docs/models/pipelinefunctionredis.md b/docs/models/pipelinefunctionredis.md index f656fecb6..b72dea4f1 100644 --- a/docs/models/pipelinefunctionredis.md +++ b/docs/models/pipelinefunctionredis.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionRedisID](../models/pipelinefunctionredisid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionRedisID](../models/pipelinefunctionredisid.md) | :heavy_check_mark: | Identifier of the Function. Always redis | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionredisid.md b/docs/models/pipelinefunctionredisid.md index fc9f530af..9dd156b97 100644 --- a/docs/models/pipelinefunctionredisid.md +++ b/docs/models/pipelinefunctionredisid.md @@ -1,6 +1,6 @@ # PipelineFunctionRedisID -Function ID +Identifier of the Function. Always redis ## Example Usage diff --git a/docs/models/pipelinefunctionregexextract.md b/docs/models/pipelinefunctionregexextract.md index 7df88a663..4aa6623e1 100644 --- a/docs/models/pipelinefunctionregexextract.md +++ b/docs/models/pipelinefunctionregexextract.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionRegexExtractID](../models/pipelinefunctionregexextractid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionRegexExtractID](../models/pipelinefunctionregexextractid.md) | :heavy_check_mark: | Identifier of the Function. Always regex_extract | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionregexextractid.md b/docs/models/pipelinefunctionregexextractid.md index ff806e737..5d3cc19ad 100644 --- a/docs/models/pipelinefunctionregexextractid.md +++ b/docs/models/pipelinefunctionregexextractid.md @@ -1,6 +1,6 @@ # PipelineFunctionRegexExtractID -Function ID +Identifier of the Function. Always regex_extract ## Example Usage diff --git a/docs/models/pipelinefunctionregexfilter.md b/docs/models/pipelinefunctionregexfilter.md index 2ed3fbcba..a38edd56c 100644 --- a/docs/models/pipelinefunctionregexfilter.md +++ b/docs/models/pipelinefunctionregexfilter.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionRegexFilterID](../models/pipelinefunctionregexfilterid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionRegexFilterID](../models/pipelinefunctionregexfilterid.md) | :heavy_check_mark: | Identifier of the Function. Always regex_filter | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionregexfilterid.md b/docs/models/pipelinefunctionregexfilterid.md index ac976114c..b91977b6b 100644 --- a/docs/models/pipelinefunctionregexfilterid.md +++ b/docs/models/pipelinefunctionregexfilterid.md @@ -1,6 +1,6 @@ # PipelineFunctionRegexFilterID -Function ID +Identifier of the Function. Always regex_filter ## Example Usage diff --git a/docs/models/pipelinefunctionrename.md b/docs/models/pipelinefunctionrename.md index a6dd2d440..6eb12ff3b 100644 --- a/docs/models/pipelinefunctionrename.md +++ b/docs/models/pipelinefunctionrename.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionRenameID](../models/pipelinefunctionrenameid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionRenameID](../models/pipelinefunctionrenameid.md) | :heavy_check_mark: | Identifier of the Function. Always rename | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionrenameid.md b/docs/models/pipelinefunctionrenameid.md index 69800f4fc..60cb75ad2 100644 --- a/docs/models/pipelinefunctionrenameid.md +++ b/docs/models/pipelinefunctionrenameid.md @@ -1,6 +1,6 @@ # PipelineFunctionRenameID -Function ID +Identifier of the Function. Always rename ## Example Usage diff --git a/docs/models/pipelinefunctionrollupmetrics.md b/docs/models/pipelinefunctionrollupmetrics.md index 63171a87d..272221639 100644 --- a/docs/models/pipelinefunctionrollupmetrics.md +++ b/docs/models/pipelinefunctionrollupmetrics.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionRollupMetricsID](../models/pipelinefunctionrollupmetricsid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionRollupMetricsID](../models/pipelinefunctionrollupmetricsid.md) | :heavy_check_mark: | Identifier of the Function. Always rollup_metrics | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionrollupmetricsid.md b/docs/models/pipelinefunctionrollupmetricsid.md index d140ba497..86a65826b 100644 --- a/docs/models/pipelinefunctionrollupmetricsid.md +++ b/docs/models/pipelinefunctionrollupmetricsid.md @@ -1,6 +1,6 @@ # PipelineFunctionRollupMetricsID -Function ID +Identifier of the Function. Always rollup_metrics ## Example Usage diff --git a/docs/models/pipelinefunctionsampling.md b/docs/models/pipelinefunctionsampling.md index 481bcd760..9f636bdc4 100644 --- a/docs/models/pipelinefunctionsampling.md +++ b/docs/models/pipelinefunctionsampling.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSamplingID](../models/pipelinefunctionsamplingid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSamplingID](../models/pipelinefunctionsamplingid.md) | :heavy_check_mark: | Identifier of the Function. Always sampling | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionsamplingid.md b/docs/models/pipelinefunctionsamplingid.md index 151ba887b..e56961e26 100644 --- a/docs/models/pipelinefunctionsamplingid.md +++ b/docs/models/pipelinefunctionsamplingid.md @@ -1,6 +1,6 @@ # PipelineFunctionSamplingID -Function ID +Identifier of the Function. Always sampling ## Example Usage diff --git a/docs/models/pipelinefunctionsearchengineexport.md b/docs/models/pipelinefunctionsearchengineexport.md index c9099266a..ad1b3a5da 100644 --- a/docs/models/pipelinefunctionsearchengineexport.md +++ b/docs/models/pipelinefunctionsearchengineexport.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSearchEngineExportID](../models/pipelinefunctionsearchengineexportid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSearchEngineExportID](../models/pipelinefunctionsearchengineexportid.md) | :heavy_check_mark: | Identifier of the Function. Always search_engine_export | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionsearchengineexportid.md b/docs/models/pipelinefunctionsearchengineexportid.md index 20f1f48ae..ea4f37ab7 100644 --- a/docs/models/pipelinefunctionsearchengineexportid.md +++ b/docs/models/pipelinefunctionsearchengineexportid.md @@ -1,6 +1,6 @@ # PipelineFunctionSearchEngineExportID -Function ID +Identifier of the Function. Always search_engine_export ## Example Usage diff --git a/docs/models/pipelinefunctionsend.md b/docs/models/pipelinefunctionsend.md index 0e8e538a6..aadd78be1 100644 --- a/docs/models/pipelinefunctionsend.md +++ b/docs/models/pipelinefunctionsend.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSendID](../models/pipelinefunctionsendid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSendID](../models/pipelinefunctionsendid.md) | :heavy_check_mark: | Identifier of the Function. Always send | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionsendid.md b/docs/models/pipelinefunctionsendid.md index 96f0acfbe..bf9961d1d 100644 --- a/docs/models/pipelinefunctionsendid.md +++ b/docs/models/pipelinefunctionsendid.md @@ -1,6 +1,6 @@ # PipelineFunctionSendID -Function ID +Identifier of the Function. Always send ## Example Usage diff --git a/docs/models/pipelinefunctionsensitivedatascanner.md b/docs/models/pipelinefunctionsensitivedatascanner.md index bed86f172..2110aa331 100644 --- a/docs/models/pipelinefunctionsensitivedatascanner.md +++ b/docs/models/pipelinefunctionsensitivedatascanner.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSensitiveDataScannerID](../models/pipelinefunctionsensitivedatascannerid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSensitiveDataScannerID](../models/pipelinefunctionsensitivedatascannerid.md) | :heavy_check_mark: | Identifier of the Function. Always sensitive_data_scanner | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionsensitivedatascannerid.md b/docs/models/pipelinefunctionsensitivedatascannerid.md index 6b292adee..d9f952605 100644 --- a/docs/models/pipelinefunctionsensitivedatascannerid.md +++ b/docs/models/pipelinefunctionsensitivedatascannerid.md @@ -1,6 +1,6 @@ # PipelineFunctionSensitiveDataScannerID -Function ID +Identifier of the Function. Always sensitive_data_scanner ## Example Usage diff --git a/docs/models/pipelinefunctionserde.md b/docs/models/pipelinefunctionserde.md index 5c1391f08..c40cd302c 100644 --- a/docs/models/pipelinefunctionserde.md +++ b/docs/models/pipelinefunctionserde.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSerdeID](../models/pipelinefunctionserdeid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSerdeID](../models/pipelinefunctionserdeid.md) | :heavy_check_mark: | Identifier of the Function. Always serde | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionserdeid.md b/docs/models/pipelinefunctionserdeid.md index 962d57b42..5521f6b80 100644 --- a/docs/models/pipelinefunctionserdeid.md +++ b/docs/models/pipelinefunctionserdeid.md @@ -1,6 +1,6 @@ # PipelineFunctionSerdeID -Function ID +Identifier of the Function. Always serde ## Example Usage diff --git a/docs/models/pipelinefunctionserialize.md b/docs/models/pipelinefunctionserialize.md index eb23921a3..0c6f17d35 100644 --- a/docs/models/pipelinefunctionserialize.md +++ b/docs/models/pipelinefunctionserialize.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSerializeID](../models/pipelinefunctionserializeid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSerializeID](../models/pipelinefunctionserializeid.md) | :heavy_check_mark: | Identifier of the Function. Always serialize | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionserializeid.md b/docs/models/pipelinefunctionserializeid.md index 70dc92ac1..4354c9174 100644 --- a/docs/models/pipelinefunctionserializeid.md +++ b/docs/models/pipelinefunctionserializeid.md @@ -1,6 +1,6 @@ # PipelineFunctionSerializeID -Function ID +Identifier of the Function. Always serialize ## Example Usage diff --git a/docs/models/pipelinefunctionsidlookup.md b/docs/models/pipelinefunctionsidlookup.md index c78e9cdc1..5bf72965d 100644 --- a/docs/models/pipelinefunctionsidlookup.md +++ b/docs/models/pipelinefunctionsidlookup.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSidlookupID](../models/pipelinefunctionsidlookupid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSidlookupID](../models/pipelinefunctionsidlookupid.md) | :heavy_check_mark: | Identifier of the Function. Always sidlookup | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionsidlookupid.md b/docs/models/pipelinefunctionsidlookupid.md index 3e73ba23c..8760d1365 100644 --- a/docs/models/pipelinefunctionsidlookupid.md +++ b/docs/models/pipelinefunctionsidlookupid.md @@ -1,6 +1,6 @@ # PipelineFunctionSidlookupID -Function ID +Identifier of the Function. Always sidlookup ## Example Usage diff --git a/docs/models/pipelinefunctionsignalfilter.md b/docs/models/pipelinefunctionsignalfilter.md index 1051bfd26..1bd21ae44 100644 --- a/docs/models/pipelinefunctionsignalfilter.md +++ b/docs/models/pipelinefunctionsignalfilter.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSignalFilterID](../models/pipelinefunctionsignalfilterid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSignalFilterID](../models/pipelinefunctionsignalfilterid.md) | :heavy_check_mark: | Identifier of the Function. Always signal_filter | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionsignalfilterid.md b/docs/models/pipelinefunctionsignalfilterid.md index f96767608..afc488c43 100644 --- a/docs/models/pipelinefunctionsignalfilterid.md +++ b/docs/models/pipelinefunctionsignalfilterid.md @@ -1,6 +1,6 @@ # PipelineFunctionSignalFilterID -Function ID +Identifier of the Function. Always signal_filter ## Example Usage diff --git a/docs/models/pipelinefunctionsnmptrapserialize.md b/docs/models/pipelinefunctionsnmptrapserialize.md index ab5e6dbd0..0ba3ea3ba 100644 --- a/docs/models/pipelinefunctionsnmptrapserialize.md +++ b/docs/models/pipelinefunctionsnmptrapserialize.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSnmpTrapSerializeID](../models/pipelinefunctionsnmptrapserializeid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSnmpTrapSerializeID](../models/pipelinefunctionsnmptrapserializeid.md) | :heavy_check_mark: | Identifier of the Function. Always snmp_trap_serialize | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionsnmptrapserializeid.md b/docs/models/pipelinefunctionsnmptrapserializeid.md index 333e957be..ec469b4c6 100644 --- a/docs/models/pipelinefunctionsnmptrapserializeid.md +++ b/docs/models/pipelinefunctionsnmptrapserializeid.md @@ -1,6 +1,6 @@ # PipelineFunctionSnmpTrapSerializeID -Function ID +Identifier of the Function. Always snmp_trap_serialize ## Example Usage diff --git a/docs/models/pipelinefunctionsort.md b/docs/models/pipelinefunctionsort.md index 03acc3281..2a2b5d4a2 100644 --- a/docs/models/pipelinefunctionsort.md +++ b/docs/models/pipelinefunctionsort.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSortID](../models/pipelinefunctionsortid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSortID](../models/pipelinefunctionsortid.md) | :heavy_check_mark: | Identifier of the Function. Always sort | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionsortid.md b/docs/models/pipelinefunctionsortid.md index 267c5a430..1c63d40c5 100644 --- a/docs/models/pipelinefunctionsortid.md +++ b/docs/models/pipelinefunctionsortid.md @@ -1,6 +1,6 @@ # PipelineFunctionSortID -Function ID +Identifier of the Function. Always sort ## Example Usage diff --git a/docs/models/pipelinefunctionstore.md b/docs/models/pipelinefunctionstore.md index 08cb5938b..7aace3c59 100644 --- a/docs/models/pipelinefunctionstore.md +++ b/docs/models/pipelinefunctionstore.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionStoreID](../models/pipelinefunctionstoreid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionStoreID](../models/pipelinefunctionstoreid.md) | :heavy_check_mark: | Identifier of the Function. Always store | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionstoreid.md b/docs/models/pipelinefunctionstoreid.md index 224eeb24a..af449d937 100644 --- a/docs/models/pipelinefunctionstoreid.md +++ b/docs/models/pipelinefunctionstoreid.md @@ -1,6 +1,6 @@ # PipelineFunctionStoreID -Function ID +Identifier of the Function. Always store ## Example Usage diff --git a/docs/models/pipelinefunctionsuppress.md b/docs/models/pipelinefunctionsuppress.md index 8af896d6f..8a3339281 100644 --- a/docs/models/pipelinefunctionsuppress.md +++ b/docs/models/pipelinefunctionsuppress.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionSuppressID](../models/pipelinefunctionsuppressid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionSuppressID](../models/pipelinefunctionsuppressid.md) | :heavy_check_mark: | Identifier of the Function. Always suppress | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionsuppressid.md b/docs/models/pipelinefunctionsuppressid.md index d49c43096..ae4e75741 100644 --- a/docs/models/pipelinefunctionsuppressid.md +++ b/docs/models/pipelinefunctionsuppressid.md @@ -1,6 +1,6 @@ # PipelineFunctionSuppressID -Function ID +Identifier of the Function. Always suppress ## Example Usage diff --git a/docs/models/pipelinefunctiontee.md b/docs/models/pipelinefunctiontee.md index b608b8743..7e5677593 100644 --- a/docs/models/pipelinefunctiontee.md +++ b/docs/models/pipelinefunctiontee.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionTeeID](../models/pipelinefunctionteeid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionTeeID](../models/pipelinefunctionteeid.md) | :heavy_check_mark: | Identifier of the Function. Always tee | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionteeid.md b/docs/models/pipelinefunctionteeid.md index 3e8ae58fd..18227021b 100644 --- a/docs/models/pipelinefunctionteeid.md +++ b/docs/models/pipelinefunctionteeid.md @@ -1,6 +1,6 @@ # PipelineFunctionTeeID -Function ID +Identifier of the Function. Always tee ## Example Usage diff --git a/docs/models/pipelinefunctiontrimtimestamp.md b/docs/models/pipelinefunctiontrimtimestamp.md index c32332c92..2822c611b 100644 --- a/docs/models/pipelinefunctiontrimtimestamp.md +++ b/docs/models/pipelinefunctiontrimtimestamp.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionTrimTimestampID](../models/pipelinefunctiontrimtimestampid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionTrimTimestampID](../models/pipelinefunctiontrimtimestampid.md) | :heavy_check_mark: | Identifier of the Function. Always trim_timestamp | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctiontrimtimestampid.md b/docs/models/pipelinefunctiontrimtimestampid.md index f40e5a5fe..75873a6ed 100644 --- a/docs/models/pipelinefunctiontrimtimestampid.md +++ b/docs/models/pipelinefunctiontrimtimestampid.md @@ -1,6 +1,6 @@ # PipelineFunctionTrimTimestampID -Function ID +Identifier of the Function. Always trim_timestamp ## Example Usage diff --git a/docs/models/pipelinefunctionunion.md b/docs/models/pipelinefunctionunion.md index 364ae579d..931cda544 100644 --- a/docs/models/pipelinefunctionunion.md +++ b/docs/models/pipelinefunctionunion.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionUnionID](../models/pipelinefunctionunionid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionUnionID](../models/pipelinefunctionunionid.md) | :heavy_check_mark: | Identifier of the Function. Always union | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionunionid.md b/docs/models/pipelinefunctionunionid.md index 38777ed88..98e1d628c 100644 --- a/docs/models/pipelinefunctionunionid.md +++ b/docs/models/pipelinefunctionunionid.md @@ -1,6 +1,6 @@ # PipelineFunctionUnionID -Function ID +Identifier of the Function. Always union ## Example Usage diff --git a/docs/models/pipelinefunctionunroll.md b/docs/models/pipelinefunctionunroll.md index 94a8fd1db..31ccc7a78 100644 --- a/docs/models/pipelinefunctionunroll.md +++ b/docs/models/pipelinefunctionunroll.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionUnrollID](../models/pipelinefunctionunrollid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionUnrollID](../models/pipelinefunctionunrollid.md) | :heavy_check_mark: | Identifier of the Function. Always unroll | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionunrollid.md b/docs/models/pipelinefunctionunrollid.md index cfc05fe3c..5561e3a17 100644 --- a/docs/models/pipelinefunctionunrollid.md +++ b/docs/models/pipelinefunctionunrollid.md @@ -1,6 +1,6 @@ # PipelineFunctionUnrollID -Function ID +Identifier of the Function. Always unroll ## Example Usage diff --git a/docs/models/pipelinefunctionwindow.md b/docs/models/pipelinefunctionwindow.md index 61456e87d..705bd4479 100644 --- a/docs/models/pipelinefunctionwindow.md +++ b/docs/models/pipelinefunctionwindow.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionWindowID](../models/pipelinefunctionwindowid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionWindowID](../models/pipelinefunctionwindowid.md) | :heavy_check_mark: | Identifier of the Function. Always window | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionwindowid.md b/docs/models/pipelinefunctionwindowid.md index 3a4dd1738..3208728b8 100644 --- a/docs/models/pipelinefunctionwindowid.md +++ b/docs/models/pipelinefunctionwindowid.md @@ -1,6 +1,6 @@ # PipelineFunctionWindowID -Function ID +Identifier of the Function. Always window ## Example Usage diff --git a/docs/models/pipelinefunctionxmlunroll.md b/docs/models/pipelinefunctionxmlunroll.md index 540da5b38..89a849139 100644 --- a/docs/models/pipelinefunctionxmlunroll.md +++ b/docs/models/pipelinefunctionxmlunroll.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `filter_` | *Optional[str]* | :heavy_minus_sign: | Filter that selects data to be fed through this Function | -| `id` | [models.PipelineFunctionXMLUnrollID](../models/pipelinefunctionxmlunrollid.md) | :heavy_check_mark: | Function ID | +| `id` | [models.PipelineFunctionXMLUnrollID](../models/pipelinefunctionxmlunrollid.md) | :heavy_check_mark: | Identifier of the Function. Always xml_unroll | | `description` | *Optional[str]* | :heavy_minus_sign: | Simple description of this step | | `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, data will not be pushed through this function | | `final` | *Optional[bool]* | :heavy_minus_sign: | If enabled, stops the results of this Function from being passed to the downstream Functions | diff --git a/docs/models/pipelinefunctionxmlunrollid.md b/docs/models/pipelinefunctionxmlunrollid.md index 52336d061..4fa371640 100644 --- a/docs/models/pipelinefunctionxmlunrollid.md +++ b/docs/models/pipelinefunctionxmlunrollid.md @@ -1,6 +1,6 @@ # PipelineFunctionXMLUnrollID -Function ID +Identifier of the Function. Always xml_unroll ## Example Usage diff --git a/docs/models/pqtype.md b/docs/models/pqtype.md index 4122dfa95..c6bc620c2 100644 --- a/docs/models/pqtype.md +++ b/docs/models/pqtype.md @@ -13,4 +13,4 @@ | `max_size` | *Optional[str]* | :heavy_minus_sign: | The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc. | | `path` | *Optional[str]* | :heavy_minus_sign: | The location for the persistent queue files. To this field's value, the system will append: //inputs/ | | `compress` | [Optional[models.CompressionOptionsPq]](../models/compressionoptionspq.md) | :heavy_minus_sign: | Codec to use to compress the persisted data | -| `pq_controls` | [Optional[models.PqTypePqControls]](../models/pqtypepqcontrols.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `pq_controls` | [Optional[models.PqTypePqControls]](../models/pqtypepqcontrols.md) | :heavy_minus_sign: | Management controls for the persistent queue. | \ No newline at end of file diff --git a/docs/models/pqtypepqcontrols.md b/docs/models/pqtypepqcontrols.md index 4e5ad661e..a8c544617 100644 --- a/docs/models/pqtypepqcontrols.md +++ b/docs/models/pqtypepqcontrols.md @@ -1,5 +1,7 @@ # PqTypePqControls +Management controls for the persistent queue. + ## Fields diff --git a/docs/models/tags1.md b/docs/models/tags1.md new file mode 100644 index 000000000..70eb8b191 --- /dev/null +++ b/docs/models/tags1.md @@ -0,0 +1,13 @@ +# Tags1 + +Categorization tags for the Pack. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | +| `data_type` | List[*str*] | :heavy_minus_sign: | List of data type tags for the Pack. | | +| `domain` | List[*str*] | :heavy_minus_sign: | List of domain tags for the Pack. | [
"security",
"observability"
] | +| `technology` | List[*str*] | :heavy_minus_sign: | List of technology tags for the Pack. | [
"aws",
"splunk"
] | +| `streamtags` | List[*str*] | :heavy_minus_sign: | List of stream tags for routing and filtering. | | \ No newline at end of file diff --git a/docs/models/tags2.md b/docs/models/tags2.md new file mode 100644 index 000000000..dd62bacdd --- /dev/null +++ b/docs/models/tags2.md @@ -0,0 +1,13 @@ +# Tags2 + +Categorization tags for the Pack. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | +| `data_type` | List[*str*] | :heavy_minus_sign: | List of data type tags for the Pack. | | +| `domain` | List[*str*] | :heavy_minus_sign: | List of domain tags for the Pack. | [
"security",
"observability"
] | +| `technology` | List[*str*] | :heavy_minus_sign: | List of technology tags for the Pack. | [
"aws",
"splunk"
] | +| `streamtags` | List[*str*] | :heavy_minus_sign: | List of stream tags for routing and filtering. | | \ No newline at end of file diff --git a/docs/models/tagstypepackinstallinfo.md b/docs/models/tagstypepackinstallinfo.md index 584f543da..2198921b3 100644 --- a/docs/models/tagstypepackinstallinfo.md +++ b/docs/models/tagstypepackinstallinfo.md @@ -1,11 +1,13 @@ # TagsTypePackInstallInfo +Categorization tags for the Pack. + ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `data_type` | List[*str*] | :heavy_minus_sign: | N/A | -| `domain` | List[*str*] | :heavy_minus_sign: | N/A | -| `streamtags` | List[*str*] | :heavy_minus_sign: | N/A | -| `technology` | List[*str*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | +| `data_type` | List[*str*] | :heavy_minus_sign: | List of data type tags for the Pack. | | +| `domain` | List[*str*] | :heavy_minus_sign: | List of domain tags for the Pack. | [
"security",
"observability"
] | +| `streamtags` | List[*str*] | :heavy_minus_sign: | List of stream tags for routing and filtering. | | +| `technology` | List[*str*] | :heavy_minus_sign: | List of technology tags for the Pack. | [
"aws",
"splunk"
] | \ No newline at end of file diff --git a/docs/models/tlssettingsserversidetype.md b/docs/models/tlssettingsserversidetype.md index 32b89ad14..9571aa88d 100644 --- a/docs/models/tlssettingsserversidetype.md +++ b/docs/models/tlssettingsserversidetype.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -| `disabled` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | If true, TLS is disabled on this connection. | | `request_cert` | *Optional[bool]* | :heavy_minus_sign: | Require clients to present their certificates. Used to perform client authentication using SSL certs. | | `reject_unauthorized` | *Optional[bool]* | :heavy_minus_sign: | Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's) | | `common_name_regex` | *Optional[str]* | :heavy_minus_sign: | Regex matching allowable common names in peer certificates' subject attribute | diff --git a/docs/models/updatepacksbyidrequest.md b/docs/models/updatepacksbyidrequest.md index 200f131d3..02b76bdd1 100644 --- a/docs/models/updatepacksbyidrequest.md +++ b/docs/models/updatepacksbyidrequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `id` | *str* | :heavy_check_mark: | The id of the Pack to upgrade. | -| `pack_upgrade_request` | [models.PackUpgradeRequest](../models/packupgraderequest.md) | :heavy_check_mark: | PackUpgradeRequest object. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The id of the Pack to upgrade. Use the id field from the list response. | +| `pack_upgrade_request` | [models.PackUpgradeRequest](../models/packupgraderequest.md) | :heavy_check_mark: | PackUpgradeRequest object. | \ No newline at end of file diff --git a/docs/models/updateroutesbyidrequest.md b/docs/models/updateroutesbyidrequest.md index 4df8d7cd9..72ed41210 100644 --- a/docs/models/updateroutesbyidrequest.md +++ b/docs/models/updateroutesbyidrequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `id_param` | *str* | :heavy_check_mark: | The id of the Routing table that contains the Route to update. The supported value is default. | -| `routes_input` | [models.RoutesInput](../models/routesinput.md) | :heavy_check_mark: | RoutesInput object. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id_param` | *str* | :heavy_check_mark: | The id of the Routing table to update. The supported value is default. | +| `routes_input` | [models.RoutesInput](../models/routesinput.md) | :heavy_check_mark: | RoutesInput object. | \ No newline at end of file diff --git a/docs/models/updateroutesbypackandidrequest.md b/docs/models/updateroutesbypackandidrequest.md index 4cca7042f..bde5ea36a 100644 --- a/docs/models/updateroutesbypackandidrequest.md +++ b/docs/models/updateroutesbypackandidrequest.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `id_param` | *str* | :heavy_check_mark: | The id of the Routing table that contains the Route to update. The supported value is default. | -| `pack` | *str* | :heavy_check_mark: | The id of the Pack. | -| `routes_input` | [models.RoutesInput](../models/routesinput.md) | :heavy_check_mark: | RoutesInput object. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id_param` | *str* | :heavy_check_mark: | The id of the Routing table to update. The supported value is default. | +| `pack` | *str* | :heavy_check_mark: | The id of the Pack. | +| `routes_input` | [models.RoutesInput](../models/routesinput.md) | :heavy_check_mark: | RoutesInput object. | \ No newline at end of file diff --git a/docs/models/uploadpackresponse.md b/docs/models/uploadpackresponse.md index 9b4e5d612..1e15dc99e 100644 --- a/docs/models/uploadpackresponse.md +++ b/docs/models/uploadpackresponse.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `source` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `source` | *str* | :heavy_check_mark: | Unique staging source identifier for the uploaded Pack file. Pass this value as the source parameter in a subsequent POST /packs request to install the Pack. | \ No newline at end of file diff --git a/docs/sdks/collectorssdk/README.md b/docs/sdks/collectorssdk/README.md index 6e2e288de..22d6c329c 100644 --- a/docs/sdks/collectorssdk/README.md +++ b/docs/sdks/collectorssdk/README.md @@ -18,7 +18,7 @@ Get a list of all Collectors. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -42,7 +42,7 @@ with CriblControlPlane( | Parameter | Type | Required | Description | | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `collector_type` | [Optional[models.CollectorType]](../../models/collectortype.md) | :heavy_minus_sign: | Filter by collector type | +| `collector_type` | [Optional[models.CollectorType]](../../models/collectortype.md) | :heavy_minus_sign: | Filter by collector type. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -658,6 +658,42 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: CollectorResponseExamplesRestCollector + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.create(request=models.SavedJobCollection( + type=models.JobTypeOptionsRunnableJobCollection.COLLECTION, + collector=models.CollectorAzureBlob( + type=models.CollectorAzureBlobType.AZURE_BLOB, + conf=models.AzureBlobAuthTypeClientCert( + auth_type=models.AzureBlobAuthTypeClientCertAuthenticationMethod.CLIENT_CERT, + storage_account_name="", + tenant_id="", + client_id="", + certificate=models.CertificateTypeAzureBlobAuthTypeClientCert( + certificate_name="", + ), + container_name="", + ), + ), + )) + + # Handle response + print(res) + ``` ### Parameters @@ -685,7 +721,7 @@ Get the specified Collector. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os @@ -1378,6 +1414,302 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: CollectorResponseExamplesRestCollector + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.update(id="", saved_job={ + "type": models.JobTypeOptionsRunnableJobCollection.COLLECTION, + "executor": { + "type": "", + }, + }) + + # Handle response + print(res) + +``` +### Example Usage: UpdateCollectorExamplesAzureBlob + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.update(id="", saved_job={ + "type": models.JobTypeOptionsRunnableJobCollection.SCHEDULED_SEARCH, + "saved_query_id": "", + }) + + # Handle response + print(res) + +``` +### Example Usage: UpdateCollectorExamplesCriblLake + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.update(id="", saved_job=models.SavedJobCollection( + type=models.JobTypeOptionsRunnableJobCollection.COLLECTION, + collector=models.CollectorSplunk( + type=models.CollectorSplunkType.SPLUNK, + conf=models.SplunkAuthenticationToken( + authentication=models.SplunkAuthenticationTokenAuthentication.TOKEN, + token="", + search_head="", + search="", + endpoint="", + output_mode=models.OutputModeOptionsSplunkCollectorConf.JSON, + ), + ), + )) + + # Handle response + print(res) + +``` +### Example Usage: UpdateCollectorExamplesDatabase + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.update(id="", saved_job={ + "type": models.JobTypeOptionsRunnableJobCollection.SCHEDULED_SEARCH, + "saved_query_id": "", + }) + + # Handle response + print(res) + +``` +### Example Usage: UpdateCollectorExamplesFilesystem + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.update(id="", saved_job=models.SavedJobCollection( + type=models.JobTypeOptionsRunnableJobCollection.COLLECTION, + collector=models.CollectorSplunk( + type=models.CollectorSplunkType.SPLUNK, + conf=models.SplunkAuthenticationToken( + authentication=models.SplunkAuthenticationTokenAuthentication.TOKEN, + token="", + search_head="", + search="", + endpoint="", + output_mode=models.OutputModeOptionsSplunkCollectorConf.JSON, + ), + ), + )) + + # Handle response + print(res) + +``` +### Example Usage: UpdateCollectorExamplesGoogleCloudStorage + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.update(id="", saved_job={ + "type": models.JobTypeOptionsRunnableJobCollection.COLLECTION, + "executor": { + "type": "", + }, + }) + + # Handle response + print(res) + +``` +### Example Usage: UpdateCollectorExamplesRest + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.update(id="", saved_job=models.SavedJobCollection( + type=models.JobTypeOptionsRunnableJobCollection.COLLECTION, + collector=models.CollectorSplunk( + type=models.CollectorSplunkType.SPLUNK, + conf=models.SplunkAuthenticationToken( + authentication=models.SplunkAuthenticationTokenAuthentication.TOKEN, + token="", + search_head="", + search="", + endpoint="", + output_mode=models.OutputModeOptionsSplunkCollectorConf.JSON, + ), + ), + )) + + # Handle response + print(res) + +``` +### Example Usage: UpdateCollectorExamplesS3 + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.update(id="", saved_job={ + "type": models.JobTypeOptionsRunnableJobCollection.COLLECTION, + "executor": { + "type": "", + }, + }) + + # Handle response + print(res) + +``` +### Example Usage: UpdateCollectorExamplesScript + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.update(id="", saved_job=models.SavedJobCollection( + type=models.JobTypeOptionsRunnableJobCollection.COLLECTION, + collector=models.CollectorSplunk( + type=models.CollectorSplunkType.SPLUNK, + conf=models.SplunkAuthenticationToken( + authentication=models.SplunkAuthenticationTokenAuthentication.TOKEN, + token="", + search_head="", + search="", + endpoint="", + output_mode=models.OutputModeOptionsSplunkCollectorConf.JSON, + ), + ), + )) + + # Handle response + print(res) + +``` +### Example Usage: UpdateCollectorExamplesSplunk + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.collectors.update(id="", saved_job=models.SavedJobCollection( + type=models.JobTypeOptionsRunnableJobCollection.COLLECTION, + collector=models.CollectorSplunk( + type=models.CollectorSplunkType.SPLUNK, + conf=models.SplunkAuthenticationToken( + authentication=models.SplunkAuthenticationTokenAuthentication.TOKEN, + token="", + search_head="", + search="", + endpoint="", + output_mode=models.OutputModeOptionsSplunkCollectorConf.JSON, + ), + ), + )) + + # Handle response + print(res) + ``` ### Parameters @@ -1406,7 +1738,7 @@ Delete the specified Collector. ### Example Usage - + ```python from cribl_control_plane import CriblControlPlane, models import os diff --git a/docs/sdks/destinations/README.md b/docs/sdks/destinations/README.md index 8915e3c45..2e19dcc04 100644 --- a/docs/sdks/destinations/README.md +++ b/docs/sdks/destinations/README.md @@ -2256,6 +2256,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputCreateExamplesibmCloudS3 + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.destinations.create(request={ + "id": "ibm-cloud-s3-output", + "type": models.CreateOutputTypeIbmCloudS3.IBM_CLOUD_S3, + "endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud", + "bucket": "my-bucket", + "stage_path": "/tmp/staging", + }) + + # Handle response + print(res) + ``` ### Example Usage: OutputCreateExamplesscalityS3 @@ -6908,6 +6935,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateOutputExamplesibmCloudS3 + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.destinations.update(id="", output={ + "id": "ibm-cloud-s3-output", + "type": models.OutputIbmCloudS3Type.IBM_CLOUD_S3, + "endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud", + "bucket": "my-bucket", + "stage_path": "/tmp/staging", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesscalityS3 diff --git a/docs/sdks/functions/README.md b/docs/sdks/functions/README.md index 68289b2ca..bfa4e45da 100644 --- a/docs/sdks/functions/README.md +++ b/docs/sdks/functions/README.md @@ -37,9 +37,10 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `show_hidden` | *Optional[bool]* | :heavy_minus_sign: | If true, include hidden Functions in the response. Otherwise, hidden Functions are excluded. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/docs/sdks/packs/README.md b/docs/sdks/packs/README.md index 8e5348cc5..45d2c74d0 100644 --- a/docs/sdks/packs/README.md +++ b/docs/sdks/packs/README.md @@ -15,7 +15,7 @@ Actions related to Packs ## install -Install a Pack.

To install an uploaded Pack, provide the source value from the PUT /packs response as the source parameter in the request body.

To install a Pack by importing from a URL, provide the direct URL location of the .crbl file for the Pack as the source parameter in the request body.

To install a Pack by importing from a Git repository, provide git+ as the source parameter in the request body.

If you do not include the source parameter in the request body, an empty Pack is created. +Install a Pack.

To install an uploaded Pack, provide the source value from the PUT /packs response as the source parameter in the request body.

To install a Pack by importing from a URL, provide the direct URL location of the .crbl file for the Pack as the source parameter in the request body.

To install a Pack by importing from a Git repository, provide git+<repo-url> as the source parameter in the request body.

If you do not include the source parameter in the request body, an empty Pack is created. ### Example Usage: PackInstallExamplesEmptyPack @@ -50,14 +50,14 @@ with CriblControlPlane( "delectable-transom.com", "radiant-sightseeing.info", ], + "technology": [ + "", + ], "streamtags": [ "", "", "", ], - "technology": [ - "", - ], }, "allow_custom_functions": False, "force": True, @@ -236,10 +236,10 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `with_` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of additional properties to include in the response. When set, the response includes a count of the specified properties in the Pack. Available values are inputs and outputs. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `with_` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of additional properties to include in the response. When set, the response includes a count of each specified property in each Pack. Supported values: inputs, outputs, collectors. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -348,10 +348,10 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The id of the Pack to get. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The id of the Pack to get. Use the id field from the list response. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -414,14 +414,14 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The id of the Pack to upgrade. | -| `source` | *str* | :heavy_check_mark: | N/A | -| `allow_custom_functions` | *Optional[bool]* | :heavy_minus_sign: | N/A | -| `minor` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `spec` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The id of the Pack to upgrade. Use the id field from the list response. | +| `source` | *str* | :heavy_check_mark: | Source of the upgraded Pack. Use the source value returned by PUT /packs for an uploaded file, or provide a direct URL to a .crbl file or a git+<repo-url> Git repository URL. | +| `allow_custom_functions` | *Optional[bool]* | :heavy_minus_sign: | If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions. | +| `minor` | *Optional[bool]* | :heavy_minus_sign: | If true, allow the upgrade to install a minor (non-breaking) version. Otherwise, false. | +| `spec` | *Optional[str]* | :heavy_minus_sign: | Semver range constraint to apply when resolving the Pack version to install. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -463,10 +463,10 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The id of the Pack to uninstall. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The id of the Pack to uninstall. Use the id field from the list response. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/docs/sdks/packsdestinations/README.md b/docs/sdks/packsdestinations/README.md index 453f2098c..078609699 100644 --- a/docs/sdks/packsdestinations/README.md +++ b/docs/sdks/packsdestinations/README.md @@ -2255,6 +2255,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: OutputCreateExamplesibmCloudS3 + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.packs.destinations.create(pack="", request_body={ + "id": "ibm-cloud-s3-output", + "type": models.CreateOutputSystemByPackTypeIbmCloudS3.IBM_CLOUD_S3, + "endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud", + "bucket": "my-bucket", + "stage_path": "/tmp/staging", + }) + + # Handle response + print(res) + ``` ### Example Usage: OutputCreateExamplesscalityS3 @@ -6909,6 +6936,33 @@ with CriblControlPlane( # Handle response print(res) +``` +### Example Usage: UpdateOutputExamplesibmCloudS3 + + +```python +from cribl_control_plane import CriblControlPlane, models +import os + + +with CriblControlPlane( + "https://api.example.com", + security=models.Security( + bearer_auth=os.getenv("CRIBLCONTROLPLANE_BEARER_AUTH", ""), + ), +) as ccp_client: + + res = ccp_client.packs.destinations.update(id="", pack="", output={ + "id": "ibm-cloud-s3-output", + "type": models.OutputIbmCloudS3Type.IBM_CLOUD_S3, + "endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud", + "bucket": "my-bucket", + "stage_path": "/tmp/staging", + }) + + # Handle response + print(res) + ``` ### Example Usage: UpdateOutputExamplesscalityS3 diff --git a/docs/sdks/packsroutes/README.md b/docs/sdks/packsroutes/README.md index aedbb5070..55eb17157 100644 --- a/docs/sdks/packsroutes/README.md +++ b/docs/sdks/packsroutes/README.md @@ -6,7 +6,7 @@ * [list](#list) - List all Routes within a Pack * [get](#get) - Get a Routing table within a Pack -* [update](#update) - Update a Route within a Pack +* [update](#update) - Update a Routing table within a Pack * [append](#append) - Add a Route to the end of the Routing table within a Pack ## list @@ -144,7 +144,7 @@ with CriblControlPlane( ## update -Update the specified Route within the specified Pack.

Provide a complete representation of the Routing table, including the Route that you want to update, in the request body.

This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. +Update the specified Routing table within the specified Pack.

Provide a complete representation of the Routing table that you want to update in the request body.

This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. ### Example Usage: RoutesResponseExamplesDefaultRoutingTable @@ -339,15 +339,15 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `id_param` | *str* | :heavy_check_mark: | The id of the Routing table that contains the Route to update. The supported value is default. | -| `pack` | *str* | :heavy_check_mark: | The id of the Pack. | -| `id` | *str* | :heavy_check_mark: | Unique identifier for the Routing table. The supported value is default. | -| `routes` | List[[models.RouteConfInput](../../models/routeconfinput.md)] | :heavy_check_mark: | Array of Route configurations that define how events are processed and routed. | -| `comments` | List[[models.RouteComment](../../models/routecomment.md)] | :heavy_minus_sign: | Array of user-provided comments that describe or annotate Routes. | -| `groups` | Dict[str, [models.AdditionalPropertiesTypeRoutesGroups](../../models/additionalpropertiestyperoutesgroups.md)] | :heavy_minus_sign: | Information about the Route Groups that the Route is associated with. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `id_param` | *str* | :heavy_check_mark: | The id of the Routing table to update. The supported value is default. | +| `pack` | *str* | :heavy_check_mark: | The id of the Pack. | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Routing table. The supported value is default. | +| `routes` | List[[models.RouteConfInput](../../models/routeconfinput.md)] | :heavy_check_mark: | Array of Route configurations that define how events are processed and routed. | +| `comments` | List[[models.RouteComment](../../models/routecomment.md)] | :heavy_minus_sign: | Array of user-provided comments that describe or annotate Routes. | +| `groups` | Dict[str, [models.AdditionalPropertiesTypeRoutesGroups](../../models/additionalpropertiestyperoutesgroups.md)] | :heavy_minus_sign: | Information about the Route Groups that the Route is associated with. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/docs/sdks/routessdk/README.md b/docs/sdks/routessdk/README.md index 9c21db851..f40958c23 100644 --- a/docs/sdks/routessdk/README.md +++ b/docs/sdks/routessdk/README.md @@ -8,7 +8,7 @@ Actions related to Routes * [list](#list) - List all Routes * [get](#get) - Get a Routing table -* [update](#update) - Update a Route +* [update](#update) - Update a Routing table * [append](#append) - Add a Route to the end of the Routing table ## list @@ -144,7 +144,7 @@ with CriblControlPlane( ## update -Update a Route in the specified Routing table.

\1 This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. +Update the specified Routing table.

Provide a complete representation of the Routing table that you want to update in the request body.

This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. ### Example Usage: RoutesResponseExamplesDefaultRoutingTable @@ -339,14 +339,14 @@ with CriblControlPlane( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `id_param` | *str* | :heavy_check_mark: | The id of the Routing table that contains the Route to update. The supported value is default. | -| `id` | *str* | :heavy_check_mark: | Unique identifier for the Routing table. The supported value is default. | -| `routes` | List[[models.RouteConfInput](../../models/routeconfinput.md)] | :heavy_check_mark: | Array of Route configurations that define how events are processed and routed. | -| `comments` | List[[models.RouteComment](../../models/routecomment.md)] | :heavy_minus_sign: | Array of user-provided comments that describe or annotate Routes. | -| `groups` | Dict[str, [models.AdditionalPropertiesTypeRoutesGroups](../../models/additionalpropertiestyperoutesgroups.md)] | :heavy_minus_sign: | Information about the Route Groups that the Route is associated with. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `id_param` | *str* | :heavy_check_mark: | The id of the Routing table to update. The supported value is default. | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the Routing table. The supported value is default. | +| `routes` | List[[models.RouteConfInput](../../models/routeconfinput.md)] | :heavy_check_mark: | Array of Route configurations that define how events are processed and routed. | +| `comments` | List[[models.RouteComment](../../models/routecomment.md)] | :heavy_minus_sign: | Array of user-provided comments that describe or annotate Routes. | +| `groups` | Dict[str, [models.AdditionalPropertiesTypeRoutesGroups](../../models/additionalpropertiestyperoutesgroups.md)] | :heavy_minus_sign: | Information about the Route Groups that the Route is associated with. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/pyproject.toml b/pyproject.toml index 9eba30a18..5866cb370 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "cribl-control-plane" -version = "0.9.0b5" +version = "0.9.0b6" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/src/cribl_control_plane/_version.py b/src/cribl_control_plane/_version.py index a1517010d..e7e777602 100644 --- a/src/cribl_control_plane/_version.py +++ b/src/cribl_control_plane/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "cribl-control-plane" -__version__: str = "0.9.0b5" -__openapi_doc_version__: str = "4.19.0-alpha.1781564968784-83d7e3bb" -__gen_version__: str = "2.904.2" -__user_agent__: str = "speakeasy-sdk/python 0.9.0b5 2.904.2 4.19.0-alpha.1781564968784-83d7e3bb cribl-control-plane" +__version__: str = "0.9.0b6" +__openapi_doc_version__: str = "4.19.0-alpha.1781910200538-80d95f00" +__gen_version__: str = "2.911.0" +__user_agent__: str = "speakeasy-sdk/python 0.9.0b6 2.911.0 4.19.0-alpha.1781910200538-80d95f00 cribl-control-plane" try: if __package__ is not None: diff --git a/src/cribl_control_plane/collectors_sdk.py b/src/cribl_control_plane/collectors_sdk.py index 6012d236c..85156acb9 100644 --- a/src/cribl_control_plane/collectors_sdk.py +++ b/src/cribl_control_plane/collectors_sdk.py @@ -25,7 +25,7 @@ def list( Get a list of all Collectors. - :param collector_type: Filter by collector type + :param collector_type: Filter by collector type. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -120,7 +120,7 @@ async def list_async( Get a list of all Collectors. - :param collector_type: Filter by collector type + :param collector_type: Filter by collector type. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds diff --git a/src/cribl_control_plane/databaseconnections.py b/src/cribl_control_plane/databaseconnections.py index 7f9bd9ce7..8796022f2 100644 --- a/src/cribl_control_plane/databaseconnections.py +++ b/src/cribl_control_plane/databaseconnections.py @@ -1179,7 +1179,7 @@ def delete( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["409", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -1281,7 +1281,7 @@ async def delete_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["409", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): diff --git a/src/cribl_control_plane/destinations.py b/src/cribl_control_plane/destinations.py index 8b3ed6bd5..588fba607 100644 --- a/src/cribl_control_plane/destinations.py +++ b/src/cribl_control_plane/destinations.py @@ -313,7 +313,7 @@ def create( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["409", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -411,7 +411,7 @@ async def create_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["409", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -702,7 +702,7 @@ def update( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -803,7 +803,7 @@ async def update_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -898,7 +898,7 @@ def delete( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "409", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -993,7 +993,7 @@ async def delete_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "409", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): diff --git a/src/cribl_control_plane/errors/healthserverstatus_error.py b/src/cribl_control_plane/errors/healthserverstatus_error.py index d5a2fa487..fbd684313 100644 --- a/src/cribl_control_plane/errors/healthserverstatus_error.py +++ b/src/cribl_control_plane/errors/healthserverstatus_error.py @@ -2,7 +2,10 @@ from __future__ import annotations from cribl_control_plane.errors import CriblControlPlaneError -from cribl_control_plane.models import healthserverstatus as models_healthserverstatus +from cribl_control_plane.models import ( + healthoverlaystatus as models_healthoverlaystatus, + healthserverstatus as models_healthserverstatus, +) from cribl_control_plane.types import BaseModel from dataclasses import dataclass, field import httpx @@ -12,6 +15,7 @@ class HealthServerStatusErrorData(BaseModel): + overlay: models_healthoverlaystatus.HealthOverlayStatus start_time: Annotated[int, pydantic.Field(alias="startTime")] r"""Timestamp (in Unix time) when the Cribl process started.""" status: models_healthserverstatus.HealthServerStatusStatus diff --git a/src/cribl_control_plane/functions.py b/src/cribl_control_plane/functions.py index bc72f31a5..f0ef17fe6 100644 --- a/src/cribl_control_plane/functions.py +++ b/src/cribl_control_plane/functions.py @@ -15,6 +15,7 @@ class Functions(BaseSDK): def list( self, *, + show_hidden: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -24,6 +25,7 @@ def list( Get a list of all Functions. + :param show_hidden: If true, include hidden Functions in the response. Otherwise, hidden Functions are excluded. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -38,12 +40,17 @@ def list( base_url = server_url else: base_url = self._get_url(base_url, url_variables) + + request = models.GetFunctionsRequest( + show_hidden=show_hidden, + ) + req = self._build_request( method="GET", path="/functions", base_url=base_url, url_variables=url_variables, - request=None, + request=request, request_body_required=False, request_has_path_params=False, request_has_query_params=True, @@ -103,6 +110,7 @@ def list( async def list_async( self, *, + show_hidden: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -112,6 +120,7 @@ async def list_async( Get a list of all Functions. + :param show_hidden: If true, include hidden Functions in the response. Otherwise, hidden Functions are excluded. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -126,12 +135,17 @@ async def list_async( base_url = server_url else: base_url = self._get_url(base_url, url_variables) + + request = models.GetFunctionsRequest( + show_hidden=show_hidden, + ) + req = self._build_request_async( method="GET", path="/functions", base_url=base_url, url_variables=url_variables, - request=None, + request=request, request_body_required=False, request_has_path_params=False, request_has_query_params=True, diff --git a/src/cribl_control_plane/models/__init__.py b/src/cribl_control_plane/models/__init__.py index 6ae2b8f07..b24a057d4 100644 --- a/src/cribl_control_plane/models/__init__.py +++ b/src/cribl_control_plane/models/__init__.py @@ -7,6 +7,10 @@ if TYPE_CHECKING: from .acknowledgmentsoptions import AcknowledgmentsOptions from .acknowledgmentsoptionsallleader import AcknowledgmentsOptionsAllLeader + from .activehealthoverlaystatus import ( + ActiveHealthOverlayStatus, + ActiveHealthOverlayStatusTypedDict, + ) from .addconffunctionconfschemaaggregation import ( AddConfFunctionConfSchemaAggregation, AddConfFunctionConfSchemaAggregationTypedDict, @@ -1228,7 +1232,7 @@ CreateInputSystemHecTokenByPackAndIDRequest, CreateInputSystemHecTokenByPackAndIDRequestTypedDict, ) - from .createoutput_outputwebhook_webhook_1 import ( + from .createoutput_outputwebhook_authentication_type_1 import ( CreateOutputAPIVersion, CreateOutputAdditionalProperty, CreateOutputAdditionalPropertyTypedDict, @@ -1326,6 +1330,8 @@ CreateOutputOutputSplunkLbTypedDict, CreateOutputOutputSplunkTypedDict, CreateOutputOutputStatsd, + CreateOutputOutputStatsdExt, + CreateOutputOutputStatsdExtTypedDict, CreateOutputOutputStatsdTypedDict, CreateOutputOutputSyslog, CreateOutputOutputSyslogTypedDict, @@ -1337,18 +1343,12 @@ CreateOutputOutputWebhookAuthenticationType2, CreateOutputOutputWebhookFormat1, CreateOutputOutputWebhookFormat2, - CreateOutputOutputWebhookPqControls1, - CreateOutputOutputWebhookPqControls1TypedDict, CreateOutputOutputWebhookPqControls2, CreateOutputOutputWebhookPqControls2TypedDict, CreateOutputOutputWebhookType1, CreateOutputOutputWebhookType2, - CreateOutputOutputWebhookURL1, - CreateOutputOutputWebhookURL1TypedDict, CreateOutputOutputWebhookURL2, CreateOutputOutputWebhookURL2TypedDict, - CreateOutputOutputWebhookWebhook1, - CreateOutputOutputWebhookWebhook1TypedDict, CreateOutputOutputWebhookWebhook2, CreateOutputOutputWebhookWebhook2TypedDict, CreateOutputOutputWizHec, @@ -1400,6 +1400,8 @@ CreateOutputPqControlsSplunkLb, CreateOutputPqControlsSplunkLbTypedDict, CreateOutputPqControlsSplunkTypedDict, + CreateOutputPqControlsStatsd, + CreateOutputPqControlsStatsdTypedDict, CreateOutputPqControlsSyslog, CreateOutputPqControlsSyslogTypedDict, CreateOutputPqControlsTcpjson, @@ -1447,6 +1449,7 @@ CreateOutputTypeSplunk, CreateOutputTypeSplunkHec, CreateOutputTypeSplunkLb, + CreateOutputTypeStatsd, CreateOutputTypeSyslog, CreateOutputTypeTcpjson, CreateOutputTypeWavefront, @@ -1458,9 +1461,10 @@ CreateOutputURLSplunkHecTypedDict, CreateOutputWriteAction, ) - from .createoutput_pqcontrols_statsd import ( + from .createoutput_pqcontrols_statsdext import ( CreateOutputAISIEMEndpointPath, CreateOutputAuthentication, + CreateOutputAuthenticationMethodAlibabaCloudS3, CreateOutputAuthenticationMethodChronicle, CreateOutputAuthenticationMethodXsiam, CreateOutputAuthenticationTypeDynatraceHTTP, @@ -1542,6 +1546,8 @@ CreateOutputOutputGraphiteTypedDict, CreateOutputOutputHumioHec, CreateOutputOutputHumioHecTypedDict, + CreateOutputOutputIbmCloudS3, + CreateOutputOutputIbmCloudS3TypedDict, CreateOutputOutputLocalSearchStorage, CreateOutputOutputLocalSearchStorageTypedDict, CreateOutputOutputLoki, @@ -1574,8 +1580,6 @@ CreateOutputOutputSnsTypedDict, CreateOutputOutputSqs, CreateOutputOutputSqsTypedDict, - CreateOutputOutputStatsdExt, - CreateOutputOutputStatsdExtTypedDict, CreateOutputOutputStorjS3, CreateOutputOutputStorjS3TypedDict, CreateOutputOutputSumoLogic, @@ -1626,10 +1630,8 @@ CreateOutputPqControlsSnsTypedDict, CreateOutputPqControlsSqs, CreateOutputPqControlsSqsTypedDict, - CreateOutputPqControlsStatsd, CreateOutputPqControlsStatsdExt, CreateOutputPqControlsStatsdExtTypedDict, - CreateOutputPqControlsStatsdTypedDict, CreateOutputPqControlsSumoLogic, CreateOutputPqControlsSumoLogicTypedDict, CreateOutputPqControlsXsiam, @@ -1667,6 +1669,7 @@ CreateOutputTypeDynatraceOtlp, CreateOutputTypeGraphite, CreateOutputTypeHumioHec, + CreateOutputTypeIbmCloudS3, CreateOutputTypeLocalSearchStorage, CreateOutputTypeLoki, CreateOutputTypeMicrosoftFabric, @@ -1683,7 +1686,6 @@ CreateOutputTypeSnmp, CreateOutputTypeSns, CreateOutputTypeSqs, - CreateOutputTypeStatsd, CreateOutputTypeStatsdExt, CreateOutputTypeStorjS3, CreateOutputTypeSumoLogic, @@ -1694,13 +1696,19 @@ from .createoutput_request import ( CreateOutputOutputDefault, CreateOutputOutputDefaultTypedDict, + CreateOutputOutputWebhookPqControls1, + CreateOutputOutputWebhookPqControls1TypedDict, + CreateOutputOutputWebhookURL1, + CreateOutputOutputWebhookURL1TypedDict, CreateOutputOutputWebhookUnion, CreateOutputOutputWebhookUnionTypedDict, + CreateOutputOutputWebhookWebhook1, + CreateOutputOutputWebhookWebhook1TypedDict, CreateOutputRequest, CreateOutputRequestTypedDict, CreateOutputTypeDefault, ) - from .createoutputsystembypack_outputwebhook_webhook_1 import ( + from .createoutputsystembypack_outputwebhook_authentication_type_1 import ( CreateOutputSystemByPackAPIVersion, CreateOutputSystemByPackAdditionalProperty, CreateOutputSystemByPackAdditionalPropertyTypedDict, @@ -1798,6 +1806,8 @@ CreateOutputSystemByPackOutputSplunkLbTypedDict, CreateOutputSystemByPackOutputSplunkTypedDict, CreateOutputSystemByPackOutputStatsd, + CreateOutputSystemByPackOutputStatsdExt, + CreateOutputSystemByPackOutputStatsdExtTypedDict, CreateOutputSystemByPackOutputStatsdTypedDict, CreateOutputSystemByPackOutputSyslog, CreateOutputSystemByPackOutputSyslogTypedDict, @@ -1809,18 +1819,12 @@ CreateOutputSystemByPackOutputWebhookAuthenticationType2, CreateOutputSystemByPackOutputWebhookFormat1, CreateOutputSystemByPackOutputWebhookFormat2, - CreateOutputSystemByPackOutputWebhookPqControls1, - CreateOutputSystemByPackOutputWebhookPqControls1TypedDict, CreateOutputSystemByPackOutputWebhookPqControls2, CreateOutputSystemByPackOutputWebhookPqControls2TypedDict, CreateOutputSystemByPackOutputWebhookType1, CreateOutputSystemByPackOutputWebhookType2, - CreateOutputSystemByPackOutputWebhookURL1, - CreateOutputSystemByPackOutputWebhookURL1TypedDict, CreateOutputSystemByPackOutputWebhookURL2, CreateOutputSystemByPackOutputWebhookURL2TypedDict, - CreateOutputSystemByPackOutputWebhookWebhook1, - CreateOutputSystemByPackOutputWebhookWebhook1TypedDict, CreateOutputSystemByPackOutputWebhookWebhook2, CreateOutputSystemByPackOutputWebhookWebhook2TypedDict, CreateOutputSystemByPackOutputWizHec, @@ -1872,6 +1876,8 @@ CreateOutputSystemByPackPqControlsSplunkLb, CreateOutputSystemByPackPqControlsSplunkLbTypedDict, CreateOutputSystemByPackPqControlsSplunkTypedDict, + CreateOutputSystemByPackPqControlsStatsd, + CreateOutputSystemByPackPqControlsStatsdTypedDict, CreateOutputSystemByPackPqControlsSyslog, CreateOutputSystemByPackPqControlsSyslogTypedDict, CreateOutputSystemByPackPqControlsTcpjson, @@ -1919,6 +1925,7 @@ CreateOutputSystemByPackTypeSplunk, CreateOutputSystemByPackTypeSplunkHec, CreateOutputSystemByPackTypeSplunkLb, + CreateOutputSystemByPackTypeStatsd, CreateOutputSystemByPackTypeSyslog, CreateOutputSystemByPackTypeTcpjson, CreateOutputSystemByPackTypeWavefront, @@ -1930,9 +1937,10 @@ CreateOutputSystemByPackURLSplunkHecTypedDict, CreateOutputSystemByPackWriteAction, ) - from .createoutputsystembypack_pqcontrols_statsd import ( + from .createoutputsystembypack_pqcontrols_statsdext import ( CreateOutputSystemByPackAISIEMEndpointPath, CreateOutputSystemByPackAuthentication, + CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3, CreateOutputSystemByPackAuthenticationMethodChronicle, CreateOutputSystemByPackAuthenticationMethodXsiam, CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP, @@ -2014,6 +2022,8 @@ CreateOutputSystemByPackOutputGraphiteTypedDict, CreateOutputSystemByPackOutputHumioHec, CreateOutputSystemByPackOutputHumioHecTypedDict, + CreateOutputSystemByPackOutputIbmCloudS3, + CreateOutputSystemByPackOutputIbmCloudS3TypedDict, CreateOutputSystemByPackOutputLocalSearchStorage, CreateOutputSystemByPackOutputLocalSearchStorageTypedDict, CreateOutputSystemByPackOutputLoki, @@ -2046,8 +2056,6 @@ CreateOutputSystemByPackOutputSnsTypedDict, CreateOutputSystemByPackOutputSqs, CreateOutputSystemByPackOutputSqsTypedDict, - CreateOutputSystemByPackOutputStatsdExt, - CreateOutputSystemByPackOutputStatsdExtTypedDict, CreateOutputSystemByPackOutputStorjS3, CreateOutputSystemByPackOutputStorjS3TypedDict, CreateOutputSystemByPackOutputSumoLogic, @@ -2098,10 +2106,8 @@ CreateOutputSystemByPackPqControlsSnsTypedDict, CreateOutputSystemByPackPqControlsSqs, CreateOutputSystemByPackPqControlsSqsTypedDict, - CreateOutputSystemByPackPqControlsStatsd, CreateOutputSystemByPackPqControlsStatsdExt, CreateOutputSystemByPackPqControlsStatsdExtTypedDict, - CreateOutputSystemByPackPqControlsStatsdTypedDict, CreateOutputSystemByPackPqControlsSumoLogic, CreateOutputSystemByPackPqControlsSumoLogicTypedDict, CreateOutputSystemByPackPqControlsXsiam, @@ -2139,6 +2145,7 @@ CreateOutputSystemByPackTypeDynatraceOtlp, CreateOutputSystemByPackTypeGraphite, CreateOutputSystemByPackTypeHumioHec, + CreateOutputSystemByPackTypeIbmCloudS3, CreateOutputSystemByPackTypeLocalSearchStorage, CreateOutputSystemByPackTypeLoki, CreateOutputSystemByPackTypeMicrosoftFabric, @@ -2155,7 +2162,6 @@ CreateOutputSystemByPackTypeSnmp, CreateOutputSystemByPackTypeSns, CreateOutputSystemByPackTypeSqs, - CreateOutputSystemByPackTypeStatsd, CreateOutputSystemByPackTypeStatsdExt, CreateOutputSystemByPackTypeStorjS3, CreateOutputSystemByPackTypeSumoLogic, @@ -2166,8 +2172,14 @@ from .createoutputsystembypack_request import ( CreateOutputSystemByPackOutputDefault, CreateOutputSystemByPackOutputDefaultTypedDict, + CreateOutputSystemByPackOutputWebhookPqControls1, + CreateOutputSystemByPackOutputWebhookPqControls1TypedDict, + CreateOutputSystemByPackOutputWebhookURL1, + CreateOutputSystemByPackOutputWebhookURL1TypedDict, CreateOutputSystemByPackOutputWebhookUnion, CreateOutputSystemByPackOutputWebhookUnionTypedDict, + CreateOutputSystemByPackOutputWebhookWebhook1, + CreateOutputSystemByPackOutputWebhookWebhook1TypedDict, CreateOutputSystemByPackRequest, CreateOutputSystemByPackRequestBody, CreateOutputSystemByPackRequestBodyTypedDict, @@ -2879,6 +2891,7 @@ GetFunctionsByIDRequest, GetFunctionsByIDRequestTypedDict, ) + from .getfunctionsop import GetFunctionsRequest, GetFunctionsRequestTypedDict from .getinputbyidop import GetInputByIDRequest, GetInputByIDRequestTypedDict from .getinputpqbyidop import GetInputPqByIDRequest, GetInputPqByIDRequestTypedDict from .getinputstatusbyidop import ( @@ -3483,6 +3496,11 @@ UnknownHealthCheckCollectorConf, ) from .healthcounttype import HealthCountType, HealthCountTypeTypedDict + from .healthoverlaystatus import ( + HealthOverlayStatus, + HealthOverlayStatusTypedDict, + UnknownHealthOverlayStatus, + ) from .healthserverstatus import ( HealthServerStatus, HealthServerStatusStatus, @@ -4548,6 +4566,10 @@ from .modeoptionshost import ModeOptionsHost from .modeoptionspq import ModeOptionsPq from .nestedfieldserializationoptions import NestedFieldSerializationOptions + from .noactivehealthoverlaystatus import ( + NoActiveHealthOverlayStatus, + NoActiveHealthOverlayStatusTypedDict, + ) from .nodeactiveupgradestatus import NodeActiveUpgradeStatus from .nodefailedupgradestatus import NodeFailedUpgradeStatus from .nodeprovidedinfo import ( @@ -4631,6 +4653,7 @@ from .output import Output, OutputTypedDict from .outputalibabaclouds3 import ( OutputAlibabaCloudS3, + OutputAlibabaCloudS3AuthenticationMethod, OutputAlibabaCloudS3Type, OutputAlibabaCloudS3TypedDict, ) @@ -4920,6 +4943,11 @@ OutputHumioHecType, OutputHumioHecTypedDict, ) + from .outputibmclouds3 import ( + OutputIbmCloudS3, + OutputIbmCloudS3Type, + OutputIbmCloudS3TypedDict, + ) from .outputinfluxdb import ( OutputInfluxdb, OutputInfluxdbAuthenticationType, @@ -5034,13 +5062,19 @@ OutputResponse, OutputResponseOutputDefault, OutputResponseOutputDefaultTypedDict, + OutputResponseOutputWebhookPqControls1, + OutputResponseOutputWebhookPqControls1TypedDict, + OutputResponseOutputWebhookURL1, + OutputResponseOutputWebhookURL1TypedDict, OutputResponseOutputWebhookUnion, OutputResponseOutputWebhookUnionTypedDict, + OutputResponseOutputWebhookWebhook1, + OutputResponseOutputWebhookWebhook1TypedDict, OutputResponseTypeDefault, OutputResponseTypedDict, UnknownOutputResponse, ) - from .outputresponse_outputwebhook_webhook_1 import ( + from .outputresponse_outputwebhook_authentication_type_1 import ( OutputResponseAPIVersion, OutputResponseAdditionalProperty, OutputResponseAdditionalPropertyTypedDict, @@ -5138,6 +5172,8 @@ OutputResponseOutputSplunkLbTypedDict, OutputResponseOutputSplunkTypedDict, OutputResponseOutputStatsd, + OutputResponseOutputStatsdExt, + OutputResponseOutputStatsdExtTypedDict, OutputResponseOutputStatsdTypedDict, OutputResponseOutputSyslog, OutputResponseOutputSyslogTypedDict, @@ -5149,18 +5185,12 @@ OutputResponseOutputWebhookAuthenticationType2, OutputResponseOutputWebhookFormat1, OutputResponseOutputWebhookFormat2, - OutputResponseOutputWebhookPqControls1, - OutputResponseOutputWebhookPqControls1TypedDict, OutputResponseOutputWebhookPqControls2, OutputResponseOutputWebhookPqControls2TypedDict, OutputResponseOutputWebhookType1, OutputResponseOutputWebhookType2, - OutputResponseOutputWebhookURL1, - OutputResponseOutputWebhookURL1TypedDict, OutputResponseOutputWebhookURL2, OutputResponseOutputWebhookURL2TypedDict, - OutputResponseOutputWebhookWebhook1, - OutputResponseOutputWebhookWebhook1TypedDict, OutputResponseOutputWebhookWebhook2, OutputResponseOutputWebhookWebhook2TypedDict, OutputResponseOutputWizHec, @@ -5212,6 +5242,8 @@ OutputResponsePqControlsSplunkLb, OutputResponsePqControlsSplunkLbTypedDict, OutputResponsePqControlsSplunkTypedDict, + OutputResponsePqControlsStatsd, + OutputResponsePqControlsStatsdTypedDict, OutputResponsePqControlsSyslog, OutputResponsePqControlsSyslogTypedDict, OutputResponsePqControlsTcpjson, @@ -5259,6 +5291,7 @@ OutputResponseTypeSplunk, OutputResponseTypeSplunkHec, OutputResponseTypeSplunkLb, + OutputResponseTypeStatsd, OutputResponseTypeSyslog, OutputResponseTypeTcpjson, OutputResponseTypeWavefront, @@ -5270,9 +5303,10 @@ OutputResponseURLSplunkHecTypedDict, OutputResponseWriteAction, ) - from .outputresponse_pqcontrols_statsd import ( + from .outputresponse_pqcontrols_statsdext import ( OutputResponseAISIEMEndpointPath, OutputResponseAuthentication, + OutputResponseAuthenticationMethodAlibabaCloudS3, OutputResponseAuthenticationMethodChronicle, OutputResponseAuthenticationMethodXsiam, OutputResponseAuthenticationTypeDynatraceHTTP, @@ -5354,6 +5388,8 @@ OutputResponseOutputGraphiteTypedDict, OutputResponseOutputHumioHec, OutputResponseOutputHumioHecTypedDict, + OutputResponseOutputIbmCloudS3, + OutputResponseOutputIbmCloudS3TypedDict, OutputResponseOutputLocalSearchStorage, OutputResponseOutputLocalSearchStorageTypedDict, OutputResponseOutputLoki, @@ -5386,8 +5422,6 @@ OutputResponseOutputSnsTypedDict, OutputResponseOutputSqs, OutputResponseOutputSqsTypedDict, - OutputResponseOutputStatsdExt, - OutputResponseOutputStatsdExtTypedDict, OutputResponseOutputStorjS3, OutputResponseOutputStorjS3TypedDict, OutputResponseOutputSumoLogic, @@ -5438,10 +5472,8 @@ OutputResponsePqControlsSnsTypedDict, OutputResponsePqControlsSqs, OutputResponsePqControlsSqsTypedDict, - OutputResponsePqControlsStatsd, OutputResponsePqControlsStatsdExt, OutputResponsePqControlsStatsdExtTypedDict, - OutputResponsePqControlsStatsdTypedDict, OutputResponsePqControlsSumoLogic, OutputResponsePqControlsSumoLogicTypedDict, OutputResponsePqControlsXsiam, @@ -5479,6 +5511,7 @@ OutputResponseTypeDynatraceOtlp, OutputResponseTypeGraphite, OutputResponseTypeHumioHec, + OutputResponseTypeIbmCloudS3, OutputResponseTypeLocalSearchStorage, OutputResponseTypeLoki, OutputResponseTypeMicrosoftFabric, @@ -5495,7 +5528,6 @@ OutputResponseTypeSnmp, OutputResponseTypeSns, OutputResponseTypeSqs, - OutputResponseTypeStatsd, OutputResponseTypeStatsdExt, OutputResponseTypeStorjS3, OutputResponseTypeSumoLogic, @@ -5717,6 +5749,10 @@ PackRequestBody2TypedDict, PackRequestBodyUnion, PackRequestBodyUnionTypedDict, + Tags1, + Tags1TypedDict, + Tags2, + Tags2TypedDict, ) from .packuninstallinfo import PackUninstallInfo, PackUninstallInfoTypedDict from .packupgraderequest import PackUpgradeRequest, PackUpgradeRequestTypedDict @@ -7750,6 +7786,8 @@ "APITypeSystemSettingsConfTypedDict", "AcknowledgmentsOptions", "AcknowledgmentsOptionsAllLeader", + "ActiveHealthOverlayStatus", + "ActiveHealthOverlayStatusTypedDict", "AddConfFunctionConfSchemaAggregation", "AddConfFunctionConfSchemaAggregationTypedDict", "AddHecTokenRequest", @@ -8878,6 +8916,7 @@ "CreateOutputAuthTokenTypedDict", "CreateOutputAuthType", "CreateOutputAuthentication", + "CreateOutputAuthenticationMethodAlibabaCloudS3", "CreateOutputAuthenticationMethodAzureDataExplorer", "CreateOutputAuthenticationMethodAzureLogs", "CreateOutputAuthenticationMethodChronicle", @@ -9025,6 +9064,8 @@ "CreateOutputOutputHoneycombTypedDict", "CreateOutputOutputHumioHec", "CreateOutputOutputHumioHecTypedDict", + "CreateOutputOutputIbmCloudS3", + "CreateOutputOutputIbmCloudS3TypedDict", "CreateOutputOutputInfluxdb", "CreateOutputOutputInfluxdbTypedDict", "CreateOutputOutputKafka", @@ -9255,6 +9296,7 @@ "CreateOutputSystemByPackAuthTokenTypedDict", "CreateOutputSystemByPackAuthType", "CreateOutputSystemByPackAuthentication", + "CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3", "CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer", "CreateOutputSystemByPackAuthenticationMethodAzureLogs", "CreateOutputSystemByPackAuthenticationMethodChronicle", @@ -9402,6 +9444,8 @@ "CreateOutputSystemByPackOutputHoneycombTypedDict", "CreateOutputSystemByPackOutputHumioHec", "CreateOutputSystemByPackOutputHumioHecTypedDict", + "CreateOutputSystemByPackOutputIbmCloudS3", + "CreateOutputSystemByPackOutputIbmCloudS3TypedDict", "CreateOutputSystemByPackOutputInfluxdb", "CreateOutputSystemByPackOutputInfluxdbTypedDict", "CreateOutputSystemByPackOutputKafka", @@ -9669,6 +9713,7 @@ "CreateOutputSystemByPackTypeGraphite", "CreateOutputSystemByPackTypeHoneycomb", "CreateOutputSystemByPackTypeHumioHec", + "CreateOutputSystemByPackTypeIbmCloudS3", "CreateOutputSystemByPackTypeInfluxdb", "CreateOutputSystemByPackTypeKafka", "CreateOutputSystemByPackTypeKinesis", @@ -9762,6 +9807,7 @@ "CreateOutputTypeGraphite", "CreateOutputTypeHoneycomb", "CreateOutputTypeHumioHec", + "CreateOutputTypeIbmCloudS3", "CreateOutputTypeInfluxdb", "CreateOutputTypeKafka", "CreateOutputTypeKinesis", @@ -10282,6 +10328,8 @@ "GetDatabaseConnectionConfigResponseTypedDict", "GetFunctionsByIDRequest", "GetFunctionsByIDRequestTypedDict", + "GetFunctionsRequest", + "GetFunctionsRequestTypedDict", "GetInputByIDRequest", "GetInputByIDRequestTypedDict", "GetInputPqByIDRequest", @@ -10802,6 +10850,8 @@ "HealthCheckCollectorConfTypedDict", "HealthCountType", "HealthCountTypeTypedDict", + "HealthOverlayStatus", + "HealthOverlayStatusTypedDict", "HealthServerStatus", "HealthServerStatusStatus", "HealthServerStatusTypedDict", @@ -11719,6 +11769,8 @@ "ModeOptionsHost", "ModeOptionsPq", "NestedFieldSerializationOptions", + "NoActiveHealthOverlayStatus", + "NoActiveHealthOverlayStatusTypedDict", "NodeActiveUpgradeStatus", "NodeFailedUpgradeStatus", "NodeProvidedInfo", @@ -11780,6 +11832,7 @@ "OutpostNodeInfoTypedDict", "Output", "OutputAlibabaCloudS3", + "OutputAlibabaCloudS3AuthenticationMethod", "OutputAlibabaCloudS3Type", "OutputAlibabaCloudS3TypedDict", "OutputAlphasocS3", @@ -12010,6 +12063,9 @@ "OutputHumioHecPqControlsTypedDict", "OutputHumioHecType", "OutputHumioHecTypedDict", + "OutputIbmCloudS3", + "OutputIbmCloudS3Type", + "OutputIbmCloudS3TypedDict", "OutputInfluxdb", "OutputInfluxdbAuthenticationType", "OutputInfluxdbPqControls", @@ -12103,6 +12159,7 @@ "OutputResponseAuthTokenTypedDict", "OutputResponseAuthType", "OutputResponseAuthentication", + "OutputResponseAuthenticationMethodAlibabaCloudS3", "OutputResponseAuthenticationMethodAzureDataExplorer", "OutputResponseAuthenticationMethodAzureLogs", "OutputResponseAuthenticationMethodChronicle", @@ -12250,6 +12307,8 @@ "OutputResponseOutputHoneycombTypedDict", "OutputResponseOutputHumioHec", "OutputResponseOutputHumioHecTypedDict", + "OutputResponseOutputIbmCloudS3", + "OutputResponseOutputIbmCloudS3TypedDict", "OutputResponseOutputInfluxdb", "OutputResponseOutputInfluxdbTypedDict", "OutputResponseOutputKafka", @@ -12513,6 +12572,7 @@ "OutputResponseTypeGraphite", "OutputResponseTypeHoneycomb", "OutputResponseTypeHumioHec", + "OutputResponseTypeIbmCloudS3", "OutputResponseTypeInfluxdb", "OutputResponseTypeKafka", "OutputResponseTypeKinesis", @@ -14298,6 +14358,10 @@ "TLSSettingsUnion", "TLSSettingsUnionTypedDict", "TagAfterProcessingOptions", + "Tags1", + "Tags1TypedDict", + "Tags2", + "Tags2TypedDict", "TagsTypePackInstallInfo", "TagsTypePackInstallInfoTypedDict", "TargetConfig1", @@ -14376,6 +14440,7 @@ "UnknownHealthCheckCollectMethodPostWithBodyHealthCheckDiscoveryDiscoverTypeHTTP", "UnknownHealthCheckCollectMethodPostWithBodyRetryRules", "UnknownHealthCheckCollectorConf", + "UnknownHealthOverlayStatus", "UnknownInputResponse", "UnknownOutputResponse", "UnknownPaginationTypeRestDiscoveryDiscoverTypeHTTP", @@ -14514,6 +14579,8 @@ _dynamic_imports: dict[str, str] = { "AcknowledgmentsOptions": ".acknowledgmentsoptions", "AcknowledgmentsOptionsAllLeader": ".acknowledgmentsoptionsallleader", + "ActiveHealthOverlayStatus": ".activehealthoverlaystatus", + "ActiveHealthOverlayStatusTypedDict": ".activehealthoverlaystatus", "AddConfFunctionConfSchemaAggregation": ".addconffunctionconfschemaaggregation", "AddConfFunctionConfSchemaAggregationTypedDict": ".addconffunctionconfschemaaggregation", "AddHecTokenRequest": ".addhectokenrequest", @@ -15613,935 +15680,943 @@ "CreateInputSystemByPackTypeTcpjson": ".createinputsystembypack_request", "CreateInputSystemHecTokenByPackAndIDRequest": ".createinputsystemhectokenbypackandidop", "CreateInputSystemHecTokenByPackAndIDRequestTypedDict": ".createinputsystemhectokenbypackandidop", - "CreateOutputAPIVersion": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAdditionalProperty": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAdditionalPropertyTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAuthToken": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAuthTokenTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAuthType": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAuthenticationMethodAzureDataExplorer": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAuthenticationMethodAzureLogs": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAuthenticationMethodGoogleChronicle": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAuthenticationMethodGoogleCloudStorage": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAuthenticationTypeInfluxdb": ".createoutput_outputwebhook_webhook_1", - "CreateOutputBlobAccessTier": ".createoutput_outputwebhook_webhook_1", - "CreateOutputCertificate": ".createoutput_outputwebhook_webhook_1", - "CreateOutputCertificateTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputCompression": ".createoutput_outputwebhook_webhook_1", - "CreateOutputElasticVersion": ".createoutput_outputwebhook_webhook_1", - "CreateOutputEndpointConfiguration": ".createoutput_outputwebhook_webhook_1", - "CreateOutputEndpointGoogleCloudObservability": ".createoutput_outputwebhook_webhook_1", - "CreateOutputExtentTag": ".createoutput_outputwebhook_webhook_1", - "CreateOutputExtentTagTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputExtraLogType": ".createoutput_outputwebhook_webhook_1", - "CreateOutputExtraLogTypeTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputFacility": ".createoutput_outputwebhook_webhook_1", - "CreateOutputFieldName": ".createoutput_outputwebhook_webhook_1", - "CreateOutputFormatSentinel": ".createoutput_outputwebhook_webhook_1", - "CreateOutputGoogleAuthenticationMethod": ".createoutput_outputwebhook_webhook_1", - "CreateOutputIndexerDiscoveryConfigs": ".createoutput_outputwebhook_webhook_1", - "CreateOutputIndexerDiscoveryConfigsTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputIngestIfNotExist": ".createoutput_outputwebhook_webhook_1", - "CreateOutputIngestIfNotExistTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputIngestionMode": ".createoutput_outputwebhook_webhook_1", - "CreateOutputLogLocationType": ".createoutput_outputwebhook_webhook_1", - "CreateOutputMessageFormat": ".createoutput_outputwebhook_webhook_1", - "CreateOutputMetadatum": ".createoutput_outputwebhook_webhook_1", - "CreateOutputMetadatumTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOtlpVersionGoogleCloudObservability": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputAzureBlob": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputAzureBlobTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputAzureDataExplorer": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputAzureDataExplorerTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputAzureEventhub": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputAzureEventhubTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputAzureLogs": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputAzureLogsTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputCloudwatch": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputCloudwatchTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputConfluentCloud": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputConfluentCloudTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputDevnull": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputDevnullTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputElastic": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputElasticCloud": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputElasticCloudTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputElasticTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputExabeam": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputExabeamTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputFilesystem": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputFilesystemTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputGoogleChronicle": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputGoogleChronicleTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputGoogleCloudLogging": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputGoogleCloudLoggingTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputGoogleCloudObservability": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputGoogleCloudObservabilityTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputGoogleCloudStorage": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputGoogleCloudStorageTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputGooglePubsub": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputGooglePubsubTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputHoneycomb": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputHoneycombTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputInfluxdb": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputInfluxdbTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputKafka": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputKafkaTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputKinesis": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputKinesisTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputMinio": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputMinioTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputMsk": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputMskTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputNewrelic": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputNewrelicEvents": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputNewrelicEventsTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputNewrelicTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputS3": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputS3TypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSentinel": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSentinelTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSignalfx": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSignalfxTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSplunk": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSplunkHec": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSplunkHecTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSplunkLb": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSplunkLbTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSplunkTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputStatsd": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputStatsdTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSyslog": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputSyslogTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputTcpjson": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputTcpjsonTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWavefront": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWavefrontTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookAuthenticationType1": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookAuthenticationType2": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookFormat1": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookFormat2": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookPqControls1": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookPqControls1TypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookPqControls2": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookPqControls2TypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookType1": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookType2": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookURL1": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookURL1TypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookURL2": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookURL2TypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookWebhook1": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookWebhook1TypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookWebhook2": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWebhookWebhook2TypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWizHec": ".createoutput_outputwebhook_webhook_1", - "CreateOutputOutputWizHecTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPayloadFormat": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsAzureDataExplorer": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsAzureDataExplorerTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsAzureEventhub": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsAzureEventhubTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsAzureLogs": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsAzureLogsTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsCloudwatch": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsCloudwatchTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsConfluentCloud": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsConfluentCloudTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsElastic": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsElasticCloud": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsElasticCloudTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsElasticTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsGoogleChronicle": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsGoogleChronicleTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsGoogleCloudLogging": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsGoogleCloudLoggingTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsGoogleCloudObservability": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsGoogleCloudObservabilityTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsGooglePubsub": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsGooglePubsubTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsHoneycomb": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsHoneycombTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsInfluxdb": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsInfluxdbTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsKafka": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsKafkaTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsKinesis": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsKinesisTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsMsk": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsMskTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsNewrelic": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsNewrelicEvents": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsNewrelicEventsTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsNewrelicTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSentinel": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSentinelTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSignalfx": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSignalfxTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSplunk": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSplunkHec": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSplunkHecTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSplunkLb": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSplunkLbTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSplunkTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSyslog": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsSyslogTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsTcpjson": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsTcpjsonTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsWavefront": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsWavefrontTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsWizHec": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPqControlsWizHecTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputPrefixOptional": ".createoutput_outputwebhook_webhook_1", - "CreateOutputProtocolGoogleCloudObservability": ".createoutput_outputwebhook_webhook_1", - "CreateOutputProtocolSyslog": ".createoutput_outputwebhook_webhook_1", - "CreateOutputReportLevel": ".createoutput_outputwebhook_webhook_1", - "CreateOutputReportMethod": ".createoutput_outputwebhook_webhook_1", - "CreateOutputSendEventsAs": ".createoutput_outputwebhook_webhook_1", - "CreateOutputSeveritySyslog": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTimestampFormat": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTimestampPrecision": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeAzureBlob": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeAzureDataExplorer": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeAzureEventhub": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeAzureLogs": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeCloudwatch": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeConfluentCloud": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeDevnull": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeElastic": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeElasticCloud": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeExabeam": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeFilesystem": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeGoogleChronicle": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeGoogleCloudLogging": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeGoogleCloudObservability": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeGoogleCloudStorage": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeGooglePubsub": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeHoneycomb": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeInfluxdb": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeKafka": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeKinesis": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeMinio": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeMsk": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeNewrelic": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeNewrelicEvents": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeS3": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeSentinel": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeSignalfx": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeSplunk": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeSplunkHec": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeSplunkLb": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeSyslog": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeTcpjson": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeWavefront": ".createoutput_outputwebhook_webhook_1", - "CreateOutputTypeWizHec": ".createoutput_outputwebhook_webhook_1", - "CreateOutputUDMType": ".createoutput_outputwebhook_webhook_1", - "CreateOutputURLElastic": ".createoutput_outputwebhook_webhook_1", - "CreateOutputURLElasticTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputURLSplunkHec": ".createoutput_outputwebhook_webhook_1", - "CreateOutputURLSplunkHecTypedDict": ".createoutput_outputwebhook_webhook_1", - "CreateOutputWriteAction": ".createoutput_outputwebhook_webhook_1", - "CreateOutputAISIEMEndpointPath": ".createoutput_pqcontrols_statsd", - "CreateOutputAuthentication": ".createoutput_pqcontrols_statsd", - "CreateOutputAuthenticationMethodChronicle": ".createoutput_pqcontrols_statsd", - "CreateOutputAuthenticationMethodXsiam": ".createoutput_pqcontrols_statsd", - "CreateOutputAuthenticationTypeDynatraceHTTP": ".createoutput_pqcontrols_statsd", - "CreateOutputAuthenticationTypeOpenTelemetry": ".createoutput_pqcontrols_statsd", - "CreateOutputAuthenticationTypePrometheus": ".createoutput_pqcontrols_statsd", - "CreateOutputAuthenticationTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputColumnMapping": ".createoutput_pqcontrols_statsd", - "CreateOutputColumnMappingTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputCustomLabel": ".createoutput_pqcontrols_statsd", - "CreateOutputCustomLabelTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputDataFormatRing": ".createoutput_pqcontrols_statsd", - "CreateOutputDataFormatSumoLogic": ".createoutput_pqcontrols_statsd", - "CreateOutputDataSetSite": ".createoutput_pqcontrols_statsd", - "CreateOutputDatadogSite": ".createoutput_pqcontrols_statsd", - "CreateOutputEndpointDynatraceHTTP": ".createoutput_pqcontrols_statsd", - "CreateOutputEndpointType": ".createoutput_pqcontrols_statsd", - "CreateOutputFormatCriblLake": ".createoutput_pqcontrols_statsd", - "CreateOutputFormatDynatraceHTTP": ".createoutput_pqcontrols_statsd", - "CreateOutputFormatLocalSearchStorage": ".createoutput_pqcontrols_statsd", - "CreateOutputHostNetflow": ".createoutput_pqcontrols_statsd", - "CreateOutputHostNetflowTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputHostSnmp": ".createoutput_pqcontrols_statsd", - "CreateOutputHostSnmpTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputMappingType": ".createoutput_pqcontrols_statsd", - "CreateOutputOTLPVersionOpenTelemetry": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputAlibabaCloudS3": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputAlibabaCloudS3TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputAlphasocS3": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputAlphasocS3TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputChronicle": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputChronicleTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputClickHouse": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputClickHouseTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCloudflareR2": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCloudflareR2TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCloudianS3": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCloudianS3TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCriblHTTP": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCriblHTTPTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCriblLake": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCriblLakeTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCriblSearchEngine": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCriblSearchEngineTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCriblTCP": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCriblTCPTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCrowdstrikeNextGenSiem": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCrowdstrikeNextGenSiemTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCustomerMetricsStorage": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputCustomerMetricsStorageTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDatabricks": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDatabricksTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDatadog": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDatadogTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDataset": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDatasetTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDellS3": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDellS3TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDiskSpool": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDiskSpoolTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDlS3": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDlS3TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDynatraceHTTP": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDynatraceHTTPTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDynatraceOtlp": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputDynatraceOtlpTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudGrafanaCloud1": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudGrafanaCloud2": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudPqControls1": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudPqControls1TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudPqControls2": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudPqControls2TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudType1": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudType2": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudUnion": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGrafanaCloudUnionTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGraphite": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputGraphiteTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputHumioHec": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputHumioHecTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputLocalSearchStorage": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputLocalSearchStorageTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputLoki": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputLokiTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputMicrosoftFabric": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputMicrosoftFabricTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputNetflow": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputNetflowTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputNutanixObjects": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputNutanixObjectsTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputOpenTelemetry": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputOpenTelemetryTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputPrometheus": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputPrometheusTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputRing": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputRingTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputRouter": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputRouterTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputScalityS3": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputScalityS3TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSecurityLake": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSecurityLakeTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSentinelOneAiSiem": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSentinelOneAiSiemTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputServiceNow": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputServiceNowTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSnmp": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSnmpTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSns": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSnsTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSqs": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSqsTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputStatsdExt": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputStatsdExtTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputStorjS3": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputStorjS3TypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSumoLogic": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputSumoLogicTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputXsiam": ".createoutput_pqcontrols_statsd", - "CreateOutputOutputXsiamTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsChronicle": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsChronicleTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsClickHouse": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsClickHouseTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsCriblHTTP": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsCriblHTTPTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsCriblSearchEngine": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsCriblSearchEngineTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsCriblTCP": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsCriblTCPTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsCrowdstrikeNextGenSiem": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsCustomerMetricsStorage": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsCustomerMetricsStorageTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsDatadog": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsDatadogTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsDataset": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsDatasetTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsDynatraceHTTP": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsDynatraceHTTPTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsDynatraceOtlp": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsDynatraceOtlpTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsGraphite": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsGraphiteTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsHumioHec": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsHumioHecTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsLocalSearchStorage": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsLocalSearchStorageTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsLoki": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsLokiTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsMicrosoftFabric": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsMicrosoftFabricTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsOpenTelemetry": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsOpenTelemetryTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsPrometheus": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsPrometheusTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsSentinelOneAiSiem": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsSentinelOneAiSiemTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsServiceNow": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsServiceNowTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsSns": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsSnsTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsSqs": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsSqsTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsStatsd": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsStatsdExt": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsStatsdExtTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsStatsdTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsSumoLogic": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsSumoLogicTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsXsiam": ".createoutput_pqcontrols_statsd", - "CreateOutputPqControlsXsiamTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputProtocolDynatraceOtlp": ".createoutput_pqcontrols_statsd", - "CreateOutputQueueType": ".createoutput_pqcontrols_statsd", - "CreateOutputRegion": ".createoutput_pqcontrols_statsd", - "CreateOutputRule": ".createoutput_pqcontrols_statsd", - "CreateOutputRuleTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputSendLogsAs": ".createoutput_pqcontrols_statsd", - "CreateOutputSeverityDatadog": ".createoutput_pqcontrols_statsd", - "CreateOutputSeverityDataset": ".createoutput_pqcontrols_statsd", - "CreateOutputStatsDestination": ".createoutput_pqcontrols_statsd", - "CreateOutputStatsDestinationTypedDict": ".createoutput_pqcontrols_statsd", - "CreateOutputTelemetryType": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeAlibabaCloudS3": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeAlphasocS3": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeChronicle": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeClickHouse": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeCloudflareR2": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeCloudianS3": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeCriblHTTP": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeCriblLake": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeCriblSearchEngine": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeCriblTCP": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeCrowdstrikeNextGenSiem": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeCustomerMetricsStorage": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeDatabricks": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeDatadog": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeDataset": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeDellS3": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeDiskSpool": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeDlS3": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeDynatraceHTTP": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeDynatraceOtlp": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeGraphite": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeHumioHec": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeLocalSearchStorage": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeLoki": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeMicrosoftFabric": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeNetflow": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeNutanixObjects": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeOpenTelemetry": ".createoutput_pqcontrols_statsd", - "CreateOutputTypePrometheus": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeRing": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeRouter": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeScalityS3": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeSecurityLake": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeSentinelOneAiSiem": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeServiceNow": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeSnmp": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeSns": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeSqs": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeStatsd": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeStatsdExt": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeStorjS3": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeSumoLogic": ".createoutput_pqcontrols_statsd", - "CreateOutputTypeXsiam": ".createoutput_pqcontrols_statsd", - "CreateOutputURLXsiam": ".createoutput_pqcontrols_statsd", - "CreateOutputURLXsiamTypedDict": ".createoutput_pqcontrols_statsd", + "CreateOutputAPIVersion": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAdditionalProperty": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAdditionalPropertyTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAuthToken": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAuthTokenTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAuthType": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAuthenticationMethodAzureDataExplorer": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAuthenticationMethodAzureLogs": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAuthenticationMethodGoogleChronicle": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAuthenticationMethodGoogleCloudStorage": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAuthenticationTypeInfluxdb": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputBlobAccessTier": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputCertificate": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputCertificateTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputCompression": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputElasticVersion": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputEndpointConfiguration": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputEndpointGoogleCloudObservability": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputExtentTag": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputExtentTagTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputExtraLogType": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputExtraLogTypeTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputFacility": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputFieldName": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputFormatSentinel": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputGoogleAuthenticationMethod": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputIndexerDiscoveryConfigs": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputIndexerDiscoveryConfigsTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputIngestIfNotExist": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputIngestIfNotExistTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputIngestionMode": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputLogLocationType": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputMessageFormat": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputMetadatum": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputMetadatumTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOtlpVersionGoogleCloudObservability": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputAzureBlob": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputAzureBlobTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputAzureDataExplorer": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputAzureDataExplorerTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputAzureEventhub": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputAzureEventhubTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputAzureLogs": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputAzureLogsTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputCloudwatch": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputCloudwatchTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputConfluentCloud": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputConfluentCloudTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputDevnull": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputDevnullTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputElastic": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputElasticCloud": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputElasticCloudTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputElasticTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputExabeam": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputExabeamTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputFilesystem": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputFilesystemTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputGoogleChronicle": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputGoogleChronicleTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputGoogleCloudLogging": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputGoogleCloudLoggingTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputGoogleCloudObservability": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputGoogleCloudObservabilityTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputGoogleCloudStorage": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputGoogleCloudStorageTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputGooglePubsub": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputGooglePubsubTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputHoneycomb": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputHoneycombTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputInfluxdb": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputInfluxdbTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputKafka": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputKafkaTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputKinesis": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputKinesisTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputMinio": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputMinioTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputMsk": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputMskTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputNewrelic": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputNewrelicEvents": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputNewrelicEventsTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputNewrelicTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputS3": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputS3TypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSentinel": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSentinelTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSignalfx": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSignalfxTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSplunk": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSplunkHec": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSplunkHecTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSplunkLb": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSplunkLbTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSplunkTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputStatsd": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputStatsdExt": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputStatsdExtTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputStatsdTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSyslog": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputSyslogTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputTcpjson": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputTcpjsonTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWavefront": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWavefrontTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookAuthenticationType1": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookAuthenticationType2": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookFormat1": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookFormat2": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookPqControls2": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookPqControls2TypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookType1": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookType2": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookURL2": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookURL2TypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookWebhook2": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWebhookWebhook2TypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWizHec": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputOutputWizHecTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPayloadFormat": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsAzureDataExplorer": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsAzureDataExplorerTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsAzureEventhub": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsAzureEventhubTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsAzureLogs": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsAzureLogsTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsCloudwatch": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsCloudwatchTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsConfluentCloud": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsConfluentCloudTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsElastic": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsElasticCloud": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsElasticCloudTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsElasticTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsGoogleChronicle": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsGoogleChronicleTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsGoogleCloudLogging": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsGoogleCloudLoggingTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsGoogleCloudObservability": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsGoogleCloudObservabilityTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsGooglePubsub": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsGooglePubsubTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsHoneycomb": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsHoneycombTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsInfluxdb": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsInfluxdbTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsKafka": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsKafkaTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsKinesis": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsKinesisTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsMsk": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsMskTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsNewrelic": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsNewrelicEvents": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsNewrelicEventsTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsNewrelicTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSentinel": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSentinelTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSignalfx": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSignalfxTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSplunk": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSplunkHec": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSplunkHecTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSplunkLb": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSplunkLbTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSplunkTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsStatsd": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsStatsdTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSyslog": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsSyslogTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsTcpjson": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsTcpjsonTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsWavefront": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsWavefrontTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsWizHec": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPqControlsWizHecTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputPrefixOptional": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputProtocolGoogleCloudObservability": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputProtocolSyslog": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputReportLevel": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputReportMethod": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputSendEventsAs": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputSeveritySyslog": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTimestampFormat": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTimestampPrecision": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeAzureBlob": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeAzureDataExplorer": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeAzureEventhub": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeAzureLogs": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeCloudwatch": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeConfluentCloud": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeDevnull": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeElastic": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeElasticCloud": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeExabeam": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeFilesystem": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeGoogleChronicle": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeGoogleCloudLogging": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeGoogleCloudObservability": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeGoogleCloudStorage": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeGooglePubsub": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeHoneycomb": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeInfluxdb": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeKafka": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeKinesis": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeMinio": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeMsk": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeNewrelic": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeNewrelicEvents": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeS3": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeSentinel": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeSignalfx": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeSplunk": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeSplunkHec": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeSplunkLb": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeStatsd": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeSyslog": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeTcpjson": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeWavefront": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputTypeWizHec": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputUDMType": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputURLElastic": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputURLElasticTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputURLSplunkHec": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputURLSplunkHecTypedDict": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputWriteAction": ".createoutput_outputwebhook_authentication_type_1", + "CreateOutputAISIEMEndpointPath": ".createoutput_pqcontrols_statsdext", + "CreateOutputAuthentication": ".createoutput_pqcontrols_statsdext", + "CreateOutputAuthenticationMethodAlibabaCloudS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputAuthenticationMethodChronicle": ".createoutput_pqcontrols_statsdext", + "CreateOutputAuthenticationMethodXsiam": ".createoutput_pqcontrols_statsdext", + "CreateOutputAuthenticationTypeDynatraceHTTP": ".createoutput_pqcontrols_statsdext", + "CreateOutputAuthenticationTypeOpenTelemetry": ".createoutput_pqcontrols_statsdext", + "CreateOutputAuthenticationTypePrometheus": ".createoutput_pqcontrols_statsdext", + "CreateOutputAuthenticationTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputColumnMapping": ".createoutput_pqcontrols_statsdext", + "CreateOutputColumnMappingTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputCustomLabel": ".createoutput_pqcontrols_statsdext", + "CreateOutputCustomLabelTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputDataFormatRing": ".createoutput_pqcontrols_statsdext", + "CreateOutputDataFormatSumoLogic": ".createoutput_pqcontrols_statsdext", + "CreateOutputDataSetSite": ".createoutput_pqcontrols_statsdext", + "CreateOutputDatadogSite": ".createoutput_pqcontrols_statsdext", + "CreateOutputEndpointDynatraceHTTP": ".createoutput_pqcontrols_statsdext", + "CreateOutputEndpointType": ".createoutput_pqcontrols_statsdext", + "CreateOutputFormatCriblLake": ".createoutput_pqcontrols_statsdext", + "CreateOutputFormatDynatraceHTTP": ".createoutput_pqcontrols_statsdext", + "CreateOutputFormatLocalSearchStorage": ".createoutput_pqcontrols_statsdext", + "CreateOutputHostNetflow": ".createoutput_pqcontrols_statsdext", + "CreateOutputHostNetflowTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputHostSnmp": ".createoutput_pqcontrols_statsdext", + "CreateOutputHostSnmpTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputMappingType": ".createoutput_pqcontrols_statsdext", + "CreateOutputOTLPVersionOpenTelemetry": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputAlibabaCloudS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputAlibabaCloudS3TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputAlphasocS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputAlphasocS3TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputChronicle": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputChronicleTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputClickHouse": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputClickHouseTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCloudflareR2": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCloudflareR2TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCloudianS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCloudianS3TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCriblHTTP": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCriblHTTPTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCriblLake": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCriblLakeTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCriblSearchEngine": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCriblSearchEngineTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCriblTCP": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCriblTCPTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCrowdstrikeNextGenSiem": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCrowdstrikeNextGenSiemTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCustomerMetricsStorage": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputCustomerMetricsStorageTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDatabricks": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDatabricksTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDatadog": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDatadogTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDataset": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDatasetTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDellS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDellS3TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDiskSpool": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDiskSpoolTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDlS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDlS3TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDynatraceHTTP": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDynatraceHTTPTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDynatraceOtlp": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputDynatraceOtlpTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudGrafanaCloud1": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudGrafanaCloud2": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudPqControls1": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudPqControls1TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudPqControls2": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudPqControls2TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudType1": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudType2": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudUnion": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGrafanaCloudUnionTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGraphite": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputGraphiteTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputHumioHec": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputHumioHecTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputIbmCloudS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputIbmCloudS3TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputLocalSearchStorage": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputLocalSearchStorageTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputLoki": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputLokiTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputMicrosoftFabric": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputMicrosoftFabricTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputNetflow": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputNetflowTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputNutanixObjects": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputNutanixObjectsTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputOpenTelemetry": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputOpenTelemetryTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputPrometheus": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputPrometheusTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputRing": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputRingTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputRouter": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputRouterTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputScalityS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputScalityS3TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSecurityLake": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSecurityLakeTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSentinelOneAiSiem": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSentinelOneAiSiemTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputServiceNow": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputServiceNowTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSnmp": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSnmpTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSns": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSnsTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSqs": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSqsTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputStorjS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputStorjS3TypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSumoLogic": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputSumoLogicTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputXsiam": ".createoutput_pqcontrols_statsdext", + "CreateOutputOutputXsiamTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsChronicle": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsChronicleTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsClickHouse": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsClickHouseTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsCriblHTTP": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsCriblHTTPTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsCriblSearchEngine": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsCriblSearchEngineTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsCriblTCP": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsCriblTCPTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsCrowdstrikeNextGenSiem": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsCustomerMetricsStorage": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsCustomerMetricsStorageTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsDatadog": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsDatadogTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsDataset": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsDatasetTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsDynatraceHTTP": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsDynatraceHTTPTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsDynatraceOtlp": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsDynatraceOtlpTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsGraphite": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsGraphiteTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsHumioHec": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsHumioHecTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsLocalSearchStorage": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsLocalSearchStorageTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsLoki": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsLokiTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsMicrosoftFabric": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsMicrosoftFabricTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsOpenTelemetry": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsOpenTelemetryTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsPrometheus": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsPrometheusTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsSentinelOneAiSiem": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsSentinelOneAiSiemTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsServiceNow": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsServiceNowTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsSns": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsSnsTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsSqs": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsSqsTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsStatsdExt": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsStatsdExtTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsSumoLogic": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsSumoLogicTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsXsiam": ".createoutput_pqcontrols_statsdext", + "CreateOutputPqControlsXsiamTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputProtocolDynatraceOtlp": ".createoutput_pqcontrols_statsdext", + "CreateOutputQueueType": ".createoutput_pqcontrols_statsdext", + "CreateOutputRegion": ".createoutput_pqcontrols_statsdext", + "CreateOutputRule": ".createoutput_pqcontrols_statsdext", + "CreateOutputRuleTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputSendLogsAs": ".createoutput_pqcontrols_statsdext", + "CreateOutputSeverityDatadog": ".createoutput_pqcontrols_statsdext", + "CreateOutputSeverityDataset": ".createoutput_pqcontrols_statsdext", + "CreateOutputStatsDestination": ".createoutput_pqcontrols_statsdext", + "CreateOutputStatsDestinationTypedDict": ".createoutput_pqcontrols_statsdext", + "CreateOutputTelemetryType": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeAlibabaCloudS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeAlphasocS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeChronicle": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeClickHouse": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeCloudflareR2": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeCloudianS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeCriblHTTP": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeCriblLake": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeCriblSearchEngine": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeCriblTCP": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeCrowdstrikeNextGenSiem": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeCustomerMetricsStorage": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeDatabricks": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeDatadog": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeDataset": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeDellS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeDiskSpool": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeDlS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeDynatraceHTTP": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeDynatraceOtlp": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeGraphite": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeHumioHec": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeIbmCloudS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeLocalSearchStorage": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeLoki": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeMicrosoftFabric": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeNetflow": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeNutanixObjects": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeOpenTelemetry": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypePrometheus": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeRing": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeRouter": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeScalityS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeSecurityLake": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeSentinelOneAiSiem": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeServiceNow": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeSnmp": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeSns": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeSqs": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeStatsdExt": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeStorjS3": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeSumoLogic": ".createoutput_pqcontrols_statsdext", + "CreateOutputTypeXsiam": ".createoutput_pqcontrols_statsdext", + "CreateOutputURLXsiam": ".createoutput_pqcontrols_statsdext", + "CreateOutputURLXsiamTypedDict": ".createoutput_pqcontrols_statsdext", "CreateOutputOutputDefault": ".createoutput_request", "CreateOutputOutputDefaultTypedDict": ".createoutput_request", + "CreateOutputOutputWebhookPqControls1": ".createoutput_request", + "CreateOutputOutputWebhookPqControls1TypedDict": ".createoutput_request", + "CreateOutputOutputWebhookURL1": ".createoutput_request", + "CreateOutputOutputWebhookURL1TypedDict": ".createoutput_request", "CreateOutputOutputWebhookUnion": ".createoutput_request", "CreateOutputOutputWebhookUnionTypedDict": ".createoutput_request", + "CreateOutputOutputWebhookWebhook1": ".createoutput_request", + "CreateOutputOutputWebhookWebhook1TypedDict": ".createoutput_request", "CreateOutputRequest": ".createoutput_request", "CreateOutputRequestTypedDict": ".createoutput_request", "CreateOutputTypeDefault": ".createoutput_request", - "CreateOutputSystemByPackAPIVersion": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAdditionalProperty": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAdditionalPropertyTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAuthToken": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAuthTokenTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAuthType": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAuthenticationMethodAzureLogs": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAuthenticationMethodGoogleChronicle": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAuthenticationTypeInfluxdb": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackBlobAccessTier": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackCertificate": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackCertificateTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackCompression": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackElasticVersion": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackEndpointConfiguration": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackEndpointGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackExtentTag": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackExtentTagTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackExtraLogType": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackExtraLogTypeTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackFacility": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackFieldName": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackFormatSentinel": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackGoogleAuthenticationMethod": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackIndexerDiscoveryConfigs": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackIndexerDiscoveryConfigsTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackIngestIfNotExist": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackIngestIfNotExistTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackIngestionMode": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackLogLocationType": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackMessageFormat": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackMetadatum": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackMetadatumTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOtlpVersionGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputAzureBlob": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputAzureBlobTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputAzureDataExplorer": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputAzureDataExplorerTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputAzureEventhub": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputAzureEventhubTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputAzureLogs": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputAzureLogsTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputCloudwatch": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputCloudwatchTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputConfluentCloud": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputConfluentCloudTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputDevnull": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputDevnullTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputElastic": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputElasticCloud": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputElasticCloudTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputElasticTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputExabeam": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputExabeamTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputFilesystem": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputFilesystemTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputGoogleChronicle": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputGoogleChronicleTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputGoogleCloudLogging": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputGoogleCloudLoggingTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputGoogleCloudStorage": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputGoogleCloudStorageTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputGooglePubsub": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputGooglePubsubTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputHoneycomb": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputHoneycombTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputInfluxdb": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputInfluxdbTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputKafka": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputKafkaTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputKinesis": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputKinesisTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputMinio": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputMinioTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputMsk": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputMskTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputNewrelic": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputNewrelicEvents": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputNewrelicEventsTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputNewrelicTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputS3": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputS3TypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSentinel": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSentinelTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSignalfx": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSignalfxTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSplunk": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSplunkHec": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSplunkHecTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSplunkLb": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSplunkLbTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSplunkTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputStatsd": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputStatsdTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSyslog": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputSyslogTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputTcpjson": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputTcpjsonTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWavefront": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWavefrontTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookAuthenticationType1": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookAuthenticationType2": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookFormat1": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookFormat2": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookPqControls1": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookPqControls1TypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookPqControls2": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookPqControls2TypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookType1": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookType2": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookURL1": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookURL1TypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookURL2": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookURL2TypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookWebhook1": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookWebhook1TypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookWebhook2": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWebhookWebhook2TypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWizHec": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackOutputWizHecTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPayloadFormat": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsAzureDataExplorer": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsAzureDataExplorerTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsAzureEventhub": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsAzureEventhubTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsAzureLogs": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsAzureLogsTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsCloudwatch": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsCloudwatchTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsConfluentCloud": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsConfluentCloudTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsElastic": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsElasticCloud": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsElasticCloudTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsElasticTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsGoogleChronicle": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsGoogleChronicleTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsGoogleCloudLogging": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsGoogleCloudLoggingTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsGoogleCloudObservabilityTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsGooglePubsub": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsGooglePubsubTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsHoneycomb": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsHoneycombTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsInfluxdb": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsInfluxdbTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsKafka": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsKafkaTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsKinesis": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsKinesisTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsMsk": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsMskTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsNewrelic": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsNewrelicEvents": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsNewrelicTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSentinel": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSentinelTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSignalfx": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSignalfxTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSplunk": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSplunkHec": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSplunkHecTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSplunkLb": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSplunkLbTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSplunkTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSyslog": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsSyslogTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsTcpjson": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsTcpjsonTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsWavefront": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsWavefrontTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsWizHec": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPqControlsWizHecTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackPrefixOptional": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackProtocolGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackProtocolSyslog": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackReportLevel": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackReportMethod": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackSendEventsAs": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackSeveritySyslog": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTimestampFormat": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTimestampPrecision": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeAzureBlob": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeAzureDataExplorer": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeAzureEventhub": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeAzureLogs": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeCloudwatch": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeConfluentCloud": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeDevnull": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeElastic": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeElasticCloud": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeExabeam": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeFilesystem": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeGoogleChronicle": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeGoogleCloudLogging": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeGoogleCloudStorage": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeGooglePubsub": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeHoneycomb": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeInfluxdb": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeKafka": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeKinesis": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeMinio": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeMsk": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeNewrelic": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeNewrelicEvents": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeS3": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeSentinel": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeSignalfx": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeSplunk": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeSplunkHec": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeSplunkLb": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeSyslog": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeTcpjson": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeWavefront": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackTypeWizHec": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackUDMType": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackURLElastic": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackURLElasticTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackURLSplunkHec": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackURLSplunkHecTypedDict": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackWriteAction": ".createoutputsystembypack_outputwebhook_webhook_1", - "CreateOutputSystemByPackAISIEMEndpointPath": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackAuthentication": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackAuthenticationMethodChronicle": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackAuthenticationMethodXsiam": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackAuthenticationTypeOpenTelemetry": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackAuthenticationTypePrometheus": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackAuthenticationTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackColumnMapping": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackColumnMappingTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackCustomLabel": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackCustomLabelTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackDataFormatRing": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackDataFormatSumoLogic": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackDataSetSite": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackDatadogSite": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackEndpointDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackEndpointType": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackFormatCriblLake": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackFormatDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackFormatLocalSearchStorage": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackHostNetflow": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackHostNetflowTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackHostSnmp": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackHostSnmpTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackMappingType": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOTLPVersionOpenTelemetry": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputAlibabaCloudS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputAlphasocS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputAlphasocS3TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputChronicle": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputChronicleTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputClickHouse": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputClickHouseTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCloudflareR2": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCloudflareR2TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCloudianS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCloudianS3TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCriblHTTP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCriblHTTPTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCriblLake": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCriblLakeTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCriblSearchEngine": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCriblSearchEngineTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCriblTCP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCriblTCPTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCrowdstrikeNextGenSiem": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCustomerMetricsStorage": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDatabricks": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDatabricksTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDatadog": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDatadogTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDataset": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDatasetTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDellS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDellS3TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDiskSpool": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDiskSpoolTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDlS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDlS3TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDynatraceHTTPTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDynatraceOtlp": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputDynatraceOtlpTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudPqControls1": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudPqControls2": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudPqControls2TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudType1": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudType2": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudUnion": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGraphite": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputGraphiteTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputHumioHec": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputHumioHecTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputLocalSearchStorage": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputLocalSearchStorageTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputLoki": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputLokiTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputMicrosoftFabric": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputMicrosoftFabricTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputNetflow": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputNetflowTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputNutanixObjects": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputNutanixObjectsTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputOpenTelemetry": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputOpenTelemetryTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputPrometheus": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputPrometheusTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputRing": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputRingTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputRouter": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputRouterTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputScalityS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputScalityS3TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSecurityLake": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSecurityLakeTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSentinelOneAiSiem": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputServiceNow": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputServiceNowTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSnmp": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSnmpTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSns": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSnsTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSqs": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSqsTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputStatsdExt": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputStatsdExtTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputStorjS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputStorjS3TypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSumoLogic": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputSumoLogicTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputXsiam": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackOutputXsiamTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsChronicle": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsChronicleTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsClickHouse": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsClickHouseTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsCriblHTTP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsCriblHTTPTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsCriblSearchEngine": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsCriblSearchEngineTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsCriblTCP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsCriblTCPTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsCustomerMetricsStorage": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsCustomerMetricsStorageTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsDatadog": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsDatadogTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsDataset": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsDatasetTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsDynatraceHTTPTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsDynatraceOtlp": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsGraphite": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsGraphiteTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsHumioHec": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsHumioHecTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsLocalSearchStorage": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsLocalSearchStorageTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsLoki": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsLokiTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsMicrosoftFabric": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsMicrosoftFabricTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsOpenTelemetry": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsOpenTelemetryTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsPrometheus": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsPrometheusTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsSentinelOneAiSiem": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsServiceNow": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsServiceNowTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsSns": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsSnsTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsSqs": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsSqsTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsStatsd": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsStatsdExt": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsStatsdExtTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsStatsdTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsSumoLogic": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsSumoLogicTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsXsiam": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackPqControlsXsiamTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackProtocolDynatraceOtlp": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackQueueType": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackRegion": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackRule": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackRuleTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackSendLogsAs": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackSeverityDatadog": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackSeverityDataset": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackStatsDestination": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackStatsDestinationTypedDict": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTelemetryType": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeAlibabaCloudS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeAlphasocS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeChronicle": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeClickHouse": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeCloudflareR2": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeCloudianS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeCriblHTTP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeCriblLake": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeCriblSearchEngine": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeCriblTCP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeCustomerMetricsStorage": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeDatabricks": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeDatadog": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeDataset": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeDellS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeDiskSpool": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeDlS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeDynatraceOtlp": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeGraphite": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeHumioHec": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeLocalSearchStorage": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeLoki": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeMicrosoftFabric": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeNetflow": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeNutanixObjects": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeOpenTelemetry": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypePrometheus": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeRing": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeRouter": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeScalityS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeSecurityLake": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeSentinelOneAiSiem": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeServiceNow": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeSnmp": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeSns": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeSqs": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeStatsd": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeStatsdExt": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeStorjS3": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeSumoLogic": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackTypeXsiam": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackURLXsiam": ".createoutputsystembypack_pqcontrols_statsd", - "CreateOutputSystemByPackURLXsiamTypedDict": ".createoutputsystembypack_pqcontrols_statsd", + "CreateOutputSystemByPackAPIVersion": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAdditionalProperty": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAdditionalPropertyTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAuthToken": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAuthTokenTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAuthType": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAuthenticationMethodAzureLogs": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAuthenticationMethodGoogleChronicle": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAuthenticationTypeInfluxdb": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackBlobAccessTier": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackCertificate": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackCertificateTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackCompression": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackElasticVersion": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackEndpointConfiguration": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackEndpointGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackExtentTag": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackExtentTagTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackExtraLogType": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackExtraLogTypeTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackFacility": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackFieldName": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackFormatSentinel": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackGoogleAuthenticationMethod": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackIndexerDiscoveryConfigs": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackIndexerDiscoveryConfigsTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackIngestIfNotExist": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackIngestIfNotExistTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackIngestionMode": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackLogLocationType": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackMessageFormat": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackMetadatum": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackMetadatumTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOtlpVersionGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputAzureBlob": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputAzureBlobTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputAzureDataExplorer": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputAzureDataExplorerTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputAzureEventhub": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputAzureEventhubTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputAzureLogs": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputAzureLogsTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputCloudwatch": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputCloudwatchTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputConfluentCloud": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputConfluentCloudTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputDevnull": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputDevnullTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputElastic": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputElasticCloud": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputElasticCloudTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputElasticTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputExabeam": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputExabeamTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputFilesystem": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputFilesystemTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputGoogleChronicle": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputGoogleChronicleTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputGoogleCloudLogging": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputGoogleCloudLoggingTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputGoogleCloudStorage": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputGoogleCloudStorageTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputGooglePubsub": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputGooglePubsubTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputHoneycomb": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputHoneycombTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputInfluxdb": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputInfluxdbTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputKafka": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputKafkaTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputKinesis": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputKinesisTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputMinio": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputMinioTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputMsk": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputMskTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputNewrelic": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputNewrelicEvents": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputNewrelicEventsTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputNewrelicTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputS3": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputS3TypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSentinel": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSentinelTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSignalfx": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSignalfxTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSplunk": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSplunkHec": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSplunkHecTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSplunkLb": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSplunkLbTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSplunkTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputStatsd": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputStatsdExt": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputStatsdExtTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputStatsdTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSyslog": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputSyslogTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputTcpjson": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputTcpjsonTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWavefront": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWavefrontTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookAuthenticationType1": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookAuthenticationType2": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookFormat1": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookFormat2": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookPqControls2": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookPqControls2TypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookType1": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookType2": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookURL2": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookURL2TypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookWebhook2": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWebhookWebhook2TypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWizHec": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackOutputWizHecTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPayloadFormat": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsAzureDataExplorer": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsAzureDataExplorerTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsAzureEventhub": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsAzureEventhubTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsAzureLogs": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsAzureLogsTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsCloudwatch": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsCloudwatchTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsConfluentCloud": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsConfluentCloudTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsElastic": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsElasticCloud": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsElasticCloudTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsElasticTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsGoogleChronicle": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsGoogleChronicleTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsGoogleCloudLogging": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsGoogleCloudLoggingTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsGoogleCloudObservabilityTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsGooglePubsub": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsGooglePubsubTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsHoneycomb": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsHoneycombTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsInfluxdb": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsInfluxdbTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsKafka": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsKafkaTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsKinesis": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsKinesisTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsMsk": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsMskTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsNewrelic": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsNewrelicEvents": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsNewrelicTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSentinel": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSentinelTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSignalfx": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSignalfxTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSplunk": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSplunkHec": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSplunkHecTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSplunkLb": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSplunkLbTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSplunkTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsStatsd": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsStatsdTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSyslog": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsSyslogTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsTcpjson": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsTcpjsonTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsWavefront": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsWavefrontTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsWizHec": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPqControlsWizHecTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackPrefixOptional": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackProtocolGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackProtocolSyslog": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackReportLevel": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackReportMethod": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackSendEventsAs": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackSeveritySyslog": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTimestampFormat": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTimestampPrecision": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeAzureBlob": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeAzureDataExplorer": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeAzureEventhub": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeAzureLogs": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeCloudwatch": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeConfluentCloud": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeDevnull": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeElastic": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeElasticCloud": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeExabeam": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeFilesystem": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeGoogleChronicle": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeGoogleCloudLogging": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeGoogleCloudObservability": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeGoogleCloudStorage": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeGooglePubsub": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeHoneycomb": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeInfluxdb": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeKafka": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeKinesis": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeMinio": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeMsk": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeNewrelic": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeNewrelicEvents": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeS3": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeSentinel": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeSignalfx": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeSplunk": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeSplunkHec": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeSplunkLb": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeStatsd": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeSyslog": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeTcpjson": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeWavefront": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackTypeWizHec": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackUDMType": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackURLElastic": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackURLElasticTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackURLSplunkHec": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackURLSplunkHecTypedDict": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackWriteAction": ".createoutputsystembypack_outputwebhook_authentication_type_1", + "CreateOutputSystemByPackAISIEMEndpointPath": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackAuthentication": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackAuthenticationMethodChronicle": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackAuthenticationMethodXsiam": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackAuthenticationTypeOpenTelemetry": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackAuthenticationTypePrometheus": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackAuthenticationTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackColumnMapping": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackColumnMappingTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackCustomLabel": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackCustomLabelTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackDataFormatRing": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackDataFormatSumoLogic": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackDataSetSite": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackDatadogSite": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackEndpointDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackEndpointType": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackFormatCriblLake": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackFormatDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackFormatLocalSearchStorage": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackHostNetflow": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackHostNetflowTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackHostSnmp": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackHostSnmpTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackMappingType": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOTLPVersionOpenTelemetry": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputAlibabaCloudS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputAlphasocS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputAlphasocS3TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputChronicle": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputChronicleTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputClickHouse": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputClickHouseTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCloudflareR2": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCloudflareR2TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCloudianS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCloudianS3TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCriblHTTP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCriblHTTPTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCriblLake": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCriblLakeTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCriblSearchEngine": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCriblSearchEngineTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCriblTCP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCriblTCPTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCrowdstrikeNextGenSiem": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCustomerMetricsStorage": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDatabricks": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDatabricksTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDatadog": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDatadogTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDataset": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDatasetTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDellS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDellS3TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDiskSpool": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDiskSpoolTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDlS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDlS3TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDynatraceHTTPTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDynatraceOtlp": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputDynatraceOtlpTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudPqControls1": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudPqControls2": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudPqControls2TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudType1": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudType2": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudUnion": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGraphite": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputGraphiteTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputHumioHec": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputHumioHecTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputIbmCloudS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputIbmCloudS3TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputLocalSearchStorage": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputLocalSearchStorageTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputLoki": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputLokiTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputMicrosoftFabric": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputMicrosoftFabricTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputNetflow": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputNetflowTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputNutanixObjects": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputNutanixObjectsTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputOpenTelemetry": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputOpenTelemetryTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputPrometheus": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputPrometheusTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputRing": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputRingTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputRouter": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputRouterTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputScalityS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputScalityS3TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSecurityLake": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSecurityLakeTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSentinelOneAiSiem": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputServiceNow": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputServiceNowTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSnmp": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSnmpTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSns": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSnsTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSqs": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSqsTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputStorjS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputStorjS3TypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSumoLogic": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputSumoLogicTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputXsiam": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackOutputXsiamTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsChronicle": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsChronicleTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsClickHouse": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsClickHouseTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsCriblHTTP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsCriblHTTPTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsCriblSearchEngine": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsCriblSearchEngineTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsCriblTCP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsCriblTCPTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsCustomerMetricsStorage": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsCustomerMetricsStorageTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsDatadog": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsDatadogTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsDataset": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsDatasetTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsDynatraceHTTPTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsDynatraceOtlp": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsGraphite": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsGraphiteTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsHumioHec": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsHumioHecTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsLocalSearchStorage": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsLocalSearchStorageTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsLoki": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsLokiTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsMicrosoftFabric": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsMicrosoftFabricTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsOpenTelemetry": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsOpenTelemetryTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsPrometheus": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsPrometheusTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsSentinelOneAiSiem": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsServiceNow": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsServiceNowTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsSns": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsSnsTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsSqs": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsSqsTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsStatsdExt": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsStatsdExtTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsSumoLogic": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsSumoLogicTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsXsiam": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackPqControlsXsiamTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackProtocolDynatraceOtlp": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackQueueType": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackRegion": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackRule": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackRuleTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackSendLogsAs": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackSeverityDatadog": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackSeverityDataset": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackStatsDestination": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackStatsDestinationTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTelemetryType": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeAlibabaCloudS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeAlphasocS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeChronicle": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeClickHouse": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeCloudflareR2": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeCloudianS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeCriblHTTP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeCriblLake": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeCriblSearchEngine": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeCriblTCP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeCustomerMetricsStorage": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeDatabricks": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeDatadog": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeDataset": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeDellS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeDiskSpool": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeDlS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeDynatraceHTTP": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeDynatraceOtlp": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeGraphite": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeHumioHec": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeIbmCloudS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeLocalSearchStorage": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeLoki": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeMicrosoftFabric": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeNetflow": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeNutanixObjects": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeOpenTelemetry": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypePrometheus": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeRing": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeRouter": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeScalityS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeSecurityLake": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeSentinelOneAiSiem": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeServiceNow": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeSnmp": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeSns": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeSqs": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeStatsdExt": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeStorjS3": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeSumoLogic": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackTypeXsiam": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackURLXsiam": ".createoutputsystembypack_pqcontrols_statsdext", + "CreateOutputSystemByPackURLXsiamTypedDict": ".createoutputsystembypack_pqcontrols_statsdext", "CreateOutputSystemByPackOutputDefault": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputDefaultTypedDict": ".createoutputsystembypack_request", + "CreateOutputSystemByPackOutputWebhookPqControls1": ".createoutputsystembypack_request", + "CreateOutputSystemByPackOutputWebhookPqControls1TypedDict": ".createoutputsystembypack_request", + "CreateOutputSystemByPackOutputWebhookURL1": ".createoutputsystembypack_request", + "CreateOutputSystemByPackOutputWebhookURL1TypedDict": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookUnion": ".createoutputsystembypack_request", "CreateOutputSystemByPackOutputWebhookUnionTypedDict": ".createoutputsystembypack_request", + "CreateOutputSystemByPackOutputWebhookWebhook1": ".createoutputsystembypack_request", + "CreateOutputSystemByPackOutputWebhookWebhook1TypedDict": ".createoutputsystembypack_request", "CreateOutputSystemByPackRequest": ".createoutputsystembypack_request", "CreateOutputSystemByPackRequestBody": ".createoutputsystembypack_request", "CreateOutputSystemByPackRequestBodyTypedDict": ".createoutputsystembypack_request", @@ -17029,6 +17104,8 @@ "GetDatabaseConnectionConfigResponseTypedDict": ".getdatabaseconnectionconfigop", "GetFunctionsByIDRequest": ".getfunctionsbyidop", "GetFunctionsByIDRequestTypedDict": ".getfunctionsbyidop", + "GetFunctionsRequest": ".getfunctionsop", + "GetFunctionsRequestTypedDict": ".getfunctionsop", "GetInputByIDRequest": ".getinputbyidop", "GetInputByIDRequestTypedDict": ".getinputbyidop", "GetInputPqByIDRequest": ".getinputpqbyidop", @@ -17590,6 +17667,9 @@ "UnknownHealthCheckCollectorConf": ".healthcheckcollectorconf", "HealthCountType": ".healthcounttype", "HealthCountTypeTypedDict": ".healthcounttype", + "HealthOverlayStatus": ".healthoverlaystatus", + "HealthOverlayStatusTypedDict": ".healthoverlaystatus", + "UnknownHealthOverlayStatus": ".healthoverlaystatus", "HealthServerStatus": ".healthserverstatus", "HealthServerStatusStatus": ".healthserverstatus", "HealthServerStatusTypedDict": ".healthserverstatus", @@ -18507,6 +18587,8 @@ "ModeOptionsHost": ".modeoptionshost", "ModeOptionsPq": ".modeoptionspq", "NestedFieldSerializationOptions": ".nestedfieldserializationoptions", + "NoActiveHealthOverlayStatus": ".noactivehealthoverlaystatus", + "NoActiveHealthOverlayStatusTypedDict": ".noactivehealthoverlaystatus", "NodeActiveUpgradeStatus": ".nodeactiveupgradestatus", "NodeFailedUpgradeStatus": ".nodefailedupgradestatus", "NodeProvidedInfo": ".nodeprovidedinfo", @@ -18579,6 +18661,7 @@ "Output": ".output", "OutputTypedDict": ".output", "OutputAlibabaCloudS3": ".outputalibabaclouds3", + "OutputAlibabaCloudS3AuthenticationMethod": ".outputalibabaclouds3", "OutputAlibabaCloudS3Type": ".outputalibabaclouds3", "OutputAlibabaCloudS3TypedDict": ".outputalibabaclouds3", "OutputAlphasocS3": ".outputalphasocs3", @@ -18807,6 +18890,9 @@ "OutputHumioHecPqControlsTypedDict": ".outputhumiohec", "OutputHumioHecType": ".outputhumiohec", "OutputHumioHecTypedDict": ".outputhumiohec", + "OutputIbmCloudS3": ".outputibmclouds3", + "OutputIbmCloudS3Type": ".outputibmclouds3", + "OutputIbmCloudS3TypedDict": ".outputibmclouds3", "OutputInfluxdb": ".outputinfluxdb", "OutputInfluxdbAuthenticationType": ".outputinfluxdb", "OutputInfluxdbPqControls": ".outputinfluxdb", @@ -18894,470 +18980,474 @@ "OutputResponse": ".outputresponse", "OutputResponseOutputDefault": ".outputresponse", "OutputResponseOutputDefaultTypedDict": ".outputresponse", + "OutputResponseOutputWebhookPqControls1": ".outputresponse", + "OutputResponseOutputWebhookPqControls1TypedDict": ".outputresponse", + "OutputResponseOutputWebhookURL1": ".outputresponse", + "OutputResponseOutputWebhookURL1TypedDict": ".outputresponse", "OutputResponseOutputWebhookUnion": ".outputresponse", "OutputResponseOutputWebhookUnionTypedDict": ".outputresponse", + "OutputResponseOutputWebhookWebhook1": ".outputresponse", + "OutputResponseOutputWebhookWebhook1TypedDict": ".outputresponse", "OutputResponseTypeDefault": ".outputresponse", "OutputResponseTypedDict": ".outputresponse", "UnknownOutputResponse": ".outputresponse", - "OutputResponseAPIVersion": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAdditionalProperty": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAdditionalPropertyTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAuthToken": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAuthTokenTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAuthType": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAuthenticationMethodAzureDataExplorer": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAuthenticationMethodAzureLogs": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAuthenticationMethodGoogleChronicle": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAuthenticationMethodGoogleCloudStorage": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAuthenticationTypeInfluxdb": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseBlobAccessTier": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseCertificate": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseCertificateTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseCompression": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseElasticVersion": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseEndpointConfiguration": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseEndpointGoogleCloudObservability": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseExtentTag": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseExtentTagTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseExtraLogType": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseExtraLogTypeTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseFacility": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseFieldName": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseFormatSentinel": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseGoogleAuthenticationMethod": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseIndexerDiscoveryConfigs": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseIndexerDiscoveryConfigsTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseIngestIfNotExist": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseIngestIfNotExistTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseIngestionMode": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseLogLocationType": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseMessageFormat": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseMetadatum": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseMetadatumTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOtlpVersionGoogleCloudObservability": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputAzureBlob": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputAzureBlobTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputAzureDataExplorer": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputAzureDataExplorerTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputAzureEventhub": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputAzureEventhubTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputAzureLogs": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputAzureLogsTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputCloudwatch": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputCloudwatchTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputConfluentCloud": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputConfluentCloudTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputDevnull": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputDevnullTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputElastic": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputElasticCloud": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputElasticCloudTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputElasticTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputExabeam": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputExabeamTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputFilesystem": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputFilesystemTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputGoogleChronicle": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputGoogleChronicleTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputGoogleCloudLogging": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputGoogleCloudLoggingTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputGoogleCloudObservability": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputGoogleCloudObservabilityTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputGoogleCloudStorage": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputGoogleCloudStorageTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputGooglePubsub": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputGooglePubsubTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputHoneycomb": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputHoneycombTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputInfluxdb": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputInfluxdbTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputKafka": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputKafkaTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputKinesis": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputKinesisTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputMinio": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputMinioTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputMsk": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputMskTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputNewrelic": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputNewrelicEvents": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputNewrelicEventsTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputNewrelicTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputS3": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputS3TypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSentinel": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSentinelTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSignalfx": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSignalfxTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSplunk": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSplunkHec": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSplunkHecTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSplunkLb": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSplunkLbTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSplunkTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputStatsd": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputStatsdTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSyslog": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputSyslogTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputTcpjson": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputTcpjsonTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWavefront": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWavefrontTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookAuthenticationType1": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookAuthenticationType2": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookFormat1": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookFormat2": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookPqControls1": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookPqControls1TypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookPqControls2": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookPqControls2TypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookType1": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookType2": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookURL1": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookURL1TypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookURL2": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookURL2TypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookWebhook1": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookWebhook1TypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookWebhook2": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWebhookWebhook2TypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWizHec": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseOutputWizHecTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePayloadFormat": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsAzureDataExplorer": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsAzureDataExplorerTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsAzureEventhub": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsAzureEventhubTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsAzureLogs": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsAzureLogsTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsCloudwatch": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsCloudwatchTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsConfluentCloud": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsConfluentCloudTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsElastic": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsElasticCloud": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsElasticCloudTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsElasticTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsGoogleChronicle": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsGoogleChronicleTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsGoogleCloudLogging": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsGoogleCloudLoggingTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsGoogleCloudObservability": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsGoogleCloudObservabilityTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsGooglePubsub": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsGooglePubsubTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsHoneycomb": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsHoneycombTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsInfluxdb": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsInfluxdbTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsKafka": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsKafkaTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsKinesis": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsKinesisTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsMsk": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsMskTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsNewrelic": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsNewrelicEvents": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsNewrelicEventsTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsNewrelicTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSentinel": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSentinelTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSignalfx": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSignalfxTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSplunk": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSplunkHec": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSplunkHecTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSplunkLb": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSplunkLbTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSplunkTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSyslog": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsSyslogTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsTcpjson": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsTcpjsonTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsWavefront": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsWavefrontTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsWizHec": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePqControlsWizHecTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponsePrefixOptional": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseProtocolGoogleCloudObservability": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseProtocolSyslog": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseReportLevel": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseReportMethod": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseSendEventsAs": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseSeveritySyslog": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTimestampFormat": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTimestampPrecision": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeAzureBlob": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeAzureDataExplorer": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeAzureEventhub": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeAzureLogs": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeCloudwatch": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeConfluentCloud": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeDevnull": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeElastic": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeElasticCloud": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeExabeam": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeFilesystem": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeGoogleChronicle": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeGoogleCloudLogging": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeGoogleCloudObservability": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeGoogleCloudStorage": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeGooglePubsub": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeHoneycomb": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeInfluxdb": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeKafka": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeKinesis": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeMinio": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeMsk": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeNewrelic": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeNewrelicEvents": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeS3": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeSentinel": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeSignalfx": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeSplunk": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeSplunkHec": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeSplunkLb": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeSyslog": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeTcpjson": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeWavefront": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseTypeWizHec": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseUDMType": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseURLElastic": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseURLElasticTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseURLSplunkHec": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseURLSplunkHecTypedDict": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseWriteAction": ".outputresponse_outputwebhook_webhook_1", - "OutputResponseAISIEMEndpointPath": ".outputresponse_pqcontrols_statsd", - "OutputResponseAuthentication": ".outputresponse_pqcontrols_statsd", - "OutputResponseAuthenticationMethodChronicle": ".outputresponse_pqcontrols_statsd", - "OutputResponseAuthenticationMethodXsiam": ".outputresponse_pqcontrols_statsd", - "OutputResponseAuthenticationTypeDynatraceHTTP": ".outputresponse_pqcontrols_statsd", - "OutputResponseAuthenticationTypeOpenTelemetry": ".outputresponse_pqcontrols_statsd", - "OutputResponseAuthenticationTypePrometheus": ".outputresponse_pqcontrols_statsd", - "OutputResponseAuthenticationTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseColumnMapping": ".outputresponse_pqcontrols_statsd", - "OutputResponseColumnMappingTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseCustomLabel": ".outputresponse_pqcontrols_statsd", - "OutputResponseCustomLabelTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseDataFormatRing": ".outputresponse_pqcontrols_statsd", - "OutputResponseDataFormatSumoLogic": ".outputresponse_pqcontrols_statsd", - "OutputResponseDataSetSite": ".outputresponse_pqcontrols_statsd", - "OutputResponseDatadogSite": ".outputresponse_pqcontrols_statsd", - "OutputResponseEndpointDynatraceHTTP": ".outputresponse_pqcontrols_statsd", - "OutputResponseEndpointType": ".outputresponse_pqcontrols_statsd", - "OutputResponseFormatCriblLake": ".outputresponse_pqcontrols_statsd", - "OutputResponseFormatDynatraceHTTP": ".outputresponse_pqcontrols_statsd", - "OutputResponseFormatLocalSearchStorage": ".outputresponse_pqcontrols_statsd", - "OutputResponseHostNetflow": ".outputresponse_pqcontrols_statsd", - "OutputResponseHostNetflowTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseHostSnmp": ".outputresponse_pqcontrols_statsd", - "OutputResponseHostSnmpTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseMappingType": ".outputresponse_pqcontrols_statsd", - "OutputResponseOTLPVersionOpenTelemetry": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputAlibabaCloudS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputAlibabaCloudS3TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputAlphasocS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputAlphasocS3TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputChronicle": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputChronicleTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputClickHouse": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputClickHouseTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCloudflareR2": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCloudflareR2TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCloudianS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCloudianS3TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCriblHTTP": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCriblHTTPTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCriblLake": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCriblLakeTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCriblSearchEngine": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCriblSearchEngineTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCriblTCP": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCriblTCPTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCrowdstrikeNextGenSiem": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCrowdstrikeNextGenSiemTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCustomerMetricsStorage": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputCustomerMetricsStorageTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDatabricks": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDatabricksTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDatadog": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDatadogTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDataset": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDatasetTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDellS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDellS3TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDiskSpool": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDiskSpoolTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDlS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDlS3TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDynatraceHTTP": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDynatraceHTTPTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDynatraceOtlp": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputDynatraceOtlpTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudGrafanaCloud1": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudGrafanaCloud2": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudPqControls1": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudPqControls1TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudPqControls2": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudPqControls2TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudType1": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudType2": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudUnion": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGrafanaCloudUnionTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGraphite": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputGraphiteTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputHumioHec": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputHumioHecTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputLocalSearchStorage": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputLocalSearchStorageTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputLoki": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputLokiTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputMicrosoftFabric": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputMicrosoftFabricTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputNetflow": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputNetflowTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputNutanixObjects": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputNutanixObjectsTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputOpenTelemetry": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputOpenTelemetryTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputPrometheus": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputPrometheusTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputRing": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputRingTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputRouter": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputRouterTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputScalityS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputScalityS3TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSecurityLake": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSecurityLakeTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSentinelOneAiSiem": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSentinelOneAiSiemTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputServiceNow": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputServiceNowTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSnmp": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSnmpTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSns": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSnsTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSqs": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSqsTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputStatsdExt": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputStatsdExtTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputStorjS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputStorjS3TypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSumoLogic": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputSumoLogicTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputXsiam": ".outputresponse_pqcontrols_statsd", - "OutputResponseOutputXsiamTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsChronicle": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsChronicleTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsClickHouse": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsClickHouseTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsCriblHTTP": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsCriblHTTPTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsCriblSearchEngine": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsCriblSearchEngineTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsCriblTCP": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsCriblTCPTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsCrowdstrikeNextGenSiem": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsCrowdstrikeNextGenSiemTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsCustomerMetricsStorage": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsCustomerMetricsStorageTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsDatadog": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsDatadogTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsDataset": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsDatasetTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsDynatraceHTTP": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsDynatraceHTTPTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsDynatraceOtlp": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsDynatraceOtlpTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsGraphite": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsGraphiteTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsHumioHec": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsHumioHecTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsLocalSearchStorage": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsLocalSearchStorageTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsLoki": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsLokiTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsMicrosoftFabric": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsMicrosoftFabricTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsOpenTelemetry": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsOpenTelemetryTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsPrometheus": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsPrometheusTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsSentinelOneAiSiem": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsSentinelOneAiSiemTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsServiceNow": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsServiceNowTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsSns": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsSnsTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsSqs": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsSqsTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsStatsd": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsStatsdExt": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsStatsdExtTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsStatsdTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsSumoLogic": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsSumoLogicTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsXsiam": ".outputresponse_pqcontrols_statsd", - "OutputResponsePqControlsXsiamTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseProtocolDynatraceOtlp": ".outputresponse_pqcontrols_statsd", - "OutputResponseQueueType": ".outputresponse_pqcontrols_statsd", - "OutputResponseRegion": ".outputresponse_pqcontrols_statsd", - "OutputResponseRule": ".outputresponse_pqcontrols_statsd", - "OutputResponseRuleTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseSendLogsAs": ".outputresponse_pqcontrols_statsd", - "OutputResponseSeverityDatadog": ".outputresponse_pqcontrols_statsd", - "OutputResponseSeverityDataset": ".outputresponse_pqcontrols_statsd", - "OutputResponseStatsDestination": ".outputresponse_pqcontrols_statsd", - "OutputResponseStatsDestinationTypedDict": ".outputresponse_pqcontrols_statsd", - "OutputResponseTelemetryType": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeAlibabaCloudS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeAlphasocS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeChronicle": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeClickHouse": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeCloudflareR2": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeCloudianS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeCriblHTTP": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeCriblLake": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeCriblSearchEngine": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeCriblTCP": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeCrowdstrikeNextGenSiem": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeCustomerMetricsStorage": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeDatabricks": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeDatadog": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeDataset": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeDellS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeDiskSpool": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeDlS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeDynatraceHTTP": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeDynatraceOtlp": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeGraphite": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeHumioHec": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeLocalSearchStorage": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeLoki": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeMicrosoftFabric": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeNetflow": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeNutanixObjects": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeOpenTelemetry": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypePrometheus": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeRing": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeRouter": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeScalityS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeSecurityLake": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeSentinelOneAiSiem": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeServiceNow": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeSnmp": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeSns": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeSqs": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeStatsd": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeStatsdExt": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeStorjS3": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeSumoLogic": ".outputresponse_pqcontrols_statsd", - "OutputResponseTypeXsiam": ".outputresponse_pqcontrols_statsd", - "OutputResponseURLXsiam": ".outputresponse_pqcontrols_statsd", - "OutputResponseURLXsiamTypedDict": ".outputresponse_pqcontrols_statsd", + "OutputResponseAPIVersion": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAdditionalProperty": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAdditionalPropertyTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAuthToken": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAuthTokenTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAuthType": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAuthenticationMethodAzureDataExplorer": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAuthenticationMethodAzureLogs": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAuthenticationMethodGoogleChronicle": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAuthenticationMethodGoogleCloudStorage": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAuthenticationTypeInfluxdb": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseBlobAccessTier": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseCertificate": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseCertificateTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseCompression": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseElasticVersion": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseEndpointConfiguration": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseEndpointGoogleCloudObservability": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseExtentTag": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseExtentTagTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseExtraLogType": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseExtraLogTypeTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseFacility": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseFieldName": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseFormatSentinel": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseGoogleAuthenticationMethod": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseIndexerDiscoveryConfigs": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseIndexerDiscoveryConfigsTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseIngestIfNotExist": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseIngestIfNotExistTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseIngestionMode": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseLogLocationType": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseMessageFormat": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseMetadatum": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseMetadatumTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOtlpVersionGoogleCloudObservability": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputAzureBlob": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputAzureBlobTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputAzureDataExplorer": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputAzureDataExplorerTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputAzureEventhub": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputAzureEventhubTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputAzureLogs": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputAzureLogsTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputCloudwatch": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputCloudwatchTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputConfluentCloud": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputConfluentCloudTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputDevnull": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputDevnullTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputElastic": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputElasticCloud": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputElasticCloudTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputElasticTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputExabeam": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputExabeamTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputFilesystem": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputFilesystemTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputGoogleChronicle": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputGoogleChronicleTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputGoogleCloudLogging": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputGoogleCloudLoggingTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputGoogleCloudObservability": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputGoogleCloudObservabilityTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputGoogleCloudStorage": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputGoogleCloudStorageTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputGooglePubsub": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputGooglePubsubTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputHoneycomb": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputHoneycombTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputInfluxdb": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputInfluxdbTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputKafka": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputKafkaTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputKinesis": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputKinesisTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputMinio": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputMinioTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputMsk": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputMskTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputNewrelic": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputNewrelicEvents": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputNewrelicEventsTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputNewrelicTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputS3": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputS3TypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSentinel": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSentinelTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSignalfx": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSignalfxTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSplunk": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSplunkHec": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSplunkHecTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSplunkLb": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSplunkLbTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSplunkTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputStatsd": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputStatsdExt": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputStatsdExtTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputStatsdTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSyslog": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputSyslogTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputTcpjson": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputTcpjsonTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWavefront": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWavefrontTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookAuthenticationType1": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookAuthenticationType2": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookFormat1": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookFormat2": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookPqControls2": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookPqControls2TypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookType1": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookType2": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookURL2": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookURL2TypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookWebhook2": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWebhookWebhook2TypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWizHec": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseOutputWizHecTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePayloadFormat": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsAzureDataExplorer": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsAzureDataExplorerTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsAzureEventhub": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsAzureEventhubTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsAzureLogs": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsAzureLogsTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsCloudwatch": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsCloudwatchTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsConfluentCloud": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsConfluentCloudTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsElastic": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsElasticCloud": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsElasticCloudTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsElasticTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsGoogleChronicle": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsGoogleChronicleTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsGoogleCloudLogging": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsGoogleCloudLoggingTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsGoogleCloudObservability": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsGoogleCloudObservabilityTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsGooglePubsub": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsGooglePubsubTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsHoneycomb": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsHoneycombTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsInfluxdb": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsInfluxdbTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsKafka": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsKafkaTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsKinesis": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsKinesisTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsMsk": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsMskTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsNewrelic": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsNewrelicEvents": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsNewrelicEventsTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsNewrelicTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSentinel": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSentinelTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSignalfx": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSignalfxTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSplunk": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSplunkHec": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSplunkHecTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSplunkLb": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSplunkLbTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSplunkTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsStatsd": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsStatsdTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSyslog": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsSyslogTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsTcpjson": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsTcpjsonTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsWavefront": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsWavefrontTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsWizHec": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePqControlsWizHecTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponsePrefixOptional": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseProtocolGoogleCloudObservability": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseProtocolSyslog": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseReportLevel": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseReportMethod": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseSendEventsAs": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseSeveritySyslog": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTimestampFormat": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTimestampPrecision": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeAzureBlob": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeAzureDataExplorer": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeAzureEventhub": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeAzureLogs": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeCloudwatch": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeConfluentCloud": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeDevnull": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeElastic": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeElasticCloud": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeExabeam": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeFilesystem": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeGoogleChronicle": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeGoogleCloudLogging": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeGoogleCloudObservability": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeGoogleCloudStorage": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeGooglePubsub": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeHoneycomb": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeInfluxdb": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeKafka": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeKinesis": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeMinio": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeMsk": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeNewrelic": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeNewrelicEvents": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeS3": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeSentinel": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeSignalfx": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeSplunk": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeSplunkHec": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeSplunkLb": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeStatsd": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeSyslog": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeTcpjson": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeWavefront": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseTypeWizHec": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseUDMType": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseURLElastic": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseURLElasticTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseURLSplunkHec": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseURLSplunkHecTypedDict": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseWriteAction": ".outputresponse_outputwebhook_authentication_type_1", + "OutputResponseAISIEMEndpointPath": ".outputresponse_pqcontrols_statsdext", + "OutputResponseAuthentication": ".outputresponse_pqcontrols_statsdext", + "OutputResponseAuthenticationMethodAlibabaCloudS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseAuthenticationMethodChronicle": ".outputresponse_pqcontrols_statsdext", + "OutputResponseAuthenticationMethodXsiam": ".outputresponse_pqcontrols_statsdext", + "OutputResponseAuthenticationTypeDynatraceHTTP": ".outputresponse_pqcontrols_statsdext", + "OutputResponseAuthenticationTypeOpenTelemetry": ".outputresponse_pqcontrols_statsdext", + "OutputResponseAuthenticationTypePrometheus": ".outputresponse_pqcontrols_statsdext", + "OutputResponseAuthenticationTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseColumnMapping": ".outputresponse_pqcontrols_statsdext", + "OutputResponseColumnMappingTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseCustomLabel": ".outputresponse_pqcontrols_statsdext", + "OutputResponseCustomLabelTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseDataFormatRing": ".outputresponse_pqcontrols_statsdext", + "OutputResponseDataFormatSumoLogic": ".outputresponse_pqcontrols_statsdext", + "OutputResponseDataSetSite": ".outputresponse_pqcontrols_statsdext", + "OutputResponseDatadogSite": ".outputresponse_pqcontrols_statsdext", + "OutputResponseEndpointDynatraceHTTP": ".outputresponse_pqcontrols_statsdext", + "OutputResponseEndpointType": ".outputresponse_pqcontrols_statsdext", + "OutputResponseFormatCriblLake": ".outputresponse_pqcontrols_statsdext", + "OutputResponseFormatDynatraceHTTP": ".outputresponse_pqcontrols_statsdext", + "OutputResponseFormatLocalSearchStorage": ".outputresponse_pqcontrols_statsdext", + "OutputResponseHostNetflow": ".outputresponse_pqcontrols_statsdext", + "OutputResponseHostNetflowTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseHostSnmp": ".outputresponse_pqcontrols_statsdext", + "OutputResponseHostSnmpTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseMappingType": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOTLPVersionOpenTelemetry": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputAlibabaCloudS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputAlibabaCloudS3TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputAlphasocS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputAlphasocS3TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputChronicle": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputChronicleTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputClickHouse": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputClickHouseTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCloudflareR2": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCloudflareR2TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCloudianS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCloudianS3TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCriblHTTP": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCriblHTTPTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCriblLake": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCriblLakeTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCriblSearchEngine": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCriblSearchEngineTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCriblTCP": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCriblTCPTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCrowdstrikeNextGenSiem": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCrowdstrikeNextGenSiemTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCustomerMetricsStorage": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputCustomerMetricsStorageTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDatabricks": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDatabricksTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDatadog": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDatadogTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDataset": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDatasetTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDellS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDellS3TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDiskSpool": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDiskSpoolTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDlS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDlS3TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDynatraceHTTP": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDynatraceHTTPTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDynatraceOtlp": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputDynatraceOtlpTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudGrafanaCloud1": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudGrafanaCloud2": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudPqControls1": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudPqControls1TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudPqControls2": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudPqControls2TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudType1": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudType2": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudUnion": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGrafanaCloudUnionTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGraphite": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputGraphiteTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputHumioHec": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputHumioHecTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputIbmCloudS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputIbmCloudS3TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputLocalSearchStorage": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputLocalSearchStorageTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputLoki": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputLokiTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputMicrosoftFabric": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputMicrosoftFabricTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputNetflow": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputNetflowTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputNutanixObjects": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputNutanixObjectsTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputOpenTelemetry": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputOpenTelemetryTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputPrometheus": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputPrometheusTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputRing": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputRingTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputRouter": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputRouterTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputScalityS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputScalityS3TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSecurityLake": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSecurityLakeTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSentinelOneAiSiem": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSentinelOneAiSiemTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputServiceNow": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputServiceNowTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSnmp": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSnmpTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSns": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSnsTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSqs": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSqsTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputStorjS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputStorjS3TypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSumoLogic": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputSumoLogicTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputXsiam": ".outputresponse_pqcontrols_statsdext", + "OutputResponseOutputXsiamTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsChronicle": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsChronicleTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsClickHouse": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsClickHouseTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsCriblHTTP": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsCriblHTTPTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsCriblSearchEngine": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsCriblSearchEngineTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsCriblTCP": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsCriblTCPTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsCrowdstrikeNextGenSiem": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsCrowdstrikeNextGenSiemTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsCustomerMetricsStorage": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsCustomerMetricsStorageTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsDatadog": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsDatadogTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsDataset": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsDatasetTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsDynatraceHTTP": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsDynatraceHTTPTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsDynatraceOtlp": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsDynatraceOtlpTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsGraphite": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsGraphiteTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsHumioHec": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsHumioHecTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsLocalSearchStorage": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsLocalSearchStorageTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsLoki": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsLokiTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsMicrosoftFabric": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsMicrosoftFabricTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsOpenTelemetry": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsOpenTelemetryTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsPrometheus": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsPrometheusTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsSentinelOneAiSiem": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsSentinelOneAiSiemTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsServiceNow": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsServiceNowTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsSns": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsSnsTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsSqs": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsSqsTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsStatsdExt": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsStatsdExtTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsSumoLogic": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsSumoLogicTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsXsiam": ".outputresponse_pqcontrols_statsdext", + "OutputResponsePqControlsXsiamTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseProtocolDynatraceOtlp": ".outputresponse_pqcontrols_statsdext", + "OutputResponseQueueType": ".outputresponse_pqcontrols_statsdext", + "OutputResponseRegion": ".outputresponse_pqcontrols_statsdext", + "OutputResponseRule": ".outputresponse_pqcontrols_statsdext", + "OutputResponseRuleTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseSendLogsAs": ".outputresponse_pqcontrols_statsdext", + "OutputResponseSeverityDatadog": ".outputresponse_pqcontrols_statsdext", + "OutputResponseSeverityDataset": ".outputresponse_pqcontrols_statsdext", + "OutputResponseStatsDestination": ".outputresponse_pqcontrols_statsdext", + "OutputResponseStatsDestinationTypedDict": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTelemetryType": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeAlibabaCloudS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeAlphasocS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeChronicle": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeClickHouse": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeCloudflareR2": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeCloudianS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeCriblHTTP": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeCriblLake": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeCriblSearchEngine": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeCriblTCP": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeCrowdstrikeNextGenSiem": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeCustomerMetricsStorage": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeDatabricks": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeDatadog": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeDataset": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeDellS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeDiskSpool": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeDlS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeDynatraceHTTP": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeDynatraceOtlp": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeGraphite": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeHumioHec": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeIbmCloudS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeLocalSearchStorage": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeLoki": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeMicrosoftFabric": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeNetflow": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeNutanixObjects": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeOpenTelemetry": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypePrometheus": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeRing": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeRouter": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeScalityS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeSecurityLake": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeSentinelOneAiSiem": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeServiceNow": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeSnmp": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeSns": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeSqs": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeStatsdExt": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeStorjS3": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeSumoLogic": ".outputresponse_pqcontrols_statsdext", + "OutputResponseTypeXsiam": ".outputresponse_pqcontrols_statsdext", + "OutputResponseURLXsiam": ".outputresponse_pqcontrols_statsdext", + "OutputResponseURLXsiamTypedDict": ".outputresponse_pqcontrols_statsdext", "OutputRing": ".outputring", "OutputRingDataFormat": ".outputring", "OutputRingType": ".outputring", @@ -19530,6 +19620,10 @@ "PackRequestBody2TypedDict": ".packrequestbody_union", "PackRequestBodyUnion": ".packrequestbody_union", "PackRequestBodyUnionTypedDict": ".packrequestbody_union", + "Tags1": ".packrequestbody_union", + "Tags1TypedDict": ".packrequestbody_union", + "Tags2": ".packrequestbody_union", + "Tags2TypedDict": ".packrequestbody_union", "PackUninstallInfo": ".packuninstallinfo", "PackUninstallInfoTypedDict": ".packuninstallinfo", "PackUpgradeRequest": ".packupgraderequest", diff --git a/src/cribl_control_plane/models/activehealthoverlaystatus.py b/src/cribl_control_plane/models/activehealthoverlaystatus.py new file mode 100644 index 000000000..c1a062f8a --- /dev/null +++ b/src/cribl_control_plane/models/activehealthoverlaystatus.py @@ -0,0 +1,38 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane.types import BaseModel +from cribl_control_plane.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class ActiveHealthOverlayStatusTypedDict(TypedDict): + binary_version: str + r"""Binary version targeted by the active overlay.""" + overlay_id: str + r"""Active overlay identifier.""" + state: Literal["active"] + r"""Current overlay state.""" + + +class ActiveHealthOverlayStatus(BaseModel): + binary_version: Annotated[str, pydantic.Field(alias="binaryVersion")] + r"""Binary version targeted by the active overlay.""" + + overlay_id: Annotated[str, pydantic.Field(alias="overlayId")] + r"""Active overlay identifier.""" + + STATE: Annotated[ + Annotated[Literal["active"], AfterValidator(validate_const("active"))], + pydantic.Field(alias="state"), + ] = "active" + r"""Current overlay state.""" + + +try: + ActiveHealthOverlayStatus.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/connectionconfinputcollection.py b/src/cribl_control_plane/models/connectionconfinputcollection.py index 3eee27f2b..f0e1935f0 100644 --- a/src/cribl_control_plane/models/connectionconfinputcollection.py +++ b/src/cribl_control_plane/models/connectionconfinputcollection.py @@ -9,13 +9,17 @@ class ConnectionConfInputCollectionTypedDict(TypedDict): pipeline: NotRequired[str] + r"""Pipeline or Pack to process data before sending to the Destination.""" output: NotRequired[str] + r"""Destination to send data to when not using Routes.""" class ConnectionConfInputCollection(BaseModel): pipeline: Optional[str] = None + r"""Pipeline or Pack to process data before sending to the Destination.""" output: Optional[str] = None + r"""Destination to send data to when not using Routes.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/createinput_logged_in_users.py b/src/cribl_control_plane/models/createinput_logged_in_users.py index f4e66a613..f3321034d 100644 --- a/src/cribl_control_plane/models/createinput_logged_in_users.py +++ b/src/cribl_control_plane/models/createinput_logged_in_users.py @@ -90,6 +90,7 @@ class CreateInputInputOktaTypedDict(TypedDict): text_secret: str r"""Select or create a stored text secret""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -127,6 +128,7 @@ class CreateInputInputOktaTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -148,6 +150,7 @@ class CreateInputInputOkta(BaseModel): r"""Select or create a stored text secret""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -217,6 +220,7 @@ class CreateInputInputOkta(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -386,6 +390,7 @@ class CreateInputInputAnthropicComplianceTypedDict(TypedDict): r"""Select or create a stored Anthropic API key""" content_config: List[CreateInputContentConfigAnthropicComplianceTypedDict] disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -414,6 +419,7 @@ class CreateInputInputAnthropicComplianceTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -435,6 +441,7 @@ class CreateInputInputAnthropicCompliance(BaseModel): ] disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -491,6 +498,7 @@ class CreateInputInputAnthropicCompliance(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -569,6 +577,7 @@ class CreateInputInputOpenaiComplianceLogsTypedDict(TypedDict): account_type: CreateInputAccountType cron_schedule: str disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -613,6 +622,7 @@ class CreateInputInputOpenaiComplianceLogsTypedDict(TypedDict): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" workspace_id: NotRequired[str] r"""The ID of the ChatGPT workspace to collect logs from (UUID format)""" workspace_event_types: NotRequired[List[str]] @@ -650,6 +660,7 @@ class CreateInputInputOpenaiComplianceLogs(BaseModel): cron_schedule: Annotated[str, pydantic.Field(alias="cronSchedule")] disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -739,6 +750,7 @@ class CreateInputInputOpenaiComplianceLogs(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" workspace_id: Annotated[Optional[str], pydantic.Field(alias="workspaceId")] = None r"""The ID of the ChatGPT workspace to collect logs from (UUID format)""" @@ -868,6 +880,8 @@ def serialize_model(self, handler): class CreateInputTypeSysdigHec(str, Enum): + r"""Source type identifier.""" + SYSDIG_HEC = "sysdig_hec" @@ -875,6 +889,7 @@ class CreateInputInputSysdigHecTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeSysdigHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -882,6 +897,7 @@ class CreateInputInputSysdigHecTypedDict(TypedDict): hec_api: str r"""Absolute path on which to listen for the Sysdig HTTP Event Collector API requests. This input supports the /event and /raw endpoints.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -929,6 +945,7 @@ class CreateInputInputSysdigHecTypedDict(TypedDict): emit_token_metrics: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -952,6 +969,7 @@ class CreateInputInputSysdigHec(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeSysdigHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -963,6 +981,7 @@ class CreateInputInputSysdigHec(BaseModel): r"""Absolute path on which to listen for the Sysdig HTTP Event Collector API requests. This input supports the /event and /raw endpoints.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1068,6 +1087,7 @@ class CreateInputInputSysdigHec(BaseModel): r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1164,6 +1184,8 @@ def serialize_model(self, handler): class CreateInputTypeCloudflareHec(str, Enum): + r"""Source type identifier.""" + CLOUDFLARE_HEC = "cloudflare_hec" @@ -1285,6 +1307,7 @@ class CreateInputInputCloudflareHecTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeCloudflareHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -1292,6 +1315,7 @@ class CreateInputInputCloudflareHecTypedDict(TypedDict): hec_api: str r"""Absolute path on which to listen for the Cloudflare HTTP Event Collector API requests. This input supports the /event endpoint.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1343,6 +1367,7 @@ class CreateInputInputCloudflareHecTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1366,6 +1391,7 @@ class CreateInputInputCloudflareHec(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeCloudflareHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1377,6 +1403,7 @@ class CreateInputInputCloudflareHec(BaseModel): r"""Absolute path on which to listen for the Cloudflare HTTP Event Collector API requests. This input supports the /event endpoint.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1492,6 +1519,7 @@ class CreateInputInputCloudflareHec(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1590,6 +1618,8 @@ def serialize_model(self, handler): class CreateInputTypeZscalerHec(str, Enum): + r"""Source type identifier.""" + ZSCALER_HEC = "zscaler_hec" @@ -1672,6 +1702,7 @@ class CreateInputInputZscalerHecTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeZscalerHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -1679,6 +1710,7 @@ class CreateInputInputZscalerHecTypedDict(TypedDict): hec_api: str r"""Absolute path on which to listen for the Zscaler HTTP Event Collector API requests. This input supports the /event endpoint.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1728,6 +1760,7 @@ class CreateInputInputZscalerHecTypedDict(TypedDict): hec_acks: NotRequired[bool] r"""Whether to enable Zscaler HEC acknowledgements""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1751,6 +1784,7 @@ class CreateInputInputZscalerHec(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeZscalerHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1762,6 +1796,7 @@ class CreateInputInputZscalerHec(BaseModel): r"""Absolute path on which to listen for the Zscaler HTTP Event Collector API requests. This input supports the /event endpoint.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1870,6 +1905,7 @@ class CreateInputInputZscalerHec(BaseModel): r"""Whether to enable Zscaler HEC acknowledgements""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2024,6 +2060,7 @@ class CreateInputInputServicenowTableTypedDict(TypedDict): latest: str r"""Latest time, relative to now. Format supported: [+|-]@ (ex: -1hr, -42m, -42m@h)""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2075,6 +2112,7 @@ class CreateInputInputServicenowTableTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" credentials_secret: NotRequired[str] r"""Select or create a secret that references your credentials""" oauth_grant_type: NotRequired[CreateInputGrantType] @@ -2135,6 +2173,7 @@ class CreateInputInputServicenowTable(BaseModel): r"""Latest time, relative to now. Format supported: [+|-]@ (ex: -1hr, -42m, -42m@h)""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2240,6 +2279,7 @@ class CreateInputInputServicenowTable(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" credentials_secret: Annotated[ Optional[str], pydantic.Field(alias="credentialsSecret") @@ -2445,6 +2485,7 @@ class CreateInputInputSecurityLakeTypedDict(TypedDict): queue_name: str r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2512,6 +2553,7 @@ class CreateInputInputSecurityLakeTypedDict(TypedDict): encoding: NotRequired[str] r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -2552,6 +2594,7 @@ class CreateInputInputSecurityLake(BaseModel): r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2694,6 +2737,7 @@ class CreateInputInputSecurityLake(BaseModel): r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -2867,6 +2911,7 @@ class CreateInputInputNetflowTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2899,6 +2944,7 @@ class CreateInputInputNetflowTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2922,6 +2968,7 @@ class CreateInputInputNetflow(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2985,6 +3032,7 @@ class CreateInputInputNetflow(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3049,6 +3097,8 @@ def serialize_model(self, handler): class CreateInputTypeWizWebhook(str, Enum): + r"""Source type identifier.""" + WIZ_WEBHOOK = "wiz_webhook" @@ -3056,11 +3106,13 @@ class CreateInputInputWizWebhookTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeWizWebhook + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3112,6 +3164,7 @@ class CreateInputInputWizWebhookTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3131,6 +3184,7 @@ class CreateInputInputWizWebhook(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeWizWebhook + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -3139,6 +3193,7 @@ class CreateInputInputWizWebhook(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3254,6 +3309,7 @@ class CreateInputInputWizWebhook(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3541,6 +3597,7 @@ class CreateInputInputOpenaiTypedDict(TypedDict): text_secret: str r"""Select or create a stored API key. Visit [OpenAI's organization admin keys page](https://platform.openai.com/settings/organization/admin-keys) to create an organization admin key.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3573,6 +3630,7 @@ class CreateInputInputOpenaiTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3597,6 +3655,7 @@ class CreateInputInputOpenai(BaseModel): r"""Select or create a stored API key. Visit [OpenAI's organization admin keys page](https://platform.openai.com/settings/organization/admin-keys) to create an organization admin key.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3663,6 +3722,7 @@ class CreateInputInputOpenai(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3870,6 +3930,7 @@ class CreateInputInputWizTypedDict(TypedDict): r"""The client ID of the Wiz application""" content_config: List[CreateInputContentConfigWizTypedDict] disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3905,6 +3966,7 @@ class CreateInputInputWizTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""The client secret of the Wiz application""" text_secret: NotRequired[str] @@ -3941,6 +4003,7 @@ class CreateInputInputWiz(BaseModel): ] disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4016,6 +4079,7 @@ class CreateInputInputWiz(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""The client secret of the Wiz application""" @@ -4148,6 +4212,7 @@ class CreateInputInputJournalFilesTypedDict(TypedDict): journals: List[str] r"""The full path of discovered journals are matched against this wildcard list.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4173,6 +4238,7 @@ class CreateInputInputJournalFilesTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -4192,6 +4258,7 @@ class CreateInputInputJournalFiles(BaseModel): r"""The full path of discovered journals are matched against this wildcard list.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4235,6 +4302,7 @@ class CreateInputInputJournalFiles(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -4296,6 +4364,7 @@ class CreateInputInputRawUDPTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4322,6 +4391,7 @@ class CreateInputInputRawUDPTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -4345,6 +4415,7 @@ class CreateInputInputRawUDP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4397,6 +4468,7 @@ class CreateInputInputRawUDP(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -4477,6 +4549,7 @@ class CreateInputInputAppleUnifiedLogsTypedDict(TypedDict): predicate: str r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Common Log Types and Predicates](https://docs.cribl.io/edge/sources-apple-unified-logs/#examples) for more information.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4495,6 +4568,7 @@ class CreateInputInputAppleUnifiedLogsTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -4511,6 +4585,7 @@ class CreateInputInputAppleUnifiedLogs(BaseModel): r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Common Log Types and Predicates](https://docs.cribl.io/edge/sources-apple-unified-logs/#examples) for more information.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4543,6 +4618,7 @@ class CreateInputInputAppleUnifiedLogs(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -4625,6 +4701,7 @@ class CreateInputInputWinEventLogsTypedDict(TypedDict): log_names: List[str] r"""Enter the event logs to collect. Run \"Get-WinEvent -ListLog *\" in PowerShell to see the available logs.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4653,6 +4730,7 @@ class CreateInputInputWinEventLogsTypedDict(TypedDict): max_event_bytes: NotRequired[int] r"""The maximum number of bytes in an event before it is flushed to the pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" disable_json_rendering: NotRequired[bool] r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)""" disable_xml_rendering: NotRequired[bool] @@ -4673,6 +4751,7 @@ class CreateInputInputWinEventLogs(BaseModel): r"""Enter the event logs to collect. Run \"Get-WinEvent -ListLog *\" in PowerShell to see the available logs.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4726,6 +4805,7 @@ class CreateInputInputWinEventLogs(BaseModel): r"""The maximum number of bytes in an event before it is flushed to the pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" disable_json_rendering: Annotated[ Optional[bool], pydantic.Field(alias="disableJsonRendering") @@ -5102,6 +5182,7 @@ class CreateInputInputWefTypedDict(TypedDict): subscriptions: List[CreateInputSubscriptionTypedDict] r"""Subscriptions to events on forwarding endpoints""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5147,6 +5228,7 @@ class CreateInputInputWefTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" log_fingerprint_mismatch: NotRequired[bool] r"""Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder.""" template_environment: NotRequired[str] @@ -5179,6 +5261,7 @@ class CreateInputInputWef(BaseModel): r"""Subscriptions to events on forwarding endpoints""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5274,6 +5357,7 @@ class CreateInputInputWef(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" log_fingerprint_mismatch: Annotated[ Optional[bool], pydantic.Field(alias="logFingerprintMismatch") @@ -5526,6 +5610,7 @@ class CreateInputInputAppscopeTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeAppscope disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5564,6 +5649,7 @@ class CreateInputInputAppscopeTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" host: NotRequired[str] r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: NotRequired[float] @@ -5594,6 +5680,7 @@ class CreateInputInputAppscope(BaseModel): type: CreateInputTypeAppscope disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5678,6 +5765,7 @@ class CreateInputInputAppscope(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" host: Optional[str] = None r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -5799,6 +5887,7 @@ class CreateInputInputTCPTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5835,6 +5924,7 @@ class CreateInputInputTCPTypedDict(TypedDict): r"""Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { \"authToken\" : \"myToken\", \"fields\": { \"field1\": \"value1\", \"field2\": \"value2\" } }""" preprocess: NotRequired[PreprocessTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" auth_token: NotRequired[str] r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] @@ -5864,6 +5954,7 @@ class CreateInputInputTCP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5940,6 +6031,7 @@ class CreateInputInputTCP(BaseModel): preprocess: Optional[PreprocessType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" @@ -6048,6 +6140,7 @@ class CreateInputInputFileTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputInputFileType disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6092,6 +6185,7 @@ class CreateInputInputFileTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" path: NotRequired[str] r"""Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/).""" depth: NotRequired[float] @@ -6118,6 +6212,7 @@ class CreateInputInputFile(BaseModel): type: CreateInputInputFileType disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6197,6 +6292,7 @@ class CreateInputInputFile(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" path: Optional[str] = None r"""Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/).""" @@ -6309,6 +6405,7 @@ class CreateInputInputSyslogSyslog2TypedDict(TypedDict): tcp_port: float r"""Enter TCP port number to listen on. Not required if listening on UDP.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6360,6 +6457,7 @@ class CreateInputInputSyslogSyslog2TypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: NotRequired[bool] r"""When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise.""" template_environment: NotRequired[str] @@ -6389,6 +6487,7 @@ class CreateInputInputSyslogSyslog2(BaseModel): r"""Enter TCP port number to listen on. Not required if listening on UDP.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6501,6 +6600,7 @@ class CreateInputInputSyslogSyslog2(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: Annotated[ Optional[bool], pydantic.Field(alias="enableEnhancedProxyHeaderParsing") @@ -6605,6 +6705,7 @@ class CreateInputInputSyslogSyslog1TypedDict(TypedDict): udp_port: float r"""Enter UDP port number to listen on. Not required if listening on TCP.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6656,6 +6757,7 @@ class CreateInputInputSyslogSyslog1TypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: NotRequired[bool] r"""When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise.""" template_environment: NotRequired[str] @@ -6685,6 +6787,7 @@ class CreateInputInputSyslogSyslog1(BaseModel): r"""Enter UDP port number to listen on. Not required if listening on TCP.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6797,6 +6900,7 @@ class CreateInputInputSyslogSyslog1(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: Annotated[ Optional[bool], pydantic.Field(alias="enableEnhancedProxyHeaderParsing") @@ -6924,6 +7028,7 @@ class CreateInputInputSqsTypedDict(TypedDict): queue_type: CreateInputQueueType r"""The queue type used (or created)""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6969,6 +7074,7 @@ class CreateInputInputSqsTypedDict(TypedDict): poll_timeout: NotRequired[float] r"""How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -7011,6 +7117,7 @@ class CreateInputInputSqs(BaseModel): r"""The queue type used (or created)""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7103,6 +7210,7 @@ class CreateInputInputSqs(BaseModel): r"""How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -7259,6 +7367,7 @@ class CreateInputInputModelDrivenTelemetryTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7280,6 +7389,7 @@ class CreateInputInputModelDrivenTelemetryTypedDict(TypedDict): shutdown_timeout_ms: NotRequired[float] r"""Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -7303,6 +7413,7 @@ class CreateInputInputModelDrivenTelemetry(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7342,6 +7453,7 @@ class CreateInputInputModelDrivenTelemetry(BaseModel): r"""Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -7401,6 +7513,8 @@ def serialize_model(self, handler): class CreateInputTypeOpenTelemetry(str, Enum): + r"""Source type identifier.""" + OPEN_TELEMETRY = "open_telemetry" @@ -7536,11 +7650,13 @@ class CreateInputInputOpenTelemetryTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeOpenTelemetry + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7588,6 +7704,7 @@ class CreateInputInputOpenTelemetryTypedDict(TypedDict): max_active_cxn: NotRequired[float] r"""Maximum number of active connections allowed per Worker Process. Use 0 for unlimited.""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -7617,6 +7734,7 @@ class CreateInputInputOpenTelemetry(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeOpenTelemetry + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -7625,6 +7743,7 @@ class CreateInputInputOpenTelemetry(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7729,6 +7848,7 @@ class CreateInputInputOpenTelemetry(BaseModel): r"""Maximum number of active connections allowed per Worker Process. Use 0 for unlimited.""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -7982,6 +8102,7 @@ class CreateInputInputSnmpTypedDict(TypedDict): port: float r"""UDP port to receive SNMP traps on. Defaults to 162.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8010,6 +8131,7 @@ class CreateInputInputSnmpTypedDict(TypedDict): best_effort_parsing: NotRequired[bool] r"""If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -8033,6 +8155,7 @@ class CreateInputInputSnmp(BaseModel): r"""UDP port to receive SNMP traps on. Defaults to 162.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8090,6 +8213,7 @@ class CreateInputInputSnmp(BaseModel): r"""If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -8162,6 +8286,7 @@ class CreateInputInputS3InventoryTypedDict(TypedDict): queue_name: str r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8233,6 +8358,7 @@ class CreateInputInputS3InventoryTypedDict(TypedDict): validate_inventory_files: NotRequired[bool] r"""If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -8273,6 +8399,7 @@ class CreateInputInputS3Inventory(BaseModel): r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8427,6 +8554,7 @@ class CreateInputInputS3Inventory(BaseModel): r"""If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -8600,6 +8728,7 @@ class CreateInputInputS3TypedDict(TypedDict): queue_name: str r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8669,6 +8798,7 @@ class CreateInputInputS3TypedDict(TypedDict): tag_after_processing: NotRequired[bool] r"""Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -8708,6 +8838,7 @@ class CreateInputInputS3(BaseModel): r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8855,6 +8986,7 @@ class CreateInputInputS3(BaseModel): r"""Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -9013,6 +9145,7 @@ class CreateInputInputMetricsTypedDict(TypedDict): host: str r"""Address to bind on. For IPv4 (all addresses), use the default '0.0.0.0'. For IPv6, enter '::' (all addresses) or specify an IP address.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9042,6 +9175,7 @@ class CreateInputInputMetricsTypedDict(TypedDict): udp_socket_rx_buf_size: NotRequired[float] r"""Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9064,6 +9198,7 @@ class CreateInputInputMetrics(BaseModel): r"""Address to bind on. For IPv4 (all addresses), use the default '0.0.0.0'. For IPv6, enter '::' (all addresses) or specify an IP address.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9119,6 +9254,7 @@ class CreateInputInputMetrics(BaseModel): r"""Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -9196,6 +9332,7 @@ class CreateInputInputCriblmetricsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeCriblmetrics disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9216,6 +9353,7 @@ class CreateInputInputCriblmetricsTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9229,6 +9367,7 @@ class CreateInputInputCriblmetrics(BaseModel): type: CreateInputTypeCriblmetrics disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9264,6 +9403,7 @@ class CreateInputInputCriblmetrics(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -9353,6 +9493,7 @@ class CreateInputInputKinesisTypedDict(TypedDict): region: str r"""Region where the Kinesis stream is located""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9404,6 +9545,7 @@ class CreateInputInputKinesisTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -9444,6 +9586,7 @@ class CreateInputInputKinesis(BaseModel): r"""Region where the Kinesis stream is located""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9559,6 +9702,7 @@ class CreateInputInputKinesis(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -9718,6 +9862,8 @@ def serialize_model(self, handler): class CreateInputTypeHTTPRaw(str, Enum): + r"""Source type identifier.""" + HTTP_RAW = "http_raw" @@ -9725,11 +9871,13 @@ class CreateInputInputHTTPRawTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeHTTPRaw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9781,6 +9929,7 @@ class CreateInputInputHTTPRawTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9800,6 +9949,7 @@ class CreateInputInputHTTPRaw(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeHTTPRaw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -9808,6 +9958,7 @@ class CreateInputInputHTTPRaw(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9923,6 +10074,7 @@ class CreateInputInputHTTPRaw(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10031,6 +10183,7 @@ class CreateInputInputDatagenTypedDict(TypedDict): type: CreateInputTypeDatagen samples: List[CreateInputSampleTypedDict] disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10047,6 +10200,7 @@ class CreateInputInputDatagenTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10062,6 +10216,7 @@ class CreateInputInputDatagen(BaseModel): samples: List[CreateInputSample] disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10089,6 +10244,7 @@ class CreateInputInputDatagen(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10133,6 +10289,8 @@ def serialize_model(self, handler): class CreateInputTypeDatadogAgent(str, Enum): + r"""Source type identifier.""" + DATADOG_AGENT = "datadog_agent" @@ -10173,11 +10331,13 @@ class CreateInputInputDatadogAgentTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeDatadogAgent + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10220,6 +10380,7 @@ class CreateInputInputDatadogAgentTypedDict(TypedDict): r"""Fields to add to events from this input""" proxy_mode: NotRequired[CreateInputProxyModeDatadogAgentTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10235,6 +10396,7 @@ class CreateInputInputDatadogAgent(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeDatadogAgent + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -10243,6 +10405,7 @@ class CreateInputInputDatadogAgent(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10336,6 +10499,7 @@ class CreateInputInputDatadogAgent(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10416,6 +10580,7 @@ class CreateInputInputCrowdstrikeTypedDict(TypedDict): queue_name: str r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10479,6 +10644,7 @@ class CreateInputInputCrowdstrikeTypedDict(TypedDict): encoding: NotRequired[str] r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -10519,6 +10685,7 @@ class CreateInputInputCrowdstrike(BaseModel): r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10651,6 +10818,7 @@ class CreateInputInputCrowdstrike(BaseModel): r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -11263,6 +11431,7 @@ class CreateInputInputWindowsMetricsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeWindowsMetrics disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11287,6 +11456,7 @@ class CreateInputInputWindowsMetricsTypedDict(TypedDict): disable_native_module: NotRequired[bool] r"""Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab)""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -11300,6 +11470,7 @@ class CreateInputInputWindowsMetrics(BaseModel): type: CreateInputTypeWindowsMetrics disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11343,6 +11514,7 @@ class CreateInputInputWindowsMetrics(BaseModel): r"""Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab)""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11401,6 +11573,7 @@ class CreateInputInputKubeEventsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeKubeEvents disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11419,6 +11592,7 @@ class CreateInputInputKubeEventsTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -11432,6 +11606,7 @@ class CreateInputInputKubeEvents(BaseModel): type: CreateInputTypeKubeEvents disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11462,6 +11637,7 @@ class CreateInputInputKubeEvents(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11546,6 +11722,7 @@ class CreateInputInputKubeLogsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeKubeLogs disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11579,6 +11756,7 @@ class CreateInputInputKubeLogsTypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -11592,6 +11770,7 @@ class CreateInputInputKubeLogs(BaseModel): type: CreateInputTypeKubeLogs disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11655,6 +11834,7 @@ class CreateInputInputKubeLogs(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11783,6 +11963,7 @@ class CreateInputInputKubeMetricsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeKubeMetrics disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11808,6 +11989,7 @@ class CreateInputInputKubeMetricsTypedDict(TypedDict): r"""Fields to add to events from this input""" persistence: NotRequired[CreateInputPersistenceKubeMetricsTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -11821,6 +12003,7 @@ class CreateInputInputKubeMetrics(BaseModel): type: CreateInputTypeKubeMetrics disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11866,6 +12049,7 @@ class CreateInputInputKubeMetrics(BaseModel): persistence: Optional[CreateInputPersistenceKubeMetrics] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/createinput_request.py b/src/cribl_control_plane/models/createinput_request.py index d4a1a7e0a..a15bebc20 100644 --- a/src/cribl_control_plane/models/createinput_request.py +++ b/src/cribl_control_plane/models/createinput_request.py @@ -368,6 +368,7 @@ class CreateInputInputSystemStateTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeSystemState disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -392,6 +393,7 @@ class CreateInputInputSystemStateTypedDict(TypedDict): disable_native_last_log_module: NotRequired[bool] r"""Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab)""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -405,6 +407,7 @@ class CreateInputInputSystemState(BaseModel): type: CreateInputTypeSystemState disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -449,6 +452,7 @@ class CreateInputInputSystemState(BaseModel): r"""Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab)""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1078,6 +1082,7 @@ class CreateInputInputSystemMetricsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeSystemMetrics disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1101,6 +1106,7 @@ class CreateInputInputSystemMetricsTypedDict(TypedDict): r"""Fields to add to events from this input""" persistence: NotRequired[CreateInputPersistenceSystemMetricsTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1114,6 +1120,7 @@ class CreateInputInputSystemMetrics(BaseModel): type: CreateInputTypeSystemMetrics disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1154,6 +1161,7 @@ class CreateInputInputSystemMetrics(BaseModel): persistence: Optional[CreateInputPersistenceSystemMetrics] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1216,6 +1224,7 @@ class CreateInputInputTcpjsonTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1249,6 +1258,7 @@ class CreateInputInputTcpjsonTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" auth_token: NotRequired[str] r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" text_secret: NotRequired[str] @@ -1276,6 +1286,7 @@ class CreateInputInputTcpjson(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1346,6 +1357,7 @@ class CreateInputInputTcpjson(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" @@ -1428,6 +1440,8 @@ def serialize_model(self, handler): class CreateInputTypeCriblLakeHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_LAKE_HTTP = "cribl_lake_http" @@ -1544,11 +1558,13 @@ class CreateInputInputCriblLakeHTTPTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeCriblLakeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1598,6 +1614,7 @@ class CreateInputInputCriblLakeHTTPTypedDict(TypedDict): r"""Fields to add to events from this input""" auth_tokens_ext: NotRequired[List[CreateInputAuthTokensExtTypedDict]] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1621,6 +1638,7 @@ class CreateInputInputCriblLakeHTTP(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeCriblLakeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1629,6 +1647,7 @@ class CreateInputInputCriblLakeHTTP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1737,6 +1756,7 @@ class CreateInputInputCriblLakeHTTP(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1835,6 +1855,8 @@ def serialize_model(self, handler): class CreateInputTypeCriblHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_HTTP = "cribl_http" @@ -1842,11 +1864,13 @@ class CreateInputInputCriblHTTPTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeCriblHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1888,6 +1912,7 @@ class CreateInputInputCriblHTTPTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1903,6 +1928,7 @@ class CreateInputInputCriblHTTP(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeCriblHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1911,6 +1937,7 @@ class CreateInputInputCriblHTTP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2000,6 +2027,7 @@ class CreateInputInputCriblHTTP(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2081,6 +2109,7 @@ class CreateInputInputCriblTCPTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2112,6 +2141,7 @@ class CreateInputInputCriblTCPTypedDict(TypedDict): auth_tokens: NotRequired[List[AuthTokenConfInputCriblTCPTypedDict]] r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2135,6 +2165,7 @@ class CreateInputInputCriblTCP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2199,6 +2230,7 @@ class CreateInputInputCriblTCP(BaseModel): r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2271,6 +2303,7 @@ class CreateInputInputCriblTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeCribl disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2288,6 +2321,7 @@ class CreateInputInputCriblTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2301,6 +2335,7 @@ class CreateInputInputCribl(BaseModel): type: CreateInputTypeCribl disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2330,6 +2365,7 @@ class CreateInputInputCribl(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2387,6 +2423,7 @@ class CreateInputInputGooglePubsubTypedDict(TypedDict): subscription_name: str r"""ID of the subscription to use when receiving events. When Monitor subscription is enabled, the fully qualified subscription name must be entered. Example: projects/myProject/subscriptions/mySubscription""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2423,6 +2460,7 @@ class CreateInputInputGooglePubsubTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" ordered_delivery: NotRequired[bool] r"""Receive events in the order they were added to the queue. The process sending events must have ordering enabled.""" template_environment: NotRequired[str] @@ -2450,6 +2488,7 @@ class CreateInputInputGooglePubsub(BaseModel): r"""ID of the subscription to use when receiving events. When Monitor subscription is enabled, the fully qualified subscription name must be entered. Example: projects/myProject/subscriptions/mySubscription""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2518,6 +2557,7 @@ class CreateInputInputGooglePubsub(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" ordered_delivery: Annotated[ Optional[bool], pydantic.Field(alias="orderedDelivery") @@ -2605,6 +2645,8 @@ def serialize_model(self, handler): class CreateInputTypeFirehose(str, Enum): + r"""Source type identifier.""" + FIREHOSE = "firehose" @@ -2612,11 +2654,13 @@ class CreateInputInputFirehoseTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeFirehose + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2658,6 +2702,7 @@ class CreateInputInputFirehoseTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2675,6 +2720,7 @@ class CreateInputInputFirehose(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeFirehose + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -2683,6 +2729,7 @@ class CreateInputInputFirehose(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2772,6 +2819,7 @@ class CreateInputInputFirehose(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2890,6 +2938,7 @@ class CreateInputInputExecTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" interval: NotRequired[float] r"""Interval between command executions in seconds.""" cron_schedule: NotRequired[str] @@ -2958,6 +3007,7 @@ class CreateInputInputExec(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" interval: Optional[float] = None r"""Interval between command executions in seconds.""" @@ -3372,6 +3422,7 @@ class CreateInputInputEventhubAmqpTypedDict(TypedDict): r"""The consumer group this instance belongs to. Default is '$Default'.""" checkpointing: CreateInputCheckpointingTypedDict disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3413,6 +3464,7 @@ class CreateInputInputEventhubAmqpTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3431,6 +3483,7 @@ class CreateInputInputEventhubAmqp(BaseModel): checkpointing: CreateInputCheckpointing disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3514,6 +3567,7 @@ class CreateInputInputEventhubAmqp(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3583,6 +3637,7 @@ class CreateInputInputEventhubTypedDict(TypedDict): topics: List[str] r"""The name of the Event Hub (Kafka topic) to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Event Hubs Source to only a single topic.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3646,6 +3701,7 @@ class CreateInputInputEventhubTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3671,6 +3727,7 @@ class CreateInputInputEventhub(BaseModel): r"""The name of the Event Hub (Kafka topic) to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Event Hubs Source to only a single topic.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3794,6 +3851,7 @@ class CreateInputInputEventhub(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3914,6 +3972,7 @@ class CreateInputInputMicrosoftGraphTypedDict(TypedDict): interval: int r"""How often (in minutes) to run the report. Must divide evenly into 60 minutes to create a predictable schedule, or Save will fail.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3959,6 +4018,7 @@ class CreateInputInputMicrosoftGraphTypedDict(TypedDict): r"""Log Level (verbosity) for collection runtime behavior.""" retry_rules: NotRequired[RetryRulesTypeCodesEnableHeaderTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""client_secret to pass in the OAuth request parameter.""" tenant_id: NotRequired[str] @@ -4001,6 +4061,7 @@ class CreateInputInputMicrosoftGraph(BaseModel): r"""How often (in minutes) to run the report. Must divide evenly into 60 minutes to create a predictable schedule, or Save will fail.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4091,6 +4152,7 @@ class CreateInputInputMicrosoftGraph(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""client_secret to pass in the OAuth request parameter.""" @@ -4262,6 +4324,7 @@ class CreateInputInputOffice365MsgTraceTypedDict(TypedDict): interval: int r"""How often (in minutes) to run the report. Must divide evenly into 60 minutes to create a predictable schedule, or Save will fail.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4305,6 +4368,7 @@ class CreateInputInputOffice365MsgTraceTypedDict(TypedDict): r"""Log Level (verbosity) for collection runtime behavior.""" retry_rules: NotRequired[RetryRulesTypeCodesEnableHeaderTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] r"""Username to run Message Trace API call.""" password: NotRequired[str] @@ -4353,6 +4417,7 @@ class CreateInputInputOffice365MsgTrace(BaseModel): r"""How often (in minutes) to run the report. Must divide evenly into 60 minutes to create a predictable schedule, or Save will fail.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4440,6 +4505,7 @@ class CreateInputInputOffice365MsgTrace(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None r"""Username to run Message Trace API call.""" @@ -4667,6 +4733,7 @@ class CreateInputInputOffice365ServiceTypedDict(TypedDict): app_id: str r"""Microsoft 365 Azure Application ID""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4702,6 +4769,7 @@ class CreateInputInputOffice365ServiceTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""Microsoft 365 Azure client secret""" text_secret: NotRequired[str] @@ -4733,6 +4801,7 @@ class CreateInputInputOffice365Service(BaseModel): r"""Microsoft 365 Azure Application ID""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4805,6 +4874,7 @@ class CreateInputInputOffice365Service(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""Microsoft 365 Azure client secret""" @@ -4978,6 +5048,7 @@ class CreateInputInputOffice365MgmtTypedDict(TypedDict): app_id: str r"""Microsoft 365 Azure Application ID""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5015,6 +5086,7 @@ class CreateInputInputOffice365MgmtTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""Microsoft 365 Azure client secret""" text_secret: NotRequired[str] @@ -5051,6 +5123,7 @@ class CreateInputInputOffice365Mgmt(BaseModel): r"""Microsoft 365 Azure Application ID""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5128,6 +5201,7 @@ class CreateInputInputOffice365Mgmt(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""Microsoft 365 Azure client secret""" @@ -5361,6 +5435,7 @@ class CreateInputInputEdgePrometheusTypedDict(TypedDict): interval: float r"""How often in seconds to scrape targets for metrics.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5386,6 +5461,7 @@ class CreateInputInputEdgePrometheusTypedDict(TypedDict): auth_type: NotRequired[CreateInputAuthenticationMethodEdgePrometheus] r"""Enter credentials directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" targets: NotRequired[List[CreateInputTargetTypedDict]] record_type: NotRequired[RecordTypeOptions] r"""DNS record type to resolve""" @@ -5491,6 +5567,7 @@ class CreateInputInputEdgePrometheus(BaseModel): r"""How often in seconds to scrape targets for metrics.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5539,6 +5616,7 @@ class CreateInputInputEdgePrometheus(BaseModel): r"""Enter credentials directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" targets: Optional[List[CreateInputTarget]] = None @@ -5888,6 +5966,7 @@ class CreateInputInputPrometheusTypedDict(TypedDict): log_level: LogLevelOptions r"""Collector runtime log level""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5926,6 +6005,7 @@ class CreateInputInputPrometheusTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsSasl] r"""Enter credentials directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" target_list: NotRequired[List[str]] 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'.""" record_type: NotRequired[RecordTypeOptions] @@ -6023,6 +6103,7 @@ class CreateInputInputPrometheus(BaseModel): r"""Collector runtime log level""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6100,6 +6181,7 @@ class CreateInputInputPrometheus(BaseModel): r"""Enter credentials directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" target_list: Annotated[Optional[List[str]], pydantic.Field(alias="targetList")] = ( None @@ -6424,6 +6506,8 @@ def serialize_model(self, handler): class CreateInputTypePrometheusRw(str, Enum): + r"""Source type identifier.""" + PROMETHEUS_RW = "prometheus_rw" @@ -6431,6 +6515,7 @@ class CreateInputInputPrometheusRwTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypePrometheusRw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -6438,6 +6523,7 @@ class CreateInputInputPrometheusRwTypedDict(TypedDict): prometheus_api: str r"""Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://:/write.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6479,6 +6565,7 @@ class CreateInputInputPrometheusRwTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -6506,6 +6593,7 @@ class CreateInputInputPrometheusRw(BaseModel): r"""Unique ID for this input""" type: CreateInputTypePrometheusRw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -6517,6 +6605,7 @@ class CreateInputInputPrometheusRw(BaseModel): r"""Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://:/write.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6607,6 +6696,7 @@ class CreateInputInputPrometheusRw(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -6717,6 +6807,8 @@ def serialize_model(self, handler): class CreateInputTypeLoki(str, Enum): + r"""Source type identifier.""" + LOKI = "loki" @@ -6724,6 +6816,7 @@ class CreateInputInputLokiTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeLoki + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -6731,6 +6824,7 @@ class CreateInputInputLokiTypedDict(TypedDict): loki_api: str r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6772,6 +6866,7 @@ class CreateInputInputLokiTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -6797,6 +6892,7 @@ class CreateInputInputLoki(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeLoki + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -6808,6 +6904,7 @@ class CreateInputInputLoki(BaseModel): r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6897,6 +6994,7 @@ class CreateInputInputLoki(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -7001,6 +7099,8 @@ def serialize_model(self, handler): class CreateInputInputGrafanaType2(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7147,6 +7247,7 @@ class CreateInputInputGrafanaGrafana2TypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputInputGrafanaType2 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -7154,6 +7255,7 @@ class CreateInputInputGrafanaGrafana2TypedDict(TypedDict): loki_api: str r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7197,6 +7299,7 @@ class CreateInputInputGrafanaGrafana2TypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -7216,6 +7319,7 @@ class CreateInputInputGrafanaGrafana2(BaseModel): r"""Unique ID for this input""" type: CreateInputInputGrafanaType2 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -7227,6 +7331,7 @@ class CreateInputInputGrafanaGrafana2(BaseModel): r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7324,6 +7429,7 @@ class CreateInputInputGrafanaGrafana2(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -7407,6 +7513,8 @@ def serialize_model(self, handler): class CreateInputInputGrafanaType1(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7553,6 +7661,7 @@ class CreateInputInputGrafanaGrafana1TypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputInputGrafanaType1 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -7560,6 +7669,7 @@ class CreateInputInputGrafanaGrafana1TypedDict(TypedDict): prometheus_api: str r"""Absolute path on which to listen for Grafana Agent's Remote Write requests. Defaults to /api/prom/push, which will expand as: 'http://:/api/prom/push'. Either this field or 'Logs API endpoint' must be configured.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7603,6 +7713,7 @@ class CreateInputInputGrafanaGrafana1TypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -7622,6 +7733,7 @@ class CreateInputInputGrafanaGrafana1(BaseModel): r"""Unique ID for this input""" type: CreateInputInputGrafanaType1 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -7633,6 +7745,7 @@ class CreateInputInputGrafanaGrafana1(BaseModel): r"""Absolute path on which to listen for Grafana Agent's Remote Write requests. Defaults to /api/prom/push, which will expand as: 'http://:/api/prom/push'. Either this field or 'Logs API endpoint' must be configured.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7728,6 +7841,7 @@ class CreateInputInputGrafanaGrafana1(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -7838,6 +7952,7 @@ class CreateInputInputConfluentCloudTypedDict(TypedDict): topics: List[str] r"""Topic to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Kafka Source to a single topic only.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7904,6 +8019,7 @@ class CreateInputInputConfluentCloudTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -7929,6 +8045,7 @@ class CreateInputInputConfluentCloud(BaseModel): r"""Topic to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Kafka Source to a single topic only.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8056,6 +8173,7 @@ class CreateInputInputConfluentCloud(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -8139,6 +8257,8 @@ def serialize_model(self, handler): class CreateInputTypeElastic(str, Enum): + r"""Source type identifier.""" + ELASTIC = "elastic" @@ -8275,6 +8395,7 @@ class CreateInputInputElasticTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeElastic + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -8282,6 +8403,7 @@ class CreateInputInputElasticTypedDict(TypedDict): elastic_api: str r"""Absolute path on which to listen for Elasticsearch API requests. Defaults to /. _bulk will be appended automatically. For example, /myPath becomes /myPath/_bulk. Requests can then be made to either /myPath/_bulk or /myPath//_bulk. Other entries are faked as success.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8327,6 +8449,7 @@ class CreateInputInputElasticTypedDict(TypedDict): r"""Fields to add to events from this input""" proxy_mode: NotRequired[CreateInputProxyModeElasticTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -8354,6 +8477,7 @@ class CreateInputInputElastic(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeElastic + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -8365,6 +8489,7 @@ class CreateInputInputElastic(BaseModel): r"""Absolute path on which to listen for Elasticsearch API requests. Defaults to /. _bulk will be appended automatically. For example, /myPath becomes /myPath/_bulk. Requests can then be made to either /myPath/_bulk or /myPath//_bulk. Other entries are faked as success.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8468,6 +8593,7 @@ class CreateInputInputElastic(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -8604,6 +8730,7 @@ class CreateInputInputAzureBlobTypedDict(TypedDict): queue_name: str r"""The storage account queue name blob notifications will be read from. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myQueue-${C.vars.myVar}`""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8641,6 +8768,7 @@ class CreateInputInputAzureBlobTypedDict(TypedDict): r"""The maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified.""" auth_type: NotRequired[AuthenticationMethodOptions] description: NotRequired[str] + r"""Optional description for this configuration.""" connection_string: NotRequired[str] r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" text_secret: NotRequired[str] @@ -8686,6 +8814,7 @@ class CreateInputInputAzureBlob(BaseModel): r"""The storage account queue name blob notifications will be read from. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myQueue-${C.vars.myVar}`""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8761,6 +8890,7 @@ class CreateInputInputAzureBlob(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" connection_string: Annotated[ Optional[str], pydantic.Field(alias="connectionString") @@ -8904,6 +9034,8 @@ def serialize_model(self, handler): class CreateInputTypeSplunkHec(str, Enum): + r"""Source type identifier.""" + SPLUNK_HEC = "splunk_hec" @@ -8915,6 +9047,7 @@ class CreateInputAuthTokenSplunkHecTypedDict(TypedDict): token_secret: NotRequired[str] r"""Select or create a stored text secret""" enabled: NotRequired[bool] + r"""If true, the token is active and can be used for authentication.""" description: NotRequired[str] r"""Optional token description""" allowed_indexes_at_token: NotRequired[List[str]] @@ -8937,6 +9070,7 @@ class CreateInputAuthTokenSplunkHec(BaseModel): r"""Select or create a stored text secret""" enabled: Optional[bool] = None + r"""If true, the token is active and can be used for authentication.""" description: Optional[str] = None r"""Optional token description""" @@ -8988,6 +9122,7 @@ class CreateInputInputSplunkHecTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeSplunkHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -8995,6 +9130,7 @@ class CreateInputInputSplunkHecTypedDict(TypedDict): splunk_hec_api: str r"""Absolute path on which to listen for the Splunk HTTP Event Collector API requests. This input supports the /event, /raw and /s2s endpoints.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9054,6 +9190,7 @@ class CreateInputInputSplunkHecTypedDict(TypedDict): emit_token_metrics: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9071,6 +9208,7 @@ class CreateInputInputSplunkHec(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeSplunkHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -9082,6 +9220,7 @@ class CreateInputInputSplunkHec(BaseModel): r"""Absolute path on which to listen for the Splunk HTTP Event Collector API requests. This input supports the /event, /raw and /s2s endpoints.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9217,6 +9356,7 @@ class CreateInputInputSplunkHec(BaseModel): r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -9373,6 +9513,7 @@ class CreateInputInputSplunkSearchTypedDict(TypedDict): auth_type: CreateInputAuthenticationTypeSplunkSearch r"""Splunk Search authentication type""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9422,6 +9563,7 @@ class CreateInputInputSplunkSearchTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -9477,6 +9619,7 @@ class CreateInputInputSplunkSearch(BaseModel): r"""Splunk Search authentication type""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9579,6 +9722,7 @@ class CreateInputInputSplunkSearch(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -9784,6 +9928,7 @@ class CreateInputInputSplunkTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9821,6 +9966,7 @@ class CreateInputInputSplunkTypedDict(TypedDict): max_s2_sversion: NotRequired[CreateInputMaxS2SVersion] r"""The highest S2S protocol version to advertise during handshake""" description: NotRequired[str] + r"""Optional description for this configuration.""" use_fwd_timezone: NotRequired[bool] r"""Event Breakers will determine events' time zone from UF-provided metadata, when TZ can't be inferred from the raw event""" drop_control_fields: NotRequired[bool] @@ -9856,6 +10002,7 @@ class CreateInputInputSplunk(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9935,6 +10082,7 @@ class CreateInputInputSplunk(BaseModel): r"""The highest S2S protocol version to advertise during handshake""" description: Optional[str] = None + r"""Optional description for this configuration.""" use_fwd_timezone: Annotated[ Optional[bool], pydantic.Field(alias="useFwdTimezone") @@ -10054,6 +10202,8 @@ def serialize_model(self, handler): class CreateInputTypeHTTP(str, Enum): + r"""Source type identifier.""" + HTTP = "http" @@ -10061,11 +10211,13 @@ class CreateInputInputHTTPTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputTypeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10116,6 +10268,7 @@ class CreateInputInputHTTPTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10139,6 +10292,7 @@ class CreateInputInputHTTP(BaseModel): r"""Unique ID for this input""" type: CreateInputTypeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -10147,6 +10301,7 @@ class CreateInputInputHTTP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10257,6 +10412,7 @@ class CreateInputInputHTTP(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10371,6 +10527,7 @@ class CreateInputInputMskTypedDict(TypedDict): region: str r"""Region where the MSK cluster is located""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10450,6 +10607,7 @@ class CreateInputInputMskTypedDict(TypedDict): max_socket_errors: NotRequired[float] r"""Maximum number of network errors before the consumer re-creates a socket""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -10499,6 +10657,7 @@ class CreateInputInputMsk(BaseModel): r"""Region where the MSK cluster is located""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10660,6 +10819,7 @@ class CreateInputInputMsk(BaseModel): r"""Maximum number of network errors before the consumer re-creates a socket""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -10814,6 +10974,7 @@ class CreateInputInputKafkaTypedDict(TypedDict): topics: List[str] r"""Topic to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Kafka Source to a single topic only.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10880,6 +11041,7 @@ class CreateInputInputKafkaTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10905,6 +11067,7 @@ class CreateInputInputKafka(BaseModel): r"""Topic to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Kafka Source to a single topic only.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11032,6 +11195,7 @@ class CreateInputInputKafka(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11123,6 +11287,7 @@ class CreateInputInputCollectionTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputTypeCollection disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process results""" send_to_routes: NotRequired[bool] @@ -11160,6 +11325,7 @@ class CreateInputInputCollection(BaseModel): type: CreateInputTypeCollection disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process results""" diff --git a/src/cribl_control_plane/models/createinputsystembypack_logged_in_users.py b/src/cribl_control_plane/models/createinputsystembypack_logged_in_users.py index 2c4016d68..b38f2f4fc 100644 --- a/src/cribl_control_plane/models/createinputsystembypack_logged_in_users.py +++ b/src/cribl_control_plane/models/createinputsystembypack_logged_in_users.py @@ -90,6 +90,7 @@ class CreateInputSystemByPackInputOktaTypedDict(TypedDict): text_secret: str r"""Select or create a stored text secret""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -127,6 +128,7 @@ class CreateInputSystemByPackInputOktaTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -148,6 +150,7 @@ class CreateInputSystemByPackInputOkta(BaseModel): r"""Select or create a stored text secret""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -217,6 +220,7 @@ class CreateInputSystemByPackInputOkta(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -390,6 +394,7 @@ class CreateInputSystemByPackInputAnthropicComplianceTypedDict(TypedDict): CreateInputSystemByPackContentConfigAnthropicComplianceTypedDict ] disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -418,6 +423,7 @@ class CreateInputSystemByPackInputAnthropicComplianceTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -439,6 +445,7 @@ class CreateInputSystemByPackInputAnthropicCompliance(BaseModel): ] disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -495,6 +502,7 @@ class CreateInputSystemByPackInputAnthropicCompliance(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -573,6 +581,7 @@ class CreateInputSystemByPackInputOpenaiComplianceLogsTypedDict(TypedDict): account_type: CreateInputSystemByPackAccountType cron_schedule: str disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -617,6 +626,7 @@ class CreateInputSystemByPackInputOpenaiComplianceLogsTypedDict(TypedDict): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" workspace_id: NotRequired[str] r"""The ID of the ChatGPT workspace to collect logs from (UUID format)""" workspace_event_types: NotRequired[List[str]] @@ -658,6 +668,7 @@ class CreateInputSystemByPackInputOpenaiComplianceLogs(BaseModel): cron_schedule: Annotated[str, pydantic.Field(alias="cronSchedule")] disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -747,6 +758,7 @@ class CreateInputSystemByPackInputOpenaiComplianceLogs(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" workspace_id: Annotated[Optional[str], pydantic.Field(alias="workspaceId")] = None r"""The ID of the ChatGPT workspace to collect logs from (UUID format)""" @@ -876,6 +888,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeSysdigHec(str, Enum): + r"""Source type identifier.""" + SYSDIG_HEC = "sysdig_hec" @@ -883,6 +897,7 @@ class CreateInputSystemByPackInputSysdigHecTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeSysdigHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -890,6 +905,7 @@ class CreateInputSystemByPackInputSysdigHecTypedDict(TypedDict): hec_api: str r"""Absolute path on which to listen for the Sysdig HTTP Event Collector API requests. This input supports the /event and /raw endpoints.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -937,6 +953,7 @@ class CreateInputSystemByPackInputSysdigHecTypedDict(TypedDict): emit_token_metrics: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -960,6 +977,7 @@ class CreateInputSystemByPackInputSysdigHec(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeSysdigHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -971,6 +989,7 @@ class CreateInputSystemByPackInputSysdigHec(BaseModel): r"""Absolute path on which to listen for the Sysdig HTTP Event Collector API requests. This input supports the /event and /raw endpoints.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1076,6 +1095,7 @@ class CreateInputSystemByPackInputSysdigHec(BaseModel): r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1172,6 +1192,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeCloudflareHec(str, Enum): + r"""Source type identifier.""" + CLOUDFLARE_HEC = "cloudflare_hec" @@ -1293,6 +1315,7 @@ class CreateInputSystemByPackInputCloudflareHecTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeCloudflareHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -1300,6 +1323,7 @@ class CreateInputSystemByPackInputCloudflareHecTypedDict(TypedDict): hec_api: str r"""Absolute path on which to listen for the Cloudflare HTTP Event Collector API requests. This input supports the /event endpoint.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1351,6 +1375,7 @@ class CreateInputSystemByPackInputCloudflareHecTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1374,6 +1399,7 @@ class CreateInputSystemByPackInputCloudflareHec(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeCloudflareHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1385,6 +1411,7 @@ class CreateInputSystemByPackInputCloudflareHec(BaseModel): r"""Absolute path on which to listen for the Cloudflare HTTP Event Collector API requests. This input supports the /event endpoint.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1500,6 +1527,7 @@ class CreateInputSystemByPackInputCloudflareHec(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1598,6 +1626,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeZscalerHec(str, Enum): + r"""Source type identifier.""" + ZSCALER_HEC = "zscaler_hec" @@ -1680,6 +1710,7 @@ class CreateInputSystemByPackInputZscalerHecTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeZscalerHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -1687,6 +1718,7 @@ class CreateInputSystemByPackInputZscalerHecTypedDict(TypedDict): hec_api: str r"""Absolute path on which to listen for the Zscaler HTTP Event Collector API requests. This input supports the /event endpoint.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1736,6 +1768,7 @@ class CreateInputSystemByPackInputZscalerHecTypedDict(TypedDict): hec_acks: NotRequired[bool] r"""Whether to enable Zscaler HEC acknowledgements""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1759,6 +1792,7 @@ class CreateInputSystemByPackInputZscalerHec(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeZscalerHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1770,6 +1804,7 @@ class CreateInputSystemByPackInputZscalerHec(BaseModel): r"""Absolute path on which to listen for the Zscaler HTTP Event Collector API requests. This input supports the /event endpoint.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1878,6 +1913,7 @@ class CreateInputSystemByPackInputZscalerHec(BaseModel): r"""Whether to enable Zscaler HEC acknowledgements""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2032,6 +2068,7 @@ class CreateInputSystemByPackInputServicenowTableTypedDict(TypedDict): latest: str r"""Latest time, relative to now. Format supported: [+|-]@ (ex: -1hr, -42m, -42m@h)""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2083,6 +2120,7 @@ class CreateInputSystemByPackInputServicenowTableTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" credentials_secret: NotRequired[str] r"""Select or create a secret that references your credentials""" oauth_grant_type: NotRequired[CreateInputSystemByPackGrantType] @@ -2145,6 +2183,7 @@ class CreateInputSystemByPackInputServicenowTable(BaseModel): r"""Latest time, relative to now. Format supported: [+|-]@ (ex: -1hr, -42m, -42m@h)""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2251,6 +2290,7 @@ class CreateInputSystemByPackInputServicenowTable(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" credentials_secret: Annotated[ Optional[str], pydantic.Field(alias="credentialsSecret") @@ -2459,6 +2499,7 @@ class CreateInputSystemByPackInputSecurityLakeTypedDict(TypedDict): queue_name: str r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2526,6 +2567,7 @@ class CreateInputSystemByPackInputSecurityLakeTypedDict(TypedDict): encoding: NotRequired[str] r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -2566,6 +2608,7 @@ class CreateInputSystemByPackInputSecurityLake(BaseModel): r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2708,6 +2751,7 @@ class CreateInputSystemByPackInputSecurityLake(BaseModel): r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -2881,6 +2925,7 @@ class CreateInputSystemByPackInputNetflowTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2913,6 +2958,7 @@ class CreateInputSystemByPackInputNetflowTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2936,6 +2982,7 @@ class CreateInputSystemByPackInputNetflow(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2999,6 +3046,7 @@ class CreateInputSystemByPackInputNetflow(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3063,6 +3111,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeWizWebhook(str, Enum): + r"""Source type identifier.""" + WIZ_WEBHOOK = "wiz_webhook" @@ -3070,11 +3120,13 @@ class CreateInputSystemByPackInputWizWebhookTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeWizWebhook + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3126,6 +3178,7 @@ class CreateInputSystemByPackInputWizWebhookTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3145,6 +3198,7 @@ class CreateInputSystemByPackInputWizWebhook(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeWizWebhook + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -3153,6 +3207,7 @@ class CreateInputSystemByPackInputWizWebhook(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3268,6 +3323,7 @@ class CreateInputSystemByPackInputWizWebhook(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3557,6 +3613,7 @@ class CreateInputSystemByPackInputOpenaiTypedDict(TypedDict): text_secret: str r"""Select or create a stored API key. Visit [OpenAI's organization admin keys page](https://platform.openai.com/settings/organization/admin-keys) to create an organization admin key.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3589,6 +3646,7 @@ class CreateInputSystemByPackInputOpenaiTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3614,6 +3672,7 @@ class CreateInputSystemByPackInputOpenai(BaseModel): r"""Select or create a stored API key. Visit [OpenAI's organization admin keys page](https://platform.openai.com/settings/organization/admin-keys) to create an organization admin key.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3680,6 +3739,7 @@ class CreateInputSystemByPackInputOpenai(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3888,6 +3948,7 @@ class CreateInputSystemByPackInputWizTypedDict(TypedDict): r"""The client ID of the Wiz application""" content_config: List[CreateInputSystemByPackContentConfigWizTypedDict] disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3923,6 +3984,7 @@ class CreateInputSystemByPackInputWizTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""The client secret of the Wiz application""" text_secret: NotRequired[str] @@ -3960,6 +4022,7 @@ class CreateInputSystemByPackInputWiz(BaseModel): ] disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4035,6 +4098,7 @@ class CreateInputSystemByPackInputWiz(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""The client secret of the Wiz application""" @@ -4167,6 +4231,7 @@ class CreateInputSystemByPackInputJournalFilesTypedDict(TypedDict): journals: List[str] r"""The full path of discovered journals are matched against this wildcard list.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4192,6 +4257,7 @@ class CreateInputSystemByPackInputJournalFilesTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -4211,6 +4277,7 @@ class CreateInputSystemByPackInputJournalFiles(BaseModel): r"""The full path of discovered journals are matched against this wildcard list.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4254,6 +4321,7 @@ class CreateInputSystemByPackInputJournalFiles(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -4315,6 +4383,7 @@ class CreateInputSystemByPackInputRawUDPTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4341,6 +4410,7 @@ class CreateInputSystemByPackInputRawUDPTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -4364,6 +4434,7 @@ class CreateInputSystemByPackInputRawUDP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4416,6 +4487,7 @@ class CreateInputSystemByPackInputRawUDP(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -4498,6 +4570,7 @@ class CreateInputSystemByPackInputAppleUnifiedLogsTypedDict(TypedDict): predicate: str r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Common Log Types and Predicates](https://docs.cribl.io/edge/sources-apple-unified-logs/#examples) for more information.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4516,6 +4589,7 @@ class CreateInputSystemByPackInputAppleUnifiedLogsTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -4532,6 +4606,7 @@ class CreateInputSystemByPackInputAppleUnifiedLogs(BaseModel): r"""String to filter log entries, in NSPredicate format (e.g., subsystem == \"com.apple.security\" or process == \"kernel\"). See [Common Log Types and Predicates](https://docs.cribl.io/edge/sources-apple-unified-logs/#examples) for more information.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4565,6 +4640,7 @@ class CreateInputSystemByPackInputAppleUnifiedLogs(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -4649,6 +4725,7 @@ class CreateInputSystemByPackInputWinEventLogsTypedDict(TypedDict): log_names: List[str] r"""Enter the event logs to collect. Run \"Get-WinEvent -ListLog *\" in PowerShell to see the available logs.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4677,6 +4754,7 @@ class CreateInputSystemByPackInputWinEventLogsTypedDict(TypedDict): max_event_bytes: NotRequired[int] r"""The maximum number of bytes in an event before it is flushed to the pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" disable_json_rendering: NotRequired[bool] r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)""" disable_xml_rendering: NotRequired[bool] @@ -4697,6 +4775,7 @@ class CreateInputSystemByPackInputWinEventLogs(BaseModel): r"""Enter the event logs to collect. Run \"Get-WinEvent -ListLog *\" in PowerShell to see the available logs.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4752,6 +4831,7 @@ class CreateInputSystemByPackInputWinEventLogs(BaseModel): r"""The maximum number of bytes in an event before it is flushed to the pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" disable_json_rendering: Annotated[ Optional[bool], pydantic.Field(alias="disableJsonRendering") @@ -5133,6 +5213,7 @@ class CreateInputSystemByPackInputWefTypedDict(TypedDict): subscriptions: List[CreateInputSystemByPackSubscriptionTypedDict] r"""Subscriptions to events on forwarding endpoints""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5178,6 +5259,7 @@ class CreateInputSystemByPackInputWefTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" log_fingerprint_mismatch: NotRequired[bool] r"""Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder.""" template_environment: NotRequired[str] @@ -5210,6 +5292,7 @@ class CreateInputSystemByPackInputWef(BaseModel): r"""Subscriptions to events on forwarding endpoints""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5306,6 +5389,7 @@ class CreateInputSystemByPackInputWef(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" log_fingerprint_mismatch: Annotated[ Optional[bool], pydantic.Field(alias="logFingerprintMismatch") @@ -5558,6 +5642,7 @@ class CreateInputSystemByPackInputAppscopeTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeAppscope disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5596,6 +5681,7 @@ class CreateInputSystemByPackInputAppscopeTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" host: NotRequired[str] r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: NotRequired[float] @@ -5628,6 +5714,7 @@ class CreateInputSystemByPackInputAppscope(BaseModel): type: CreateInputSystemByPackTypeAppscope disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5712,6 +5799,7 @@ class CreateInputSystemByPackInputAppscope(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" host: Optional[str] = None r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -5833,6 +5921,7 @@ class CreateInputSystemByPackInputTCPTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5869,6 +5958,7 @@ class CreateInputSystemByPackInputTCPTypedDict(TypedDict): r"""Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { \"authToken\" : \"myToken\", \"fields\": { \"field1\": \"value1\", \"field2\": \"value2\" } }""" preprocess: NotRequired[PreprocessTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" auth_token: NotRequired[str] r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] @@ -5898,6 +5988,7 @@ class CreateInputSystemByPackInputTCP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5974,6 +6065,7 @@ class CreateInputSystemByPackInputTCP(BaseModel): preprocess: Optional[PreprocessType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" @@ -6082,6 +6174,7 @@ class CreateInputSystemByPackInputFileTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackInputFileType disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6126,6 +6219,7 @@ class CreateInputSystemByPackInputFileTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" path: NotRequired[str] r"""Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/).""" depth: NotRequired[float] @@ -6152,6 +6246,7 @@ class CreateInputSystemByPackInputFile(BaseModel): type: CreateInputSystemByPackInputFileType disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6231,6 +6326,7 @@ class CreateInputSystemByPackInputFile(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" path: Optional[str] = None r"""Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/).""" @@ -6343,6 +6439,7 @@ class CreateInputSystemByPackInputSyslogSyslog2TypedDict(TypedDict): tcp_port: float r"""Enter TCP port number to listen on. Not required if listening on UDP.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6394,6 +6491,7 @@ class CreateInputSystemByPackInputSyslogSyslog2TypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: NotRequired[bool] r"""When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise.""" template_environment: NotRequired[str] @@ -6423,6 +6521,7 @@ class CreateInputSystemByPackInputSyslogSyslog2(BaseModel): r"""Enter TCP port number to listen on. Not required if listening on UDP.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6535,6 +6634,7 @@ class CreateInputSystemByPackInputSyslogSyslog2(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: Annotated[ Optional[bool], pydantic.Field(alias="enableEnhancedProxyHeaderParsing") @@ -6639,6 +6739,7 @@ class CreateInputSystemByPackInputSyslogSyslog1TypedDict(TypedDict): udp_port: float r"""Enter UDP port number to listen on. Not required if listening on TCP.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6690,6 +6791,7 @@ class CreateInputSystemByPackInputSyslogSyslog1TypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: NotRequired[bool] r"""When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise.""" template_environment: NotRequired[str] @@ -6719,6 +6821,7 @@ class CreateInputSystemByPackInputSyslogSyslog1(BaseModel): r"""Enter UDP port number to listen on. Not required if listening on TCP.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6831,6 +6934,7 @@ class CreateInputSystemByPackInputSyslogSyslog1(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: Annotated[ Optional[bool], pydantic.Field(alias="enableEnhancedProxyHeaderParsing") @@ -6962,6 +7066,7 @@ class CreateInputSystemByPackInputSqsTypedDict(TypedDict): queue_type: CreateInputSystemByPackQueueType r"""The queue type used (or created)""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7007,6 +7112,7 @@ class CreateInputSystemByPackInputSqsTypedDict(TypedDict): poll_timeout: NotRequired[float] r"""How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -7051,6 +7157,7 @@ class CreateInputSystemByPackInputSqs(BaseModel): r"""The queue type used (or created)""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7143,6 +7250,7 @@ class CreateInputSystemByPackInputSqs(BaseModel): r"""How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -7299,6 +7407,7 @@ class CreateInputSystemByPackInputModelDrivenTelemetryTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7320,6 +7429,7 @@ class CreateInputSystemByPackInputModelDrivenTelemetryTypedDict(TypedDict): shutdown_timeout_ms: NotRequired[float] r"""Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -7343,6 +7453,7 @@ class CreateInputSystemByPackInputModelDrivenTelemetry(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7382,6 +7493,7 @@ class CreateInputSystemByPackInputModelDrivenTelemetry(BaseModel): r"""Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -7441,6 +7553,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeOpenTelemetry(str, Enum): + r"""Source type identifier.""" + OPEN_TELEMETRY = "open_telemetry" @@ -7579,11 +7693,13 @@ class CreateInputSystemByPackInputOpenTelemetryTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeOpenTelemetry + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7631,6 +7747,7 @@ class CreateInputSystemByPackInputOpenTelemetryTypedDict(TypedDict): max_active_cxn: NotRequired[float] r"""Maximum number of active connections allowed per Worker Process. Use 0 for unlimited.""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -7660,6 +7777,7 @@ class CreateInputSystemByPackInputOpenTelemetry(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeOpenTelemetry + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -7668,6 +7786,7 @@ class CreateInputSystemByPackInputOpenTelemetry(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7773,6 +7892,7 @@ class CreateInputSystemByPackInputOpenTelemetry(BaseModel): r"""Maximum number of active connections allowed per Worker Process. Use 0 for unlimited.""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -8028,6 +8148,7 @@ class CreateInputSystemByPackInputSnmpTypedDict(TypedDict): port: float r"""UDP port to receive SNMP traps on. Defaults to 162.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8056,6 +8177,7 @@ class CreateInputSystemByPackInputSnmpTypedDict(TypedDict): best_effort_parsing: NotRequired[bool] r"""If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -8079,6 +8201,7 @@ class CreateInputSystemByPackInputSnmp(BaseModel): r"""UDP port to receive SNMP traps on. Defaults to 162.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8137,6 +8260,7 @@ class CreateInputSystemByPackInputSnmp(BaseModel): r"""If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -8209,6 +8333,7 @@ class CreateInputSystemByPackInputS3InventoryTypedDict(TypedDict): queue_name: str r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8280,6 +8405,7 @@ class CreateInputSystemByPackInputS3InventoryTypedDict(TypedDict): validate_inventory_files: NotRequired[bool] r"""If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -8320,6 +8446,7 @@ class CreateInputSystemByPackInputS3Inventory(BaseModel): r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8474,6 +8601,7 @@ class CreateInputSystemByPackInputS3Inventory(BaseModel): r"""If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -8647,6 +8775,7 @@ class CreateInputSystemByPackInputS3TypedDict(TypedDict): queue_name: str r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8716,6 +8845,7 @@ class CreateInputSystemByPackInputS3TypedDict(TypedDict): tag_after_processing: NotRequired[bool] r"""Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -8755,6 +8885,7 @@ class CreateInputSystemByPackInputS3(BaseModel): r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8902,6 +9033,7 @@ class CreateInputSystemByPackInputS3(BaseModel): r"""Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -9060,6 +9192,7 @@ class CreateInputSystemByPackInputMetricsTypedDict(TypedDict): host: str r"""Address to bind on. For IPv4 (all addresses), use the default '0.0.0.0'. For IPv6, enter '::' (all addresses) or specify an IP address.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9089,6 +9222,7 @@ class CreateInputSystemByPackInputMetricsTypedDict(TypedDict): udp_socket_rx_buf_size: NotRequired[float] r"""Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9111,6 +9245,7 @@ class CreateInputSystemByPackInputMetrics(BaseModel): r"""Address to bind on. For IPv4 (all addresses), use the default '0.0.0.0'. For IPv6, enter '::' (all addresses) or specify an IP address.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9166,6 +9301,7 @@ class CreateInputSystemByPackInputMetrics(BaseModel): r"""Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -9243,6 +9379,7 @@ class CreateInputSystemByPackInputCriblmetricsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeCriblmetrics disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9263,6 +9400,7 @@ class CreateInputSystemByPackInputCriblmetricsTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9276,6 +9414,7 @@ class CreateInputSystemByPackInputCriblmetrics(BaseModel): type: CreateInputSystemByPackTypeCriblmetrics disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9311,6 +9450,7 @@ class CreateInputSystemByPackInputCriblmetrics(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -9404,6 +9544,7 @@ class CreateInputSystemByPackInputKinesisTypedDict(TypedDict): region: str r"""Region where the Kinesis stream is located""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9455,6 +9596,7 @@ class CreateInputSystemByPackInputKinesisTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -9495,6 +9637,7 @@ class CreateInputSystemByPackInputKinesis(BaseModel): r"""Region where the Kinesis stream is located""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9611,6 +9754,7 @@ class CreateInputSystemByPackInputKinesis(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -9770,6 +9914,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeHTTPRaw(str, Enum): + r"""Source type identifier.""" + HTTP_RAW = "http_raw" @@ -9777,11 +9923,13 @@ class CreateInputSystemByPackInputHTTPRawTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeHTTPRaw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9833,6 +9981,7 @@ class CreateInputSystemByPackInputHTTPRawTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9852,6 +10001,7 @@ class CreateInputSystemByPackInputHTTPRaw(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeHTTPRaw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -9860,6 +10010,7 @@ class CreateInputSystemByPackInputHTTPRaw(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9975,6 +10126,7 @@ class CreateInputSystemByPackInputHTTPRaw(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10083,6 +10235,7 @@ class CreateInputSystemByPackInputDatagenTypedDict(TypedDict): type: CreateInputSystemByPackTypeDatagen samples: List[CreateInputSystemByPackSampleTypedDict] disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10099,6 +10252,7 @@ class CreateInputSystemByPackInputDatagenTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10114,6 +10268,7 @@ class CreateInputSystemByPackInputDatagen(BaseModel): samples: List[CreateInputSystemByPackSample] disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10141,6 +10296,7 @@ class CreateInputSystemByPackInputDatagen(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10185,6 +10341,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeDatadogAgent(str, Enum): + r"""Source type identifier.""" + DATADOG_AGENT = "datadog_agent" @@ -10225,11 +10383,13 @@ class CreateInputSystemByPackInputDatadogAgentTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeDatadogAgent + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10272,6 +10432,7 @@ class CreateInputSystemByPackInputDatadogAgentTypedDict(TypedDict): r"""Fields to add to events from this input""" proxy_mode: NotRequired[CreateInputSystemByPackProxyModeDatadogAgentTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10287,6 +10448,7 @@ class CreateInputSystemByPackInputDatadogAgent(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeDatadogAgent + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -10295,6 +10457,7 @@ class CreateInputSystemByPackInputDatadogAgent(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10389,6 +10552,7 @@ class CreateInputSystemByPackInputDatadogAgent(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10469,6 +10633,7 @@ class CreateInputSystemByPackInputCrowdstrikeTypedDict(TypedDict): queue_name: str r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10532,6 +10697,7 @@ class CreateInputSystemByPackInputCrowdstrikeTypedDict(TypedDict): encoding: NotRequired[str] r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -10572,6 +10738,7 @@ class CreateInputSystemByPackInputCrowdstrike(BaseModel): r"""The name, URL, or ARN of the SQS queue to read notifications from. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10704,6 +10871,7 @@ class CreateInputSystemByPackInputCrowdstrike(BaseModel): r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -11326,6 +11494,7 @@ class CreateInputSystemByPackInputWindowsMetricsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeWindowsMetrics disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11350,6 +11519,7 @@ class CreateInputSystemByPackInputWindowsMetricsTypedDict(TypedDict): disable_native_module: NotRequired[bool] r"""Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab)""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -11363,6 +11533,7 @@ class CreateInputSystemByPackInputWindowsMetrics(BaseModel): type: CreateInputSystemByPackTypeWindowsMetrics disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11406,6 +11577,7 @@ class CreateInputSystemByPackInputWindowsMetrics(BaseModel): r"""Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab)""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11464,6 +11636,7 @@ class CreateInputSystemByPackInputKubeEventsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeKubeEvents disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11482,6 +11655,7 @@ class CreateInputSystemByPackInputKubeEventsTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -11495,6 +11669,7 @@ class CreateInputSystemByPackInputKubeEvents(BaseModel): type: CreateInputSystemByPackTypeKubeEvents disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11525,6 +11700,7 @@ class CreateInputSystemByPackInputKubeEvents(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11609,6 +11785,7 @@ class CreateInputSystemByPackInputKubeLogsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeKubeLogs disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11642,6 +11819,7 @@ class CreateInputSystemByPackInputKubeLogsTypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -11655,6 +11833,7 @@ class CreateInputSystemByPackInputKubeLogs(BaseModel): type: CreateInputSystemByPackTypeKubeLogs disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11718,6 +11897,7 @@ class CreateInputSystemByPackInputKubeLogs(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11846,6 +12026,7 @@ class CreateInputSystemByPackInputKubeMetricsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeKubeMetrics disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11871,6 +12052,7 @@ class CreateInputSystemByPackInputKubeMetricsTypedDict(TypedDict): r"""Fields to add to events from this input""" persistence: NotRequired[CreateInputSystemByPackPersistenceKubeMetricsTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -11884,6 +12066,7 @@ class CreateInputSystemByPackInputKubeMetrics(BaseModel): type: CreateInputSystemByPackTypeKubeMetrics disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11929,6 +12112,7 @@ class CreateInputSystemByPackInputKubeMetrics(BaseModel): persistence: Optional[CreateInputSystemByPackPersistenceKubeMetrics] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/createinputsystembypack_request.py b/src/cribl_control_plane/models/createinputsystembypack_request.py index f523fd1fb..c69c8a898 100644 --- a/src/cribl_control_plane/models/createinputsystembypack_request.py +++ b/src/cribl_control_plane/models/createinputsystembypack_request.py @@ -374,6 +374,7 @@ class CreateInputSystemByPackInputSystemStateTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeSystemState disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -398,6 +399,7 @@ class CreateInputSystemByPackInputSystemStateTypedDict(TypedDict): disable_native_last_log_module: NotRequired[bool] r"""Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab)""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -411,6 +413,7 @@ class CreateInputSystemByPackInputSystemState(BaseModel): type: CreateInputSystemByPackTypeSystemState disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -455,6 +458,7 @@ class CreateInputSystemByPackInputSystemState(BaseModel): r"""Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab)""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1094,6 +1098,7 @@ class CreateInputSystemByPackInputSystemMetricsTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeSystemMetrics disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1117,6 +1122,7 @@ class CreateInputSystemByPackInputSystemMetricsTypedDict(TypedDict): r"""Fields to add to events from this input""" persistence: NotRequired[CreateInputSystemByPackPersistenceSystemMetricsTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1130,6 +1136,7 @@ class CreateInputSystemByPackInputSystemMetrics(BaseModel): type: CreateInputSystemByPackTypeSystemMetrics disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1170,6 +1177,7 @@ class CreateInputSystemByPackInputSystemMetrics(BaseModel): persistence: Optional[CreateInputSystemByPackPersistenceSystemMetrics] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1232,6 +1240,7 @@ class CreateInputSystemByPackInputTcpjsonTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1265,6 +1274,7 @@ class CreateInputSystemByPackInputTcpjsonTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" auth_token: NotRequired[str] r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" text_secret: NotRequired[str] @@ -1292,6 +1302,7 @@ class CreateInputSystemByPackInputTcpjson(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1362,6 +1373,7 @@ class CreateInputSystemByPackInputTcpjson(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" @@ -1444,6 +1456,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeCriblLakeHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_LAKE_HTTP = "cribl_lake_http" @@ -1562,11 +1576,13 @@ class CreateInputSystemByPackInputCriblLakeHTTPTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeCriblLakeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1616,6 +1632,7 @@ class CreateInputSystemByPackInputCriblLakeHTTPTypedDict(TypedDict): r"""Fields to add to events from this input""" auth_tokens_ext: NotRequired[List[CreateInputSystemByPackAuthTokensExtTypedDict]] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1639,6 +1656,7 @@ class CreateInputSystemByPackInputCriblLakeHTTP(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeCriblLakeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1647,6 +1665,7 @@ class CreateInputSystemByPackInputCriblLakeHTTP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1756,6 +1775,7 @@ class CreateInputSystemByPackInputCriblLakeHTTP(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1854,6 +1874,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeCriblHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_HTTP = "cribl_http" @@ -1861,11 +1883,13 @@ class CreateInputSystemByPackInputCriblHTTPTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeCriblHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1907,6 +1931,7 @@ class CreateInputSystemByPackInputCriblHTTPTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1922,6 +1947,7 @@ class CreateInputSystemByPackInputCriblHTTP(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeCriblHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1930,6 +1956,7 @@ class CreateInputSystemByPackInputCriblHTTP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2019,6 +2046,7 @@ class CreateInputSystemByPackInputCriblHTTP(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2100,6 +2128,7 @@ class CreateInputSystemByPackInputCriblTCPTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2131,6 +2160,7 @@ class CreateInputSystemByPackInputCriblTCPTypedDict(TypedDict): auth_tokens: NotRequired[List[AuthTokenConfInputCriblTCPTypedDict]] r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2154,6 +2184,7 @@ class CreateInputSystemByPackInputCriblTCP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2218,6 +2249,7 @@ class CreateInputSystemByPackInputCriblTCP(BaseModel): r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2290,6 +2322,7 @@ class CreateInputSystemByPackInputCriblTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeCribl disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2307,6 +2340,7 @@ class CreateInputSystemByPackInputCriblTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2320,6 +2354,7 @@ class CreateInputSystemByPackInputCribl(BaseModel): type: CreateInputSystemByPackTypeCribl disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2349,6 +2384,7 @@ class CreateInputSystemByPackInputCribl(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2406,6 +2442,7 @@ class CreateInputSystemByPackInputGooglePubsubTypedDict(TypedDict): subscription_name: str r"""ID of the subscription to use when receiving events. When Monitor subscription is enabled, the fully qualified subscription name must be entered. Example: projects/myProject/subscriptions/mySubscription""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2442,6 +2479,7 @@ class CreateInputSystemByPackInputGooglePubsubTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" ordered_delivery: NotRequired[bool] r"""Receive events in the order they were added to the queue. The process sending events must have ordering enabled.""" template_environment: NotRequired[str] @@ -2469,6 +2507,7 @@ class CreateInputSystemByPackInputGooglePubsub(BaseModel): r"""ID of the subscription to use when receiving events. When Monitor subscription is enabled, the fully qualified subscription name must be entered. Example: projects/myProject/subscriptions/mySubscription""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2537,6 +2576,7 @@ class CreateInputSystemByPackInputGooglePubsub(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" ordered_delivery: Annotated[ Optional[bool], pydantic.Field(alias="orderedDelivery") @@ -2624,6 +2664,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeFirehose(str, Enum): + r"""Source type identifier.""" + FIREHOSE = "firehose" @@ -2631,11 +2673,13 @@ class CreateInputSystemByPackInputFirehoseTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeFirehose + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2677,6 +2721,7 @@ class CreateInputSystemByPackInputFirehoseTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2694,6 +2739,7 @@ class CreateInputSystemByPackInputFirehose(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeFirehose + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -2702,6 +2748,7 @@ class CreateInputSystemByPackInputFirehose(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2791,6 +2838,7 @@ class CreateInputSystemByPackInputFirehose(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2909,6 +2957,7 @@ class CreateInputSystemByPackInputExecTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" interval: NotRequired[float] r"""Interval between command executions in seconds.""" cron_schedule: NotRequired[str] @@ -2978,6 +3027,7 @@ class CreateInputSystemByPackInputExec(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" interval: Optional[float] = None r"""Interval between command executions in seconds.""" @@ -3396,6 +3446,7 @@ class CreateInputSystemByPackInputEventhubAmqpTypedDict(TypedDict): r"""The consumer group this instance belongs to. Default is '$Default'.""" checkpointing: CreateInputSystemByPackCheckpointingTypedDict disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3437,6 +3488,7 @@ class CreateInputSystemByPackInputEventhubAmqpTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3455,6 +3507,7 @@ class CreateInputSystemByPackInputEventhubAmqp(BaseModel): checkpointing: CreateInputSystemByPackCheckpointing disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3538,6 +3591,7 @@ class CreateInputSystemByPackInputEventhubAmqp(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3607,6 +3661,7 @@ class CreateInputSystemByPackInputEventhubTypedDict(TypedDict): topics: List[str] r"""The name of the Event Hub (Kafka topic) to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Event Hubs Source to only a single topic.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3670,6 +3725,7 @@ class CreateInputSystemByPackInputEventhubTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3695,6 +3751,7 @@ class CreateInputSystemByPackInputEventhub(BaseModel): r"""The name of the Event Hub (Kafka topic) to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Event Hubs Source to only a single topic.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3818,6 +3875,7 @@ class CreateInputSystemByPackInputEventhub(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3938,6 +3996,7 @@ class CreateInputSystemByPackInputMicrosoftGraphTypedDict(TypedDict): interval: int r"""How often (in minutes) to run the report. Must divide evenly into 60 minutes to create a predictable schedule, or Save will fail.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3983,6 +4042,7 @@ class CreateInputSystemByPackInputMicrosoftGraphTypedDict(TypedDict): r"""Log Level (verbosity) for collection runtime behavior.""" retry_rules: NotRequired[RetryRulesTypeCodesEnableHeaderTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""client_secret to pass in the OAuth request parameter.""" tenant_id: NotRequired[str] @@ -4025,6 +4085,7 @@ class CreateInputSystemByPackInputMicrosoftGraph(BaseModel): r"""How often (in minutes) to run the report. Must divide evenly into 60 minutes to create a predictable schedule, or Save will fail.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4115,6 +4176,7 @@ class CreateInputSystemByPackInputMicrosoftGraph(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""client_secret to pass in the OAuth request parameter.""" @@ -4289,6 +4351,7 @@ class CreateInputSystemByPackInputOffice365MsgTraceTypedDict(TypedDict): interval: int r"""How often (in minutes) to run the report. Must divide evenly into 60 minutes to create a predictable schedule, or Save will fail.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4332,6 +4395,7 @@ class CreateInputSystemByPackInputOffice365MsgTraceTypedDict(TypedDict): r"""Log Level (verbosity) for collection runtime behavior.""" retry_rules: NotRequired[RetryRulesTypeCodesEnableHeaderTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] r"""Username to run Message Trace API call.""" password: NotRequired[str] @@ -4380,6 +4444,7 @@ class CreateInputSystemByPackInputOffice365MsgTrace(BaseModel): r"""How often (in minutes) to run the report. Must divide evenly into 60 minutes to create a predictable schedule, or Save will fail.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4467,6 +4532,7 @@ class CreateInputSystemByPackInputOffice365MsgTrace(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None r"""Username to run Message Trace API call.""" @@ -4698,6 +4764,7 @@ class CreateInputSystemByPackInputOffice365ServiceTypedDict(TypedDict): app_id: str r"""Microsoft 365 Azure Application ID""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4735,6 +4802,7 @@ class CreateInputSystemByPackInputOffice365ServiceTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""Microsoft 365 Azure client secret""" text_secret: NotRequired[str] @@ -4766,6 +4834,7 @@ class CreateInputSystemByPackInputOffice365Service(BaseModel): r"""Microsoft 365 Azure Application ID""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4838,6 +4907,7 @@ class CreateInputSystemByPackInputOffice365Service(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""Microsoft 365 Azure client secret""" @@ -5011,6 +5081,7 @@ class CreateInputSystemByPackInputOffice365MgmtTypedDict(TypedDict): app_id: str r"""Microsoft 365 Azure Application ID""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5050,6 +5121,7 @@ class CreateInputSystemByPackInputOffice365MgmtTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""Microsoft 365 Azure client secret""" text_secret: NotRequired[str] @@ -5086,6 +5158,7 @@ class CreateInputSystemByPackInputOffice365Mgmt(BaseModel): r"""Microsoft 365 Azure Application ID""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5163,6 +5236,7 @@ class CreateInputSystemByPackInputOffice365Mgmt(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""Microsoft 365 Azure client secret""" @@ -5398,6 +5472,7 @@ class CreateInputSystemByPackInputEdgePrometheusTypedDict(TypedDict): interval: float r"""How often in seconds to scrape targets for metrics.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5423,6 +5498,7 @@ class CreateInputSystemByPackInputEdgePrometheusTypedDict(TypedDict): auth_type: NotRequired[CreateInputSystemByPackAuthenticationMethodEdgePrometheus] r"""Enter credentials directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" targets: NotRequired[List[CreateInputSystemByPackTargetTypedDict]] record_type: NotRequired[RecordTypeOptions] r"""DNS record type to resolve""" @@ -5529,6 +5605,7 @@ class CreateInputSystemByPackInputEdgePrometheus(BaseModel): r"""How often in seconds to scrape targets for metrics.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5577,6 +5654,7 @@ class CreateInputSystemByPackInputEdgePrometheus(BaseModel): r"""Enter credentials directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" targets: Optional[List[CreateInputSystemByPackTarget]] = None @@ -5931,6 +6009,7 @@ class CreateInputSystemByPackInputPrometheusTypedDict(TypedDict): log_level: LogLevelOptions r"""Collector runtime log level""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5969,6 +6048,7 @@ class CreateInputSystemByPackInputPrometheusTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsSasl] r"""Enter credentials directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" target_list: NotRequired[List[str]] 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'.""" record_type: NotRequired[RecordTypeOptions] @@ -6066,6 +6146,7 @@ class CreateInputSystemByPackInputPrometheus(BaseModel): r"""Collector runtime log level""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6143,6 +6224,7 @@ class CreateInputSystemByPackInputPrometheus(BaseModel): r"""Enter credentials directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" target_list: Annotated[Optional[List[str]], pydantic.Field(alias="targetList")] = ( None @@ -6468,6 +6550,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypePrometheusRw(str, Enum): + r"""Source type identifier.""" + PROMETHEUS_RW = "prometheus_rw" @@ -6475,6 +6559,7 @@ class CreateInputSystemByPackInputPrometheusRwTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypePrometheusRw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -6482,6 +6567,7 @@ class CreateInputSystemByPackInputPrometheusRwTypedDict(TypedDict): prometheus_api: str r"""Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://:/write.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6523,6 +6609,7 @@ class CreateInputSystemByPackInputPrometheusRwTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -6550,6 +6637,7 @@ class CreateInputSystemByPackInputPrometheusRw(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypePrometheusRw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -6561,6 +6649,7 @@ class CreateInputSystemByPackInputPrometheusRw(BaseModel): r"""Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://:/write.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6651,6 +6740,7 @@ class CreateInputSystemByPackInputPrometheusRw(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -6761,6 +6851,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeLoki(str, Enum): + r"""Source type identifier.""" + LOKI = "loki" @@ -6768,6 +6860,7 @@ class CreateInputSystemByPackInputLokiTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeLoki + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -6775,6 +6868,7 @@ class CreateInputSystemByPackInputLokiTypedDict(TypedDict): loki_api: str r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6816,6 +6910,7 @@ class CreateInputSystemByPackInputLokiTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -6841,6 +6936,7 @@ class CreateInputSystemByPackInputLoki(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeLoki + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -6852,6 +6948,7 @@ class CreateInputSystemByPackInputLoki(BaseModel): r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6941,6 +7038,7 @@ class CreateInputSystemByPackInputLoki(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -7045,6 +7143,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackInputGrafanaType2(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7191,6 +7291,7 @@ class CreateInputSystemByPackInputGrafanaGrafana2TypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackInputGrafanaType2 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -7198,6 +7299,7 @@ class CreateInputSystemByPackInputGrafanaGrafana2TypedDict(TypedDict): loki_api: str r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7241,6 +7343,7 @@ class CreateInputSystemByPackInputGrafanaGrafana2TypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -7260,6 +7363,7 @@ class CreateInputSystemByPackInputGrafanaGrafana2(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackInputGrafanaType2 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -7271,6 +7375,7 @@ class CreateInputSystemByPackInputGrafanaGrafana2(BaseModel): r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://:/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7369,6 +7474,7 @@ class CreateInputSystemByPackInputGrafanaGrafana2(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -7452,6 +7558,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackInputGrafanaType1(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7598,6 +7706,7 @@ class CreateInputSystemByPackInputGrafanaGrafana1TypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackInputGrafanaType1 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -7605,6 +7714,7 @@ class CreateInputSystemByPackInputGrafanaGrafana1TypedDict(TypedDict): prometheus_api: str r"""Absolute path on which to listen for Grafana Agent's Remote Write requests. Defaults to /api/prom/push, which will expand as: 'http://:/api/prom/push'. Either this field or 'Logs API endpoint' must be configured.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7648,6 +7758,7 @@ class CreateInputSystemByPackInputGrafanaGrafana1TypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -7667,6 +7778,7 @@ class CreateInputSystemByPackInputGrafanaGrafana1(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackInputGrafanaType1 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -7678,6 +7790,7 @@ class CreateInputSystemByPackInputGrafanaGrafana1(BaseModel): r"""Absolute path on which to listen for Grafana Agent's Remote Write requests. Defaults to /api/prom/push, which will expand as: 'http://:/api/prom/push'. Either this field or 'Logs API endpoint' must be configured.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7774,6 +7887,7 @@ class CreateInputSystemByPackInputGrafanaGrafana1(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -7887,6 +8001,7 @@ class CreateInputSystemByPackInputConfluentCloudTypedDict(TypedDict): topics: List[str] r"""Topic to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Kafka Source to a single topic only.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7953,6 +8068,7 @@ class CreateInputSystemByPackInputConfluentCloudTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -7978,6 +8094,7 @@ class CreateInputSystemByPackInputConfluentCloud(BaseModel): r"""Topic to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Kafka Source to a single topic only.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8105,6 +8222,7 @@ class CreateInputSystemByPackInputConfluentCloud(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -8188,6 +8306,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeElastic(str, Enum): + r"""Source type identifier.""" + ELASTIC = "elastic" @@ -8328,6 +8448,7 @@ class CreateInputSystemByPackInputElasticTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeElastic + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -8335,6 +8456,7 @@ class CreateInputSystemByPackInputElasticTypedDict(TypedDict): elastic_api: str r"""Absolute path on which to listen for Elasticsearch API requests. Defaults to /. _bulk will be appended automatically. For example, /myPath becomes /myPath/_bulk. Requests can then be made to either /myPath/_bulk or /myPath//_bulk. Other entries are faked as success.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8380,6 +8502,7 @@ class CreateInputSystemByPackInputElasticTypedDict(TypedDict): r"""Fields to add to events from this input""" proxy_mode: NotRequired[CreateInputSystemByPackProxyModeElasticTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -8407,6 +8530,7 @@ class CreateInputSystemByPackInputElastic(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeElastic + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -8418,6 +8542,7 @@ class CreateInputSystemByPackInputElastic(BaseModel): r"""Absolute path on which to listen for Elasticsearch API requests. Defaults to /. _bulk will be appended automatically. For example, /myPath becomes /myPath/_bulk. Requests can then be made to either /myPath/_bulk or /myPath//_bulk. Other entries are faked as success.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8523,6 +8648,7 @@ class CreateInputSystemByPackInputElastic(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -8659,6 +8785,7 @@ class CreateInputSystemByPackInputAzureBlobTypedDict(TypedDict): queue_name: str r"""The storage account queue name blob notifications will be read from. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myQueue-${C.vars.myVar}`""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8696,6 +8823,7 @@ class CreateInputSystemByPackInputAzureBlobTypedDict(TypedDict): r"""The maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified.""" auth_type: NotRequired[AuthenticationMethodOptions] description: NotRequired[str] + r"""Optional description for this configuration.""" connection_string: NotRequired[str] r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" text_secret: NotRequired[str] @@ -8741,6 +8869,7 @@ class CreateInputSystemByPackInputAzureBlob(BaseModel): r"""The storage account queue name blob notifications will be read from. Value must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myQueue-${C.vars.myVar}`""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8816,6 +8945,7 @@ class CreateInputSystemByPackInputAzureBlob(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" connection_string: Annotated[ Optional[str], pydantic.Field(alias="connectionString") @@ -8959,6 +9089,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeSplunkHec(str, Enum): + r"""Source type identifier.""" + SPLUNK_HEC = "splunk_hec" @@ -8970,6 +9102,7 @@ class CreateInputSystemByPackAuthTokenSplunkHecTypedDict(TypedDict): token_secret: NotRequired[str] r"""Select or create a stored text secret""" enabled: NotRequired[bool] + r"""If true, the token is active and can be used for authentication.""" description: NotRequired[str] r"""Optional token description""" allowed_indexes_at_token: NotRequired[List[str]] @@ -8992,6 +9125,7 @@ class CreateInputSystemByPackAuthTokenSplunkHec(BaseModel): r"""Select or create a stored text secret""" enabled: Optional[bool] = None + r"""If true, the token is active and can be used for authentication.""" description: Optional[str] = None r"""Optional token description""" @@ -9043,6 +9177,7 @@ class CreateInputSystemByPackInputSplunkHecTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeSplunkHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -9050,6 +9185,7 @@ class CreateInputSystemByPackInputSplunkHecTypedDict(TypedDict): splunk_hec_api: str r"""Absolute path on which to listen for the Splunk HTTP Event Collector API requests. This input supports the /event, /raw and /s2s endpoints.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9109,6 +9245,7 @@ class CreateInputSystemByPackInputSplunkHecTypedDict(TypedDict): emit_token_metrics: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9126,6 +9263,7 @@ class CreateInputSystemByPackInputSplunkHec(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeSplunkHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -9137,6 +9275,7 @@ class CreateInputSystemByPackInputSplunkHec(BaseModel): r"""Absolute path on which to listen for the Splunk HTTP Event Collector API requests. This input supports the /event, /raw and /s2s endpoints.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9272,6 +9411,7 @@ class CreateInputSystemByPackInputSplunkHec(BaseModel): r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -9430,6 +9570,7 @@ class CreateInputSystemByPackInputSplunkSearchTypedDict(TypedDict): auth_type: CreateInputSystemByPackAuthenticationTypeSplunkSearch r"""Splunk Search authentication type""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9479,6 +9620,7 @@ class CreateInputSystemByPackInputSplunkSearchTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -9535,6 +9677,7 @@ class CreateInputSystemByPackInputSplunkSearch(BaseModel): r"""Splunk Search authentication type""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9639,6 +9782,7 @@ class CreateInputSystemByPackInputSplunkSearch(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -9846,6 +9990,7 @@ class CreateInputSystemByPackInputSplunkTypedDict(TypedDict): port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9883,6 +10028,7 @@ class CreateInputSystemByPackInputSplunkTypedDict(TypedDict): max_s2_sversion: NotRequired[CreateInputSystemByPackMaxS2SVersion] r"""The highest S2S protocol version to advertise during handshake""" description: NotRequired[str] + r"""Optional description for this configuration.""" use_fwd_timezone: NotRequired[bool] r"""Event Breakers will determine events' time zone from UF-provided metadata, when TZ can't be inferred from the raw event""" drop_control_fields: NotRequired[bool] @@ -9918,6 +10064,7 @@ class CreateInputSystemByPackInputSplunk(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9999,6 +10146,7 @@ class CreateInputSystemByPackInputSplunk(BaseModel): r"""The highest S2S protocol version to advertise during handshake""" description: Optional[str] = None + r"""Optional description for this configuration.""" use_fwd_timezone: Annotated[ Optional[bool], pydantic.Field(alias="useFwdTimezone") @@ -10118,6 +10266,8 @@ def serialize_model(self, handler): class CreateInputSystemByPackTypeHTTP(str, Enum): + r"""Source type identifier.""" + HTTP = "http" @@ -10125,11 +10275,13 @@ class CreateInputSystemByPackInputHTTPTypedDict(TypedDict): id: str r"""Unique ID for this input""" type: CreateInputSystemByPackTypeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float r"""Port to listen on""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10180,6 +10332,7 @@ class CreateInputSystemByPackInputHTTPTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10203,6 +10356,7 @@ class CreateInputSystemByPackInputHTTP(BaseModel): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -10211,6 +10365,7 @@ class CreateInputSystemByPackInputHTTP(BaseModel): r"""Port to listen on""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10321,6 +10476,7 @@ class CreateInputSystemByPackInputHTTP(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10435,6 +10591,7 @@ class CreateInputSystemByPackInputMskTypedDict(TypedDict): region: str r"""Region where the MSK cluster is located""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10514,6 +10671,7 @@ class CreateInputSystemByPackInputMskTypedDict(TypedDict): max_socket_errors: NotRequired[float] r"""Maximum number of network errors before the consumer re-creates a socket""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -10563,6 +10721,7 @@ class CreateInputSystemByPackInputMsk(BaseModel): r"""Region where the MSK cluster is located""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10724,6 +10883,7 @@ class CreateInputSystemByPackInputMsk(BaseModel): r"""Maximum number of network errors before the consumer re-creates a socket""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -10878,6 +11038,7 @@ class CreateInputSystemByPackInputKafkaTypedDict(TypedDict): topics: List[str] r"""Topic to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Kafka Source to a single topic only.""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10944,6 +11105,7 @@ class CreateInputSystemByPackInputKafkaTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10969,6 +11131,7 @@ class CreateInputSystemByPackInputKafka(BaseModel): r"""Topic to subscribe to. Warning: To optimize performance, Cribl suggests subscribing each Kafka Source to a single topic only.""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11096,6 +11259,7 @@ class CreateInputSystemByPackInputKafka(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11187,6 +11351,7 @@ class CreateInputSystemByPackInputCollectionTypedDict(TypedDict): r"""Unique ID for this input""" type: CreateInputSystemByPackTypeCollection disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process results""" send_to_routes: NotRequired[bool] @@ -11224,6 +11389,7 @@ class CreateInputSystemByPackInputCollection(BaseModel): type: CreateInputSystemByPackTypeCollection disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process results""" diff --git a/src/cribl_control_plane/models/createoutput_outputwebhook_webhook_1.py b/src/cribl_control_plane/models/createoutput_outputwebhook_authentication_type_1.py similarity index 97% rename from src/cribl_control_plane/models/createoutput_outputwebhook_webhook_1.py rename to src/cribl_control_plane/models/createoutput_outputwebhook_authentication_type_1.py index 9faee8e23..0f245ede8 100644 --- a/src/cribl_control_plane/models/createoutput_outputwebhook_webhook_1.py +++ b/src/cribl_control_plane/models/createoutput_outputwebhook_authentication_type_1.py @@ -29,10 +29,10 @@ from .compressionoptionsgzipnone import CompressionOptionsGzipNone from .compressionoptionshttp import CompressionOptionsHTTP from .compressionoptionspq import CompressionOptionsPq -from .createoutput_pqcontrols_statsd import ( - CreateOutputPqControlsStatsd, - CreateOutputPqControlsStatsdTypedDict, - CreateOutputTypeStatsd, +from .createoutput_pqcontrols_statsdext import ( + CreateOutputPqControlsStatsdExt, + CreateOutputPqControlsStatsdExtTypedDict, + CreateOutputTypeStatsdExt, ) from .dataformatoptions import DataFormatOptions from .datapageversionoptions import DataPageVersionOptions @@ -134,10 +134,10 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class CreateOutputOutputStatsdTypedDict(TypedDict): +class CreateOutputOutputStatsdExtTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeStatsd + type: CreateOutputTypeStatsdExt protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" host: str @@ -159,6 +159,7 @@ class CreateOutputOutputStatsdTypedDict(TypedDict): dns_resolve_period_sec: NotRequired[float] r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] + r"""Optional description for this configuration.""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" connection_timeout: NotRequired[float] @@ -189,18 +190,18 @@ class CreateOutputOutputStatsdTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsStatsdTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsStatsdExtTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputStatsd(BaseModel): +class CreateOutputOutputStatsdExt(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeStatsd + type: CreateOutputTypeStatsdExt protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" @@ -239,6 +240,7 @@ class CreateOutputOutputStatsd(BaseModel): r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: Optional[str] = None + r"""Optional description for this configuration.""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") @@ -310,7 +312,7 @@ class CreateOutputOutputStatsd(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsStatsd], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsStatsdExt], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -414,20 +416,28 @@ def serialize_model(self, handler): return m -class CreateOutputTypeMinio(str, Enum): - MINIO = "minio" +class CreateOutputTypeStatsd(str, Enum): + STATSD = "statsd" -class CreateOutputOutputMinioTypedDict(TypedDict): +class CreateOutputPqControlsStatsdTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsStatsd(BaseModel): + pass + + +class CreateOutputOutputStatsdTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeMinio - bucket: str - r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""MinIO service url (e.g. http://minioHost:9000)""" + type: CreateOutputTypeStatsd + protocol: DestinationProtocolOptions + r"""Protocol to use when communicating with the destination.""" + host: str + r"""The hostname of the destination.""" + port: float + r"""Destination port.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -436,153 +446,65 @@ class CreateOutputOutputMinioTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the MinIO bucket is located""" - dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - max_closing_files_to_backpressure: NotRequired[float] - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ - ServerSideEncryptionForUploadedObjectsOptionsAes256 - ] - r"""Server-side encryption to use for uploaded objects""" + mtu: NotRequired[float] + r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" + flush_period_sec: NotRequired[float] + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + r"""Optional description for this configuration.""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputPqControlsStatsdTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputMinio(BaseModel): +class CreateOutputOutputStatsd(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeMinio + type: CreateOutputTypeStatsd - bucket: str - r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + protocol: DestinationProtocolOptions + r"""Protocol to use when communicating with the destination.""" - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + host: str + r"""The hostname of the destination.""" - endpoint: str - r"""MinIO service url (e.g. http://minioHost:9000)""" + port: float + r"""Destination port.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -598,2258 +520,713 @@ class CreateOutputOutputMinio(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + mtu: Optional[float] = None + r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - - region: Optional[str] = None - r"""Region where the MinIO bucket is located""" + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") - ] = None - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Add the Output ID value to staging location""" + r"""How to handle events when all receivers are exerting backpressure""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Remove empty staging directories after moving files""" - - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" - - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Buffer size used to write to a file""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") - ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Codec to use to compress the persisted data""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - orphans: Optional[OrphanFileRecoveryType] = None - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + pq_controls: Annotated[ + Optional[CreateOutputPqControlsStatsd], pydantic.Field(alias="pqControls") ] = None - r"""Object ACL to assign to uploaded objects""" - storage_class: Annotated[ - Optional[StorageClassOptionsReducedredundancyStandard], - pydantic.Field(alias="storageClass"), + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Storage class to select for uploaded objects""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], - pydantic.Field(alias="serverSideEncryption"), + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Server-side encryption to use for uploaded objects""" - - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + @field_serializer("protocol") + def serialize_protocol(self, value): + if isinstance(value, str): + try: + return models.DestinationProtocolOptions(value) + except ValueError: + return value + return value - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "mtu", + "flushPeriodSec", + "dnsResolvePeriodSec", + "description", + "throttleRatePerSec", + "connectionTimeout", + "writeTimeout", + "onBackpressure", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_onBackpressure", + ] + ) + serialized = handler(self) + m = {} - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") - ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + return m - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") - ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ +class CreateOutputTypeMinio(str, Enum): + MINIO = "minio" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") - ] = None +class CreateOutputOutputMinioTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeMinio + bucket: str + r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""MinIO service url (e.g. http://minioHost:9000)""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the MinIO bucket is located""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ + ServerSideEncryptionForUploadedObjectsOptionsAes256 + ] + r"""Server-side encryption to use for uploaded objects""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") - ] = None + enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") - ] = None + empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" - - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") - ] = None + directory_batch_size: NotRequired[float] r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") - ] = None + deadletter_path: NotRequired[str] r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) + max_retry_num: NotRequired[float] r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None + template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") - ] = None + template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None + template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") - ] = None + template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") - ] = None + template_partition_expr: NotRequired[str] r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None + template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") - ] = None + template_base_file_name: NotRequired[str] r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") - ] = None + template_file_name_suffix: NotRequired[str] r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None + template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None + template_aws_secret_key: NotRequired[str] r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None + template_object_acl: NotRequired[str] r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None + template_storage_class: NotRequired[str] r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") - ] = None + template_server_side_encryption: NotRequired[str] r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None + template_aws_api_key: NotRequired[str] r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None + template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") - ] = None + template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value +class CreateOutputOutputMinio(BaseModel): + id: str + r"""Unique ID for this output""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptionsBlockDrop(value) - except ValueError: - return value - return value + type: CreateOutputTypeMinio - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): - if isinstance(value, str): - try: - return models.DiskSpaceProtectionOptions(value) - except ValueError: - return value - return value + bucket: str + r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - @field_serializer("object_acl") - def serialize_object_acl(self, value): - if isinstance(value, str): - try: - return models.ObjectACLOptions(value) - except ValueError: - return value - return value - - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.StorageClassOptionsReducedredundancyStandard(value) - except ValueError: - return value - return value - - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsHTTP(value) - except ValueError: - return value - return value - - @field_serializer("compression_level") - def serialize_compression_level(self, value): - if isinstance(value, str): - try: - return models.CompressionLevelOptions(value) - except ValueError: - return value - return value - - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): - if isinstance(value, str): - try: - return models.ParquetVersionOptions(value) - except ValueError: - return value - return value - - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): - if isinstance(value, str): - try: - return models.DataPageVersionOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "region", - "destPath", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "description", - "awsApiKey", - "awsSecret", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "__template_streamtags", - "__template_bucket", - "__template_region", - "__template_destPath", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_awsApiKey", - "__template_compress", - "__template_parquetSchema", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeCloudwatch(str, Enum): - CLOUDWATCH = "cloudwatch" - - -class CreateOutputPqControlsCloudwatchTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsCloudwatch(BaseModel): - pass - - -class CreateOutputOutputCloudwatchTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeCloudwatch - log_group_name: str - r"""CloudWatch log group to associate events with""" - log_stream_name: str - r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" - region: str - r"""Region where the CloudWatchLogs is located""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret_key: NotRequired[str] - endpoint: NotRequired[str] - r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access CloudWatchLogs""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - max_queue_size: NotRequired[float] - r"""Maximum number of queued batches before blocking""" - max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsCloudwatchTypedDict] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_log_group_name: NotRequired[str] - r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" - template_log_stream_name: NotRequired[str] - r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - -class CreateOutputOutputCloudwatch(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeCloudwatch - - log_group_name: Annotated[str, pydantic.Field(alias="logGroupName")] - r"""CloudWatch log group to associate events with""" - - log_stream_name: Annotated[str, pydantic.Field(alias="logStreamName")] - r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" - - region: str - r"""Region where the CloudWatchLogs is located""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - - endpoint: Optional[str] = None - r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" - - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None - r"""Reuse connections between requests, which can improve performance""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") - ] = None - r"""Use Assume Role credentials to access CloudWatchLogs""" - - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" - - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" - - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") - ] = None - 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).""" - - max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( - None - ) - r"""Maximum number of queued batches before blocking""" - - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") - ] = None - r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") - ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") - ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") - ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") - ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") - ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") - ] = None - r"""Codec to use to compress the persisted data""" - - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") - ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") - ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsCloudwatch], pydantic.Field(alias="pqControls") - ] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_log_group_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_logGroupName") - ] = None - r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" - - template_log_stream_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_logStreamName") - ] = None - r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" - - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") - ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "awsAuthenticationMethod", - "awsSecretKey", - "endpoint", - "reuseConnections", - "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "maxQueueSize", - "maxRecordSizeKB", - "flushPeriodSec", - "onBackpressure", - "description", - "awsApiKey", - "awsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_logGroupName", - "__template_logStreamName", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_onBackpressure", - "__template_awsApiKey", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeInfluxdb(str, Enum): - INFLUXDB = "influxdb" - - -class CreateOutputTimestampPrecision(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" - - # Nanoseconds - NS = "ns" - # Microseconds - U = "u" - # Milliseconds - MS = "ms" - # Seconds - S = "s" - # Minutes - M = "m" - # Hours - H = "h" - - -class CreateOutputAuthenticationTypeInfluxdb(str, Enum, metaclass=utils.OpenEnumMeta): - r"""InfluxDB authentication type""" - - # None - NONE = "none" - # Basic - BASIC = "basic" - # Basic (credentials secret) - CREDENTIALS_SECRET = "credentialsSecret" - # Token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" - - -class CreateOutputPqControlsInfluxdbTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsInfluxdb(BaseModel): - pass - - -class CreateOutputOutputInfluxdbTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeInfluxdb - url: str - r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - use_v2_api: NotRequired[bool] - r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" - timestamp_precision: NotRequired[CreateOutputTimestampPrecision] - r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" - dynamic_value_field_name: NotRequired[bool] - r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" - value_field_name: NotRequired[str] - r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputAuthenticationTypeInfluxdb] - r"""InfluxDB authentication type""" - description: NotRequired[str] - database: NotRequired[str] - r"""Database to write to.""" - bucket: NotRequired[str] - r"""Bucket to write to.""" - org: NotRequired[str] - r"""Organization ID for this bucket.""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsInfluxdbTypedDict] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_database: NotRequired[str] - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - - -class CreateOutputOutputInfluxdb(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeInfluxdb - - url: str - r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - use_v2_api: Annotated[Optional[bool], pydantic.Field(alias="useV2API")] = None - r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" - - timestamp_precision: Annotated[ - Optional[CreateOutputTimestampPrecision], - pydantic.Field(alias="timestampPrecision"), - ] = None - r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" - - dynamic_value_field_name: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicValueFieldName") - ] = None - r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" - - value_field_name: Annotated[ - Optional[str], pydantic.Field(alias="valueFieldName") - ] = None - r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), - ] = None - r"""Headers to add to all events""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" - - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - auth_type: Annotated[ - Optional[CreateOutputAuthenticationTypeInfluxdb], - pydantic.Field(alias="authType"), - ] = None - r"""InfluxDB authentication type""" - - description: Optional[str] = None - - database: Optional[str] = None - r"""Database to write to.""" - - bucket: Optional[str] = None - r"""Bucket to write to.""" - - org: Optional[str] = None - r"""Organization ID for this bucket.""" - - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") - ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") - ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") - ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") - ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") - ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") - ] = None - r"""Codec to use to compress the persisted data""" - - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") - ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") - ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsInfluxdb], pydantic.Field(alias="pqControls") - ] = None - - username: Optional[str] = None - - password: Optional[str] = None - - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") - ] = None - r"""Select or create a secret that references your credentials""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_database: Annotated[ - Optional[str], pydantic.Field(alias="__template_database") - ] = None - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") - ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - - @field_serializer("timestamp_precision") - def serialize_timestamp_precision(self, value): - if isinstance(value, str): - try: - return models.CreateOutputTimestampPrecision(value) - except ValueError: - return value - return value - - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): - if isinstance(value, str): - try: - return models.FailedRequestLoggingModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputAuthenticationTypeInfluxdb(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "useV2API", - "timestampPrecision", - "dynamicValueFieldName", - "valueFieldName", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "description", - "database", - "bucket", - "org", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_database", - "__template_bucket", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeNewrelicEvents(str, Enum): - NEWRELIC_EVENTS = "newrelic_events" - - -class CreateOutputPqControlsNewrelicEventsTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsNewrelicEvents(BaseModel): - pass - - -class CreateOutputOutputNewrelicEventsTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeNewrelicEvents - account_id: str - r"""New Relic account ID""" - event_type: str - r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - region: NotRequired[RegionOptions] - r"""Which New Relic region endpoint to use.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" - description: NotRequired[str] - custom_url: NotRequired[str] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsNewrelicEventsTypedDict] - api_key: NotRequired[str] - r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_account_id: NotRequired[str] - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - template_event_type: NotRequired[str] - r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: NotRequired[str] - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" - - -class CreateOutputOutputNewrelicEvents(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeNewrelicEvents - - account_id: Annotated[str, pydantic.Field(alias="accountId")] - r"""New Relic account ID""" - - event_type: Annotated[str, pydantic.Field(alias="eventType")] - r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - region: Optional[RegionOptions] = None - r"""Which New Relic region endpoint to use.""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), - ] = None - r"""Headers to add to all events""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" - - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") - ] = None - r"""Enter API key directly, or select a stored secret""" - - description: Optional[str] = None - - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None - - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") - ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") - ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") - ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") - ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") - ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") - ] = None - r"""Codec to use to compress the persisted data""" - - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") - ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") - ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsNewrelicEvents], - pydantic.Field(alias="pqControls"), - ] = None - - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_account_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_accountId") - ] = None - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - - template_event_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_eventType") - ] = None - r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" - - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_custom_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_customUrl") - ] = None - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" - - @field_serializer("region") - def serialize_region(self, value): - if isinstance(value, str): - try: - return models.RegionOptions(value) - except ValueError: - return value - return value - - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): - if isinstance(value, str): - try: - return models.FailedRequestLoggingModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAPI(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "region", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "description", - "customUrl", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "apiKey", - "textSecret", - "__template_streamtags", - "__template_region", - "__template_accountId", - "__template_eventType", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_customUrl", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeNewrelic(str, Enum): - NEWRELIC = "newrelic" - - -class CreateOutputFieldName(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Name of the metadata field.""" - - SERVICE = "service" - HOSTNAME = "hostname" - TIMESTAMP = "timestamp" - AUDIT_ID = "auditId" - - -class CreateOutputMetadatumTypedDict(TypedDict): - name: CreateOutputFieldName - r"""Name of the metadata field.""" - value: str - r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" - - -class CreateOutputMetadatum(BaseModel): - name: CreateOutputFieldName - r"""Name of the metadata field.""" - - value: str - r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" - - @field_serializer("name") - def serialize_name(self, value): - if isinstance(value, str): - try: - return models.CreateOutputFieldName(value) - except ValueError: - return value - return value - - -class CreateOutputPqControlsNewrelicTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsNewrelic(BaseModel): - pass + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""MinIO service url (e.g. http://minioHost:9000)""" -class CreateOutputOutputNewrelicTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeNewrelic - pipeline: NotRequired[str] + pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] + + environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] + + streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - region: NotRequired[RegionOptions] - r"""Which New Relic region endpoint to use.""" - log_type: NotRequired[str] - r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" - message_field: NotRequired[str] - r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" - metadata: NotRequired[List[CreateOutputMetadatumTypedDict]] - r"""Fields to add to events from this input""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] - custom_url: NotRequired[str] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsNewrelicTypedDict] - api_key: NotRequired[str] - r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_log_type: NotRequired[str] - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" - template_message_field: NotRequired[str] - r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" -class CreateOutputOutputNewrelic(BaseModel): - id: str - r"""Unique ID for this output""" + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - type: CreateOutputTypeNewrelic + region: Optional[str] = None + r"""Region where the MinIO bucket is located""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + ] = None + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" - region: Optional[RegionOptions] = None - r"""Which New Relic region endpoint to use.""" + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" - log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None - r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" - message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None - r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - metadata: Optional[List[CreateOutputMetadatum]] = None - r"""Fields to add to events from this input""" + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") ] = None - r"""Maximum size, in KB, of the request body""" + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") ] = None - r"""Headers to add to all events""" + r"""Buffer size used to write to a file""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""How to handle events when all receivers are exerting backpressure""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None - r"""List of headers that are safe to log in plain text""" + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + orphans: Optional[OrphanFileRecoveryType] = None - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Object ACL to assign to uploaded objects""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + storage_class: Annotated[ + Optional[StorageClassOptionsReducedredundancyStandard], + pydantic.Field(alias="storageClass"), ] = None - r"""Enter API key directly, or select a stored secret""" + r"""Storage class to select for uploaded objects""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], + pydantic.Field(alias="serverSideEncryption"), ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""Server-side encryption to use for uploaded objects""" description: Optional[str] = None + r"""Optional description for this configuration.""" - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Compression level to apply before moving files to final destination""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Determines which data types are supported and how they are represented""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + ] = None + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""Codec to use to compress the persisted data""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_controls: Annotated[ - Optional[CreateOutputPqControlsNewrelic], pydantic.Field(alias="pqControls") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") + ] = None + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + ] = None + r"""How frequently, in seconds, to clean up empty directories""" + + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") + ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") + ] = None + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: Annotated[ Optional[str], pydantic.Field(alias="__template_region") ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_log_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_logType") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = None - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_message_field: Annotated[ - Optional[str], pydantic.Field(alias="__template_messageField") + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None - r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") + ] = None + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("region") - def serialize_region(self, value): + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") + ] = None + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.RegionOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.DataFormatOptions(value) except ValueError: return value return value @@ -2858,43 +1235,79 @@ def serialize_failed_request_logging_mode(self, value): def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAPI(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("object_acl") + def serialize_object_acl(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.ObjectACLOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.StorageClassOptionsReducedredundancyStandard(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsHTTP(value) + except ValueError: + return value + return value + + @field_serializer("compression_level") + def serialize_compression_level(self, value): + if isinstance(value, str): + try: + return models.CompressionLevelOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): + if isinstance(value, str): + try: + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -2907,49 +1320,72 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "region", - "logType", - "messageField", - "metadata", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", + "awsAuthenticationMethod", + "reuseConnections", "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "region", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", - "authType", - "totalMemoryLimitKB", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", "description", - "customUrl", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "apiKey", - "textSecret", + "awsApiKey", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", + "__template_bucket", "__template_region", - "__template_logType", - "__template_messageField", - "__template_failedRequestLoggingMode", + "__template_destPath", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_awsSecretKey", + "__template_objectACL", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_awsApiKey", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -2966,26 +1402,28 @@ def serialize_model(self, handler): return m -class CreateOutputTypeElasticCloud(str, Enum): - ELASTIC_CLOUD = "elastic_cloud" - +class CreateOutputTypeCloudwatch(str, Enum): + CLOUDWATCH = "cloudwatch" -class CreateOutputPqControlsElasticCloudTypedDict(TypedDict): + +class CreateOutputPqControlsCloudwatchTypedDict(TypedDict): pass -class CreateOutputPqControlsElasticCloud(BaseModel): +class CreateOutputPqControlsCloudwatch(BaseModel): pass -class CreateOutputOutputElasticCloudTypedDict(TypedDict): +class CreateOutputOutputCloudwatchTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeElasticCloud - url: str - r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" - index: str - r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + type: CreateOutputTypeCloudwatch + log_group_name: str + r"""CloudWatch log group to associate events with""" + log_stream_name: str + r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" + region: str + r"""Region where the CloudWatchLogs is located""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -2994,46 +1432,36 @@ class CreateOutputOutputElasticCloudTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret_key: NotRequired[str] + endpoint: NotRequired[str] + r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access CloudWatchLogs""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + max_queue_size: NotRequired[float] + r"""Maximum number of queued batches before blocking""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] - r"""Extra parameters to use in HTTP requests""" - auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] - elastic_pipeline: NotRequired[str] - r"""Optional Elastic Cloud Destination pipeline""" - include_doc_id: NotRequired[bool] - r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -3056,32 +1484,43 @@ class CreateOutputOutputElasticCloudTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsElasticCloudTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsCloudwatchTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_index: NotRequired[str] - r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_elastic_pipeline: NotRequired[str] - r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" + template_log_group_name: NotRequired[str] + r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" + template_log_stream_name: NotRequired[str] + r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputOutputElasticCloud(BaseModel): +class CreateOutputOutputCloudwatch(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeElasticCloud + type: CreateOutputTypeCloudwatch - url: str - r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" + log_group_name: Annotated[str, pydantic.Field(alias="logGroupName")] + r"""CloudWatch log group to associate events with""" - index: str - r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + log_stream_name: Annotated[str, pydantic.Field(alias="logStreamName")] + r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" + + region: str + r"""Region where the CloudWatchLogs is located""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -3097,86 +1536,63 @@ class CreateOutputOutputElasticCloud(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + r"""AWS authentication method. Choose Auto to use IAM roles.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + endpoint: Optional[str] = None + r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Reuse connections between requests, which can improve performance""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Headers to add to all events""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Use Assume Role credentials to access CloudWatchLogs""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" - extra_params: Annotated[ - Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""Extra parameters to use in HTTP requests""" - - auth: Optional[AuthTypeTemplatemanualAPIKeyAuthType] = None + r"""External ID to use when assuming role""" - elastic_pipeline: Annotated[ - Optional[str], pydantic.Field(alias="elasticPipeline") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = None - r"""Optional Elastic Cloud Destination pipeline""" + 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).""" - include_doc_id: Annotated[Optional[bool], pydantic.Field(alias="includeDocId")] = ( + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( None ) - r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Maximum number of queued batches before blocking""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None + r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -3184,6 +1600,12 @@ class CreateOutputOutputElasticCloud(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -3235,7 +1657,7 @@ class CreateOutputOutputElasticCloud(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsElasticCloud], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsCloudwatch], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -3243,36 +1665,56 @@ class CreateOutputOutputElasticCloud(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_log_group_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_logGroupName") + ] = None + r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" - template_index: Annotated[ - Optional[str], pydantic.Field(alias="__template_index") + template_log_stream_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_logStreamName") ] = None - r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" + r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_elastic_pipeline: Annotated[ - Optional[str], pydantic.Field(alias="__template_elasticPipeline") + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") ] = None - r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -3321,25 +1763,22 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", + "awsAuthenticationMethod", + "awsSecretKey", + "endpoint", + "reuseConnections", "rejectUnauthorized", - "timeoutSec", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "maxQueueSize", + "maxRecordSizeKB", "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "extraParams", - "auth", - "elasticPipeline", - "includeDocId", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", "onBackpressure", "description", + "awsApiKey", + "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -3353,11 +1792,15 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_url", - "__template_index", - "__template_failedRequestLoggingMode", - "__template_elasticPipeline", + "__template_logGroupName", + "__template_logStreamName", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_onBackpressure", + "__template_awsApiKey", ] ) serialized = handler(self) @@ -3374,82 +1817,56 @@ def serialize_model(self, handler): return m -class CreateOutputTypeElastic(str, Enum): - ELASTIC = "elastic" - - -class CreateOutputElasticVersion(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - - # Auto - AUTO = "auto" - # 6.x - SIX = "6" - # 7.x - SEVEN = "7" - - -class CreateOutputWriteAction(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" - - # Index - INDEX = "index" - # Create - CREATE = "create" - - -class CreateOutputURLElasticTypedDict(TypedDict): - url: str - r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - -class CreateOutputURLElastic(BaseModel): - url: str - r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" +class CreateOutputTypeInfluxdb(str, Enum): + INFLUXDB = "influxdb" - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" +class CreateOutputTimestampPrecision(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["weight", "__template_url"]) - serialized = handler(self) - m = {} + # Nanoseconds + NS = "ns" + # Microseconds + U = "u" + # Milliseconds + MS = "ms" + # Seconds + S = "s" + # Minutes + M = "m" + # Hours + H = "h" - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val +class CreateOutputAuthenticationTypeInfluxdb(str, Enum, metaclass=utils.OpenEnumMeta): + r"""InfluxDB authentication type""" - return m + # None + NONE = "none" + # Basic + BASIC = "basic" + # Basic (credentials secret) + CREDENTIALS_SECRET = "credentialsSecret" + # Token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" -class CreateOutputPqControlsElasticTypedDict(TypedDict): +class CreateOutputPqControlsInfluxdbTypedDict(TypedDict): pass -class CreateOutputPqControlsElastic(BaseModel): +class CreateOutputPqControlsInfluxdb(BaseModel): pass -class CreateOutputOutputElasticTypedDict(TypedDict): +class CreateOutputOutputInfluxdbTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeElastic - index: str - r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + type: CreateOutputTypeInfluxdb + url: str + r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -3458,10 +1875,14 @@ class CreateOutputOutputElasticTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - doc_type: NotRequired[str] - r"""Document type to use for events. Can be overwritten by an event's __type field.""" + use_v2_api: NotRequired[bool] + r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" + timestamp_precision: NotRequired[CreateOutputTimestampPrecision] + r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" + dynamic_value_field_name: NotRequired[bool] + r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" + value_field_name: NotRequired[str] + r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -3481,6 +1902,8 @@ class CreateOutputOutputElasticTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] @@ -3492,32 +1915,18 @@ class CreateOutputOutputElasticTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] - auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] - elastic_version: NotRequired[CreateOutputElasticVersion] - r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - elastic_pipeline: NotRequired[str] - r"""Optional Elasticsearch destination pipeline""" - include_doc_id: NotRequired[bool] - r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - write_action: NotRequired[CreateOutputWriteAction] - r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" - retry_partial_errors: NotRequired[bool] - r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[CreateOutputAuthenticationTypeInfluxdb] + r"""InfluxDB authentication type""" description: NotRequired[str] - url: NotRequired[str] - r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[CreateOutputURLElasticTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Optional description for this configuration.""" + database: NotRequired[str] + r"""Database to write to.""" + bucket: NotRequired[str] + r"""Bucket to write to.""" + org: NotRequired[str] + r"""Organization ID for this bucket.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -3540,31 +1949,37 @@ class CreateOutputOutputElasticTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsElasticTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsInfluxdbTypedDict] + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_index: NotRequired[str] - r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - template_doc_type: NotRequired[str] - r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_elastic_pipeline: NotRequired[str] - r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_database: NotRequired[str] + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" -class CreateOutputOutputElastic(BaseModel): +class CreateOutputOutputInfluxdb(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeElastic + type: CreateOutputTypeInfluxdb - index: str - r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + url: str + r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -3580,13 +1995,24 @@ class CreateOutputOutputElastic(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + use_v2_api: Annotated[Optional[bool], pydantic.Field(alias="useV2API")] = None + r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" - doc_type: Annotated[Optional[str], pydantic.Field(alias="docType")] = None - r"""Document type to use for events. Can be overwritten by an event's __type field.""" + timestamp_precision: Annotated[ + Optional[CreateOutputTimestampPrecision], + pydantic.Field(alias="timestampPrecision"), + ] = None + r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" + + dynamic_value_field_name: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicValueFieldName") + ] = None + r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" + + value_field_name: Annotated[ + Optional[str], pydantic.Field(alias="valueFieldName") + ] = None + r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -3624,7 +2050,12 @@ class CreateOutputOutputElastic(BaseModel): Optional[List[ExtraHTTPHeaderConfInputElastic]], pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Headers to add to all events""" + r"""Headers to add to all events""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], @@ -3652,66 +2083,28 @@ class CreateOutputOutputElastic(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - extra_params: Annotated[ - Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") - ] = None - - auth: Optional[AuthTypeTemplatemanualAPIKeyAuthType] = None - - elastic_version: Annotated[ - Optional[CreateOutputElasticVersion], pydantic.Field(alias="elasticVersion") - ] = None - r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - - elastic_pipeline: Annotated[ - Optional[str], pydantic.Field(alias="elasticPipeline") - ] = None - r"""Optional Elasticsearch destination pipeline""" - - include_doc_id: Annotated[Optional[bool], pydantic.Field(alias="includeDocId")] = ( - None - ) - r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - - write_action: Annotated[ - Optional[CreateOutputWriteAction], pydantic.Field(alias="writeAction") - ] = None - r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" - - retry_partial_errors: Annotated[ - Optional[bool], pydantic.Field(alias="retryPartialErrors") - ] = None - r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - url: Optional[str] = None - r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + auth_type: Annotated[ + Optional[CreateOutputAuthenticationTypeInfluxdb], + pydantic.Field(alias="authType"), ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""InfluxDB authentication type""" - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - urls: Optional[List[CreateOutputURLElastic]] = None + database: Optional[str] = None + r"""Database to write to.""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + bucket: Optional[str] = None + r"""Bucket to write to.""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + org: Optional[str] = None + r"""Organization ID for this bucket.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -3763,76 +2156,86 @@ class CreateOutputOutputElastic(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsElastic], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsInfluxdb], pydantic.Field(alias="pqControls") + ] = None + + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") ] = None + r"""Select or create a secret that references your credentials""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_index: Annotated[ - Optional[str], pydantic.Field(alias="__template_index") - ] = None - r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - - template_doc_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_docType") - ] = None - r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_elastic_pipeline: Annotated[ - Optional[str], pydantic.Field(alias="__template_elasticPipeline") - ] = None - r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_database: Annotated[ + Optional[str], pydantic.Field(alias="__template_database") + ] = None + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") + ] = None + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + + @field_serializer("timestamp_precision") + def serialize_timestamp_precision(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CreateOutputTimestampPrecision(value) except ValueError: return value return value - @field_serializer("elastic_version") - def serialize_elastic_version(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CreateOutputElasticVersion(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("write_action") - def serialize_write_action(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputWriteAction(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CreateOutputAuthenticationTypeInfluxdb(value) except ValueError: return value return value @@ -3872,8 +2275,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", - "docType", + "useV2API", + "timestampPrecision", + "dynamicValueFieldName", + "valueFieldName", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -3882,26 +2287,18 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "extraParams", - "auth", - "elasticVersion", - "elasticPipeline", - "includeDocId", - "writeAction", - "retryPartialErrors", "onBackpressure", + "authType", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", + "database", + "bucket", + "org", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -3914,13 +2311,17 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "username", + "password", + "token", + "credentialsSecret", + "textSecret", "__template_streamtags", - "__template_index", - "__template_docType", + "__template_url", "__template_failedRequestLoggingMode", - "__template_elasticPipeline", "__template_onBackpressure", - "__template_url", + "__template_database", + "__template_bucket", ] ) serialized = handler(self) @@ -3937,30 +2338,26 @@ def serialize_model(self, handler): return m -class CreateOutputTypeMsk(str, Enum): - MSK = "msk" +class CreateOutputTypeNewrelicEvents(str, Enum): + NEWRELIC_EVENTS = "newrelic_events" -class CreateOutputPqControlsMskTypedDict(TypedDict): +class CreateOutputPqControlsNewrelicEventsTypedDict(TypedDict): pass -class CreateOutputPqControlsMsk(BaseModel): +class CreateOutputPqControlsNewrelicEvents(BaseModel): pass -class CreateOutputOutputMskTypedDict(TypedDict): +class CreateOutputOutputNewrelicEventsTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeMsk - brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" - topic: str - r"""The topic to publish events to. Can be overridden using the __topicOut field.""" - aws_authentication_method: AuthenticationMethodOptionsS3CollectorConf - r"""AWS authentication method. Choose Auto to use IAM roles.""" - region: str - r"""Region where the MSK cluster is located""" + type: CreateOutputTypeNewrelicEvents + account_id: str + r"""New Relic account ID""" + event_type: str + r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -3969,63 +2366,47 @@ class CreateOutputOutputMskTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - ack: NotRequired[AcknowledgmentsOptionsAllLeader] - r"""Control the number of required acknowledgments.""" - format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] - r"""Format to use to serialize events before writing to Kafka.""" - compression: NotRequired[CompressionOptionsGzipLz4] - r"""Codec to use to compress the data before sending to Kafka""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" - flush_event_count: NotRequired[float] - r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" - flush_period_sec: NotRequired[float] - r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" - kafka_schema_registry: NotRequired[ - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict - ] - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - aws_secret_key: NotRequired[str] - endpoint: NotRequired[str] - r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" + region: NotRequired[RegionOptions] + r"""Which New Relic region endpoint to use.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access MSK""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - protobuf_library_id: NotRequired[str] - r"""Select a set of Protobuf definitions for the events you want to send""" - protobuf_encoding_id: NotRequired[str] - r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + r"""Optional description for this configuration.""" + custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -4048,51 +2429,38 @@ class CreateOutputOutputMskTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsMskTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsNewrelicEventsTypedDict] + api_key: NotRequired[str] + r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_compression: NotRequired[str] - r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_account_id: NotRequired[str] + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" + template_event_type: NotRequired[str] + r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_custom_url: NotRequired[str] + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" -class CreateOutputOutputMsk(BaseModel): +class CreateOutputOutputNewrelicEvents(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeMsk - - brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" - - topic: str - r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + type: CreateOutputTypeNewrelicEvents - aws_authentication_method: Annotated[ - AuthenticationMethodOptionsS3CollectorConf, - pydantic.Field(alias="awsAuthenticationMethod"), - ] - r"""AWS authentication method. Choose Auto to use IAM roles.""" + account_id: Annotated[str, pydantic.Field(alias="accountId")] + r"""New Relic account ID""" - region: str - r"""Region where the MSK cluster is located""" + event_type: Annotated[str, pydantic.Field(alias="eventType")] + r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -4108,131 +2476,92 @@ class CreateOutputOutputMsk(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - ack: Optional[AcknowledgmentsOptionsAllLeader] = None - r"""Control the number of required acknowledgments.""" - - format_: Annotated[ - Optional[RecordDataFormatOptionsJSONProtobuf], pydantic.Field(alias="format") - ] = None - r"""Format to use to serialize events before writing to Kafka.""" - - compression: Optional[CompressionOptionsGzipLz4] = None - r"""Codec to use to compress the data before sending to Kafka""" - - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") - ] = None - r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + region: Optional[RegionOptions] = None + r"""Which New Relic region endpoint to use.""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") - ] = None - r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + r"""Maximum size, in KB, of the request body""" - kafka_schema_registry: Annotated[ - Optional[KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth], - pydantic.Field(alias="kafkaSchemaRegistry"), + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = None - r"""Maximum time to wait for a connection to complete successfully""" + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Maximum time to wait for Kafka to respond to a request""" - - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""Headers to add to all events""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - - endpoint: Optional[str] = None - r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""List of headers that are safe to log in plain text""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Use Assume Role credentials to access MSK""" - - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""External ID to use when assuming role""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - 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).""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - protobuf_library_id: Annotated[ - Optional[str], pydantic.Field(alias="protobufLibraryId") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") ] = None - r"""Select a set of Protobuf definitions for the events you want to send""" + r"""Enter API key directly, or select a stored secret""" - protobuf_encoding_id: Annotated[ - Optional[str], pydantic.Field(alias="protobufEncodingId") - ] = None - r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -4284,105 +2613,83 @@ class CreateOutputOutputMsk(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsMsk], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsNewrelicEvents], + pydantic.Field(alias="pqControls"), ] = None + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") - ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - - template_compression: Annotated[ - Optional[str], pydantic.Field(alias="__template_compression") - ] = None - r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" - - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: Annotated[ Optional[str], pydantic.Field(alias="__template_region") ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + + template_account_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_accountId") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + template_event_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_eventType") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + template_custom_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_customUrl") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - @field_serializer("ack") - def serialize_ack(self, value): - if isinstance(value, str): - try: - return models.AcknowledgmentsOptionsAllLeader(value) - except ValueError: - return value - return value + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("region") + def serialize_region(self, value): if isinstance(value, str): try: - return models.RecordDataFormatOptionsJSONProtobuf(value) + return models.RegionOptions(value) except ValueError: return value return value - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipLz4(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.AuthenticationMethodOptionsAPI(value) except ValueError: return value return value @@ -4422,36 +2729,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "kafkaSchemaRegistry", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "awsSecretKey", - "endpoint", - "reuseConnections", + "region", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "tls", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", + "authType", "description", - "awsApiKey", - "awsSecret", - "protobufLibraryId", - "protobufEncodingId", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -4464,17 +2760,15 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", - "__template_topic", - "__template_format", - "__template_compression", - "__template_awsSecretKey", "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_accountId", + "__template_eventType", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_awsApiKey", + "__template_customUrl", ] ) serialized = handler(self) @@ -4491,26 +2785,55 @@ def serialize_model(self, handler): return m -class CreateOutputTypeConfluentCloud(str, Enum): - CONFLUENT_CLOUD = "confluent_cloud" +class CreateOutputTypeNewrelic(str, Enum): + NEWRELIC = "newrelic" -class CreateOutputPqControlsConfluentCloudTypedDict(TypedDict): +class CreateOutputFieldName(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Name of the metadata field.""" + + SERVICE = "service" + HOSTNAME = "hostname" + TIMESTAMP = "timestamp" + AUDIT_ID = "auditId" + + +class CreateOutputMetadatumTypedDict(TypedDict): + name: CreateOutputFieldName + r"""Name of the metadata field.""" + value: str + r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" + + +class CreateOutputMetadatum(BaseModel): + name: CreateOutputFieldName + r"""Name of the metadata field.""" + + value: str + r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" + + @field_serializer("name") + def serialize_name(self, value): + if isinstance(value, str): + try: + return models.CreateOutputFieldName(value) + except ValueError: + return value + return value + + +class CreateOutputPqControlsNewrelicTypedDict(TypedDict): pass -class CreateOutputPqControlsConfluentCloud(BaseModel): +class CreateOutputPqControlsNewrelic(BaseModel): pass -class CreateOutputOutputConfluentCloudTypedDict(TypedDict): +class CreateOutputOutputNewrelicTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeConfluentCloud - brokers: List[str] - r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" - topic: str - r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + type: CreateOutputTypeNewrelic pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -4519,47 +2842,55 @@ class CreateOutputOutputConfluentCloudTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] - ack: NotRequired[AcknowledgmentsOptionsAllLeader] - r"""Control the number of required acknowledgments.""" - format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] - r"""Format to use to serialize events before writing to Kafka.""" - compression: NotRequired[CompressionOptionsGzipLz4] - r"""Codec to use to compress the data before sending to Kafka""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" - flush_event_count: NotRequired[float] - r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + region: NotRequired[RegionOptions] + r"""Which New Relic region endpoint to use.""" + log_type: NotRequired[str] + r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" + message_field: NotRequired[str] + r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" + metadata: NotRequired[List[CreateOutputMetadatumTypedDict]] + r"""Fields to add to events from this input""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" - kafka_schema_registry: NotRequired[ - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] ] - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: NotRequired[AuthenticationTypeTypedDict] - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - protobuf_library_id: NotRequired[str] - r"""Select a set of Protobuf definitions for the events you want to send""" - protobuf_encoding_id: NotRequired[str] - r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + r"""Optional description for this configuration.""" + custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -4582,32 +2913,30 @@ class CreateOutputOutputConfluentCloudTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsConfluentCloudTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsNewrelicTypedDict] + api_key: NotRequired[str] + r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_brokers: NotRequired[str] - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_compression: NotRequired[str] - r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_log_type: NotRequired[str] + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + template_message_field: NotRequired[str] + r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputConfluentCloud(BaseModel): +class CreateOutputOutputNewrelic(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeConfluentCloud - - brokers: List[str] - r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" - - topic: str - r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + type: CreateOutputTypeNewrelic pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -4623,92 +2952,106 @@ class CreateOutputOutputConfluentCloud(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + region: Optional[RegionOptions] = None + r"""Which New Relic region endpoint to use.""" - ack: Optional[AcknowledgmentsOptionsAllLeader] = None - r"""Control the number of required acknowledgments.""" + log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None + r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" - format_: Annotated[ - Optional[RecordDataFormatOptionsJSONProtobuf], pydantic.Field(alias="format") - ] = None - r"""Format to use to serialize events before writing to Kafka.""" + message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None + r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" - compression: Optional[CompressionOptionsGzipLz4] = None - r"""Codec to use to compress the data before sending to Kafka""" + metadata: Optional[List[CreateOutputMetadatum]] = None + r"""Fields to add to events from this input""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + r"""Maximum size, in KB, of the request body""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - kafka_schema_registry: Annotated[ - Optional[KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth], - pydantic.Field(alias="kafkaSchemaRegistry"), + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None + r"""Headers to add to all events""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Maximum time to wait for a connection to complete successfully""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Maximum time to wait for Kafka to respond to a request""" - - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + r"""List of headers that are safe to log in plain text""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: Optional[AuthenticationType] = None - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - protobuf_library_id: Annotated[ - Optional[str], pydantic.Field(alias="protobufLibraryId") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") ] = None - r"""Select a set of Protobuf definitions for the events you want to send""" + r"""Enter API key directly, or select a stored secret""" - protobuf_encoding_id: Annotated[ - Optional[str], pydantic.Field(alias="protobufEncodingId") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -4760,72 +3103,77 @@ class CreateOutputOutputConfluentCloud(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsConfluentCloud], - pydantic.Field(alias="pqControls"), + Optional[CreateOutputPqControlsNewrelic], pydantic.Field(alias="pqControls") ] = None + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_brokers: Annotated[ - Optional[str], pydantic.Field(alias="__template_brokers") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") + template_log_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logType") ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + template_message_field: Annotated[ + Optional[str], pydantic.Field(alias="__template_messageField") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" - template_compression: Annotated[ - Optional[str], pydantic.Field(alias="__template_compression") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("ack") - def serialize_ack(self, value): + @field_serializer("region") + def serialize_region(self, value): if isinstance(value, str): try: - return models.AcknowledgmentsOptionsAllLeader(value) + return models.RegionOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.RecordDataFormatOptionsJSONProtobuf(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipLz4(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.AuthenticationMethodOptionsAPI(value) except ValueError: return value return value @@ -4865,27 +3213,29 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "tls", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "flushEventCount", + "region", + "logType", + "messageField", + "metadata", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", "flushPeriodSec", - "kafkaSchemaRegistry", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", - "protobufLibraryId", - "protobufEncodingId", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -4898,11 +3248,13 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", - "__template_brokers", - "__template_topic", - "__template_format", - "__template_compression", + "__template_region", + "__template_logType", + "__template_messageField", + "__template_failedRequestLoggingMode", "__template_onBackpressure", ] ) @@ -4920,26 +3272,26 @@ def serialize_model(self, handler): return m -class CreateOutputTypeKafka(str, Enum): - KAFKA = "kafka" +class CreateOutputTypeElasticCloud(str, Enum): + ELASTIC_CLOUD = "elastic_cloud" -class CreateOutputPqControlsKafkaTypedDict(TypedDict): +class CreateOutputPqControlsElasticCloudTypedDict(TypedDict): pass -class CreateOutputPqControlsKafka(BaseModel): +class CreateOutputPqControlsElasticCloud(BaseModel): pass -class CreateOutputOutputKafkaTypedDict(TypedDict): +class CreateOutputOutputElasticCloudTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeKafka - brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" - topic: str - r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + type: CreateOutputTypeElasticCloud + url: str + r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" + index: str + r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -4948,47 +3300,47 @@ class CreateOutputOutputKafkaTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - ack: NotRequired[AcknowledgmentsOptionsAllLeader] - r"""Control the number of required acknowledgments.""" - format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] - r"""Format to use to serialize events before writing to Kafka.""" - compression: NotRequired[CompressionOptionsGzipLz4] - r"""Codec to use to compress the data before sending to Kafka""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" - flush_event_count: NotRequired[float] - r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" - kafka_schema_registry: NotRequired[ - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] + r"""Extra parameters to use in HTTP requests""" + auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] + elastic_pipeline: NotRequired[str] + r"""Optional Elastic Cloud Destination pipeline""" + include_doc_id: NotRequired[bool] + r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] ] - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: NotRequired[AuthenticationTypeTypedDict] - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - protobuf_library_id: NotRequired[str] - r"""Select a set of Protobuf definitions for the events you want to send""" - protobuf_encoding_id: NotRequired[str] - r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -5011,30 +3363,32 @@ class CreateOutputOutputKafkaTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsKafkaTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsElasticCloudTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_compression: NotRequired[str] - r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_index: NotRequired[str] + r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_elastic_pipeline: NotRequired[str] + r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputKafka(BaseModel): +class CreateOutputOutputElasticCloud(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeKafka + type: CreateOutputTypeElasticCloud - brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" + url: str + r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" - topic: str - r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + index: str + r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -5050,75 +3404,86 @@ class CreateOutputOutputKafka(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - ack: Optional[AcknowledgmentsOptionsAllLeader] = None - r"""Control the number of required acknowledgments.""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - format_: Annotated[ - Optional[RecordDataFormatOptionsJSONProtobuf], pydantic.Field(alias="format") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Format to use to serialize events before writing to Kafka.""" - - compression: Optional[CompressionOptionsGzipLz4] = None - r"""Codec to use to compress the data before sending to Kafka""" + r"""Maximum size, in KB, of the request body""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - kafka_schema_registry: Annotated[ - Optional[KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth], - pydantic.Field(alias="kafkaSchemaRegistry"), + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None + r"""Headers to add to all events""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Maximum time to wait for a connection to complete successfully""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Maximum time to wait for Kafka to respond to a request""" + r"""List of headers that are safe to log in plain text""" - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + extra_params: Annotated[ + Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") + ] = None + r"""Extra parameters to use in HTTP requests""" - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + auth: Optional[AuthTypeTemplatemanualAPIKeyAuthType] = None - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + elastic_pipeline: Annotated[ + Optional[str], pydantic.Field(alias="elasticPipeline") ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + r"""Optional Elastic Cloud Destination pipeline""" - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + include_doc_id: Annotated[Optional[bool], pydantic.Field(alias="includeDocId")] = ( + None + ) + r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - - sasl: Optional[AuthenticationType] = None - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -5126,16 +3491,7 @@ class CreateOutputOutputKafka(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - protobuf_library_id: Annotated[ - Optional[str], pydantic.Field(alias="protobufLibraryId") - ] = None - r"""Select a set of Protobuf definitions for the events you want to send""" - - protobuf_encoding_id: Annotated[ - Optional[str], pydantic.Field(alias="protobufEncodingId") - ] = None - r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -5187,7 +3543,7 @@ class CreateOutputOutputKafka(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsKafka], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsElasticCloud], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -5195,49 +3551,36 @@ class CreateOutputOutputKafka(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") - ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + template_index: Annotated[ + Optional[str], pydantic.Field(alias="__template_index") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - template_compression: Annotated[ - Optional[str], pydantic.Field(alias="__template_compression") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_elastic_pipeline: Annotated[ + Optional[str], pydantic.Field(alias="__template_elasticPipeline") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - @field_serializer("ack") - def serialize_ack(self, value): - if isinstance(value, str): - try: - return models.AcknowledgmentsOptionsAllLeader(value) - except ValueError: - return value - return value + r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.RecordDataFormatOptionsJSONProtobuf(value) - except ValueError: - return value - return value + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipLz4(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value @@ -5286,27 +3629,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "flushEventCount", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", "flushPeriodSec", - "kafkaSchemaRegistry", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "tls", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "extraParams", + "auth", + "elasticPipeline", + "includeDocId", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", "description", - "protobufLibraryId", - "protobufEncodingId", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -5320,9 +3661,10 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_topic", - "__template_format", - "__template_compression", + "__template_url", + "__template_index", + "__template_failedRequestLoggingMode", + "__template_elasticPipeline", "__template_onBackpressure", ] ) @@ -5340,26 +3682,82 @@ def serialize_model(self, handler): return m -class CreateOutputTypeExabeam(str, Enum): - EXABEAM = "exabeam" +class CreateOutputTypeElastic(str, Enum): + ELASTIC = "elastic" -class CreateOutputOutputExabeamTypedDict(TypedDict): +class CreateOutputElasticVersion(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" + + # Auto + AUTO = "auto" + # 6.x + SIX = "6" + # 7.x + SEVEN = "7" + + +class CreateOutputWriteAction(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" + + # Index + INDEX = "index" + # Create + CREATE = "create" + + +class CreateOutputURLElasticTypedDict(TypedDict): + url: str + r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + +class CreateOutputURLElastic(BaseModel): + url: str + r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" + + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["weight", "__template_url"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputPqControlsElasticTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsElastic(BaseModel): + pass + + +class CreateOutputOutputElasticTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeExabeam - bucket: str - r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" - region: str - r"""Region where the bucket is located""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Google Cloud Storage service endpoint""" - collector_instance_id: str - r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 - - """ + type: CreateOutputTypeElastic + index: str + r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -5368,90 +3766,114 @@ class CreateOutputOutputExabeamTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptionsArchiveColdline] - r"""Storage class to select for uploaded objects""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + doc_type: NotRequired[str] + r"""Document type to use for events. Can be overwritten by an event's __type field.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] + auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] + elastic_version: NotRequired[CreateOutputElasticVersion] + r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" + elastic_pipeline: NotRequired[str] + r"""Optional Elasticsearch destination pipeline""" + include_doc_id: NotRequired[bool] + r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" + write_action: NotRequired[CreateOutputWriteAction] + r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" + retry_partial_errors: NotRequired[bool] + r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - encoded_configuration: NotRequired[str] - r"""Enter an encoded string containing Exabeam configurations""" - site_name: NotRequired[str] - r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" - site_id: NotRequired[str] - r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" - timezone_offset: NotRequired[str] - aws_api_key: NotRequired[str] - r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - aws_secret_key: NotRequired[str] - r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" description: NotRequired[str] - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[CreateOutputURLElasticTypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputPqControlsElasticTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_index: NotRequired[str] + r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" + template_doc_type: NotRequired[str] + r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_elastic_pipeline: NotRequired[str] + r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputOutputExabeam(BaseModel): +class CreateOutputOutputElastic(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeExabeam - - bucket: str - r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" - - region: str - r"""Region where the bucket is located""" - - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - - endpoint: str - r"""Google Cloud Storage service endpoint""" - - collector_instance_id: Annotated[str, pydantic.Field(alias="collectorInstanceId")] - r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 + type: CreateOutputTypeElastic - """ + index: str + r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -5467,172 +3889,251 @@ class CreateOutputOutputExabeam(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - object_acl: Annotated[ - Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], - pydantic.Field(alias="objectACL"), - ] = None - r"""Object ACL to assign to uploaded objects""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - storage_class: Annotated[ - Optional[StorageClassOptionsArchiveColdline], - pydantic.Field(alias="storageClass"), + doc_type: Annotated[Optional[str], pydantic.Field(alias="docType")] = None + r"""Document type to use for events. Can be overwritten by an event's __type field.""" + + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Storage class to select for uploaded objects""" + r"""Maximum size, in KB, of the request body""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Add the Output ID value to staging location""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Remove empty staging directories after moving files""" + r"""Headers to add to all events""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + r"""List of headers that are safe to log in plain text""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + extra_params: Annotated[ + Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") + ] = None + + auth: Optional[AuthTypeTemplatemanualAPIKeyAuthType] = None + + elastic_version: Annotated[ + Optional[CreateOutputElasticVersion], pydantic.Field(alias="elasticVersion") + ] = None + r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" + + elastic_pipeline: Annotated[ + Optional[str], pydantic.Field(alias="elasticPipeline") + ] = None + r"""Optional Elasticsearch destination pipeline""" + + include_doc_id: Annotated[Optional[bool], pydantic.Field(alias="includeDocId")] = ( None ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" + + write_action: Annotated[ + Optional[CreateOutputWriteAction], pydantic.Field(alias="writeAction") + ] = None + r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" + + retry_partial_errors: Annotated[ + Optional[bool], pydantic.Field(alias="retryPartialErrors") + ] = None + r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") - ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + url: Optional[str] = None + r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + urls: Optional[List[CreateOutputURLElastic]] = None + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - orphans: Optional[OrphanFileRecoveryType] = None + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - encoded_configuration: Annotated[ - Optional[str], pydantic.Field(alias="encodedConfiguration") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Enter an encoded string containing Exabeam configurations""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - site_name: Annotated[Optional[str], pydantic.Field(alias="siteName")] = None - r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - site_id: Annotated[Optional[str], pydantic.Field(alias="siteId")] = None - r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - timezone_offset: Annotated[ - Optional[str], pydantic.Field(alias="timezoneOffset") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") + ] = None + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - description: Optional[str] = None + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""Codec to use to compress the persisted data""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[CreateOutputPqControlsElastic], pydantic.Field(alias="pqControls") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_index: Annotated[ + Optional[str], pydantic.Field(alias="__template_index") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_doc_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_docType") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + template_elastic_pipeline: Annotated[ + Optional[str], pydantic.Field(alias="__template_elasticPipeline") ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("object_acl") - def serialize_object_acl(self, value): + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( - value - ) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("elastic_version") + def serialize_elastic_version(self, value): if isinstance(value, str): try: - return models.StorageClassOptionsArchiveColdline(value) + return models.CreateOutputElasticVersion(value) + except ValueError: + return value + return value + + @field_serializer("write_action") + def serialize_write_action(self, value): + if isinstance(value, str): + try: + return models.CreateOutputWriteAction(value) except ValueError: return value return value @@ -5641,16 +4142,34 @@ def serialize_storage_class(self, value): def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -5663,38 +4182,55 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "objectACL", - "storageClass", - "reuseConnections", + "loadBalanced", + "docType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", "rejectUnauthorized", - "addIdToStagePath", - "removeEmptyDirs", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "extraParams", + "auth", + "elasticVersion", + "elasticPipeline", + "includeDocId", + "writeAction", + "retryPartialErrors", "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "retrySettings", - "orphans", - "maxFileSizeMB", - "encodedConfiguration", - "siteName", - "siteId", - "timezoneOffset", - "awsApiKey", - "awsSecretKey", "description", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_region", - "__template_endpoint", - "__template_objectACL", - "__template_storageClass", + "__template_index", + "__template_docType", + "__template_failedRequestLoggingMode", + "__template_elasticPipeline", "__template_onBackpressure", + "__template_url", ] ) serialized = handler(self) @@ -5711,24 +4247,30 @@ def serialize_model(self, handler): return m -class CreateOutputTypeGooglePubsub(str, Enum): - GOOGLE_PUBSUB = "google_pubsub" +class CreateOutputTypeMsk(str, Enum): + MSK = "msk" -class CreateOutputPqControlsGooglePubsubTypedDict(TypedDict): +class CreateOutputPqControlsMskTypedDict(TypedDict): pass -class CreateOutputPqControlsGooglePubsub(BaseModel): +class CreateOutputPqControlsMsk(BaseModel): pass -class CreateOutputOutputGooglePubsubTypedDict(TypedDict): +class CreateOutputOutputMskTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGooglePubsub - topic_name: str - r"""ID of the topic to send events to.""" + type: CreateOutputTypeMsk + brokers: List[str] + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" + topic: str + r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + aws_authentication_method: AuthenticationMethodOptionsS3CollectorConf + r"""AWS authentication method. Choose Auto to use IAM roles.""" + region: str + r"""Region where the MSK cluster is located""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -5737,33 +4279,64 @@ class CreateOutputOutputGooglePubsubTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - create_topic: NotRequired[bool] - r"""If enabled, create topic if it does not exist.""" - ordered_delivery: NotRequired[bool] - r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" - region: NotRequired[str] - r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" - google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - secret: NotRequired[str] - r"""Select or create a stored text secret""" - batch_size: NotRequired[float] - r"""The maximum number of items the Google API should batch before it sends them to the topic.""" - batch_timeout: NotRequired[float] - r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" - max_queue_size: NotRequired[float] - r"""Maximum number of queued batches before blocking.""" + ack: NotRequired[AcknowledgmentsOptionsAllLeader] + r"""Control the number of required acknowledgments.""" + format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] + r"""Format to use to serialize events before writing to Kafka.""" + compression: NotRequired[CompressionOptionsGzipLz4] + r"""Codec to use to compress the data before sending to Kafka""" max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of batches to send.""" - flush_period: NotRequired[float] - r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" - max_in_progress: NotRequired[float] - r"""The maximum number of in-progress API requests before backpressure is applied.""" + r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + flush_event_count: NotRequired[float] + r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + flush_period_sec: NotRequired[float] + r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + kafka_schema_registry: NotRequired[ + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict + ] + connection_timeout: NotRequired[float] + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + aws_secret_key: NotRequired[str] + endpoint: NotRequired[str] + r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access MSK""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + protobuf_library_id: NotRequired[str] + r"""Select a set of Protobuf definitions for the events you want to send""" + protobuf_encoding_id: NotRequired[str] + r"""Select the type of object you want the Protobuf definitions to use for event encoding""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -5786,25 +4359,51 @@ class CreateOutputOutputGooglePubsubTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsGooglePubsubTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsMskTypedDict] template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_name: NotRequired[str] - r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_compression: NotRequired[str] + r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputOutputGooglePubsub(BaseModel): +class CreateOutputOutputMsk(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGooglePubsub + type: CreateOutputTypeMsk - topic_name: Annotated[str, pydantic.Field(alias="topicName")] - r"""ID of the topic to send events to.""" + brokers: List[str] + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" + + topic: str + r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + + aws_authentication_method: Annotated[ + AuthenticationMethodOptionsS3CollectorConf, + pydantic.Field(alias="awsAuthenticationMethod"), + ] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + region: str + r"""Region where the MSK cluster is located""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -5820,56 +4419,109 @@ class CreateOutputOutputGooglePubsub(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - create_topic: Annotated[Optional[bool], pydantic.Field(alias="createTopic")] = None - r"""If enabled, create topic if it does not exist.""" + ack: Optional[AcknowledgmentsOptionsAllLeader] = None + r"""Control the number of required acknowledgments.""" - ordered_delivery: Annotated[ - Optional[bool], pydantic.Field(alias="orderedDelivery") + format_: Annotated[ + Optional[RecordDataFormatOptionsJSONProtobuf], pydantic.Field(alias="format") ] = None - r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" + r"""Format to use to serialize events before writing to Kafka.""" - region: Optional[str] = None - r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" + compression: Optional[CompressionOptionsGzipLz4] = None + r"""Codec to use to compress the data before sending to Kafka""" - google_auth_method: Annotated[ - Optional[GoogleAuthenticationMethodOptions], - pydantic.Field(alias="googleAuthMethod"), + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" - secret: Optional[str] = None - r"""Select or create a stored text secret""" + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" - batch_size: Annotated[Optional[float], pydantic.Field(alias="batchSize")] = None - r"""The maximum number of items the Google API should batch before it sends them to the topic.""" + kafka_schema_registry: Annotated[ + Optional[KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth], + pydantic.Field(alias="kafkaSchemaRegistry"), + ] = None - batch_timeout: Annotated[Optional[float], pydantic.Field(alias="batchTimeout")] = ( + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = None + r"""Maximum time to wait for a connection to complete successfully""" + + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") + ] = None + r"""Maximum time to wait for Kafka to respond to a request""" + + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") + ] = None + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") + ] = None + r"""Maximum time to wait for Kafka to respond to an authentication request""" + + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") + ] = None + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( None ) - r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" - max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + endpoint: Optional[str] = None + r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access MSK""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( None ) - r"""Maximum number of queued batches before blocking.""" + r"""Amazon Resource Name (ARN) of the role to assume""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""Maximum size (KB) of batches to send.""" - - flush_period: Annotated[Optional[float], pydantic.Field(alias="flushPeriod")] = None - r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" + r"""External ID to use when assuming role""" - max_in_progress: Annotated[ - Optional[float], pydantic.Field(alias="maxInProgress") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = None - r"""The maximum number of in-progress API requests before backpressure is applied.""" + 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).""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -5877,6 +4529,22 @@ class CreateOutputOutputGooglePubsub(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + protobuf_library_id: Annotated[ + Optional[str], pydantic.Field(alias="protobufLibraryId") + ] = None + r"""Select a set of Protobuf definitions for the events you want to send""" + + protobuf_encoding_id: Annotated[ + Optional[str], pydantic.Field(alias="protobufEncodingId") + ] = None + r"""Select the type of object you want the Protobuf definitions to use for event encoding""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -5928,7 +4596,7 @@ class CreateOutputOutputGooglePubsub(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsGooglePubsub], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsMsk], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -5936,26 +4604,88 @@ class CreateOutputOutputGooglePubsub(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_topicName") + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") ] = None - r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_compression: Annotated[ + Optional[str], pydantic.Field(alias="__template_compression") + ] = None + r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" + + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" template_region: Annotated[ Optional[str], pydantic.Field(alias="__template_region") ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("google_auth_method") - def serialize_google_auth_method(self, value): + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.GoogleAuthenticationMethodOptions(value) + return models.AcknowledgmentsOptionsAllLeader(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.RecordDataFormatOptionsJSONProtobuf(value) + except ValueError: + return value + return value + + @field_serializer("compression") + def serialize_compression(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsGzipLz4(value) + except ValueError: + return value + return value + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -6000,24 +4730,40 @@ def serialize_pq_on_backpressure(self, value): def serialize_model(self, handler): optional_fields = set( [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "createTopic", - "orderedDelivery", - "region", - "googleAuthMethod", - "serviceAccountCredentials", - "secret", - "batchSize", - "batchTimeout", - "maxQueueSize", + "pipeline", + "systemFields", + "environment", + "streamtags", + "ack", + "format", + "compression", "maxRecordSizeKB", - "flushPeriod", - "maxInProgress", + "flushEventCount", + "flushPeriodSec", + "kafkaSchemaRegistry", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "awsSecretKey", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "tls", "onBackpressure", "description", + "awsApiKey", + "awsSecret", + "protobufLibraryId", + "protobufEncodingId", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -6031,9 +4777,16 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_topicName", + "__template_topic", + "__template_format", + "__template_compression", + "__template_awsSecretKey", "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_onBackpressure", + "__template_awsApiKey", ] ) serialized = handler(self) @@ -6050,53 +4803,26 @@ def serialize_model(self, handler): return m -class CreateOutputTypeGoogleCloudObservability(str, Enum): - GOOGLE_CLOUD_OBSERVABILITY = "google_cloud_observability" - - -class CreateOutputProtocolGoogleCloudObservability( - str, Enum, metaclass=utils.OpenEnumMeta -): - GRPC = "grpc" - - -class CreateOutputOtlpVersionGoogleCloudObservability( - str, Enum, metaclass=utils.OpenEnumMeta -): - ONE_DOT_3_DOT_1 = "1.3.1" - - -class CreateOutputEndpointGoogleCloudObservability( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - - TELEMETRY_GOOGLEAPIS_COM_443 = "telemetry.googleapis.com:443" - - -class CreateOutputGoogleAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" - - # Auto - AUTO = "auto" - # Secret - SECRET = "secret" +class CreateOutputTypeConfluentCloud(str, Enum): + CONFLUENT_CLOUD = "confluent_cloud" -class CreateOutputPqControlsGoogleCloudObservabilityTypedDict(TypedDict): +class CreateOutputPqControlsConfluentCloudTypedDict(TypedDict): pass -class CreateOutputPqControlsGoogleCloudObservability(BaseModel): +class CreateOutputPqControlsConfluentCloud(BaseModel): pass -class CreateOutputOutputGoogleCloudObservabilityTypedDict(TypedDict): +class CreateOutputOutputConfluentCloudTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGoogleCloudObservability - google_auth_method: CreateOutputGoogleAuthenticationMethod - r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" + type: CreateOutputTypeConfluentCloud + brokers: List[str] + r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" + topic: str + r"""The topic to publish events to. Can be overridden using the __topicOut field.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -6105,38 +4831,48 @@ class CreateOutputOutputGoogleCloudObservabilityTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - protocol: NotRequired[CreateOutputProtocolGoogleCloudObservability] - otlp_version: NotRequired[CreateOutputOtlpVersionGoogleCloudObservability] - endpoint: NotRequired[CreateOutputEndpointGoogleCloudObservability] - r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - dynamic_headers_enabled: NotRequired[bool] - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: NotRequired[str] - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + ack: NotRequired[AcknowledgmentsOptionsAllLeader] + r"""Control the number of required acknowledgments.""" + format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] + r"""Format to use to serialize events before writing to Kafka.""" + compression: NotRequired[CompressionOptionsGzipLz4] + r"""Codec to use to compress the data before sending to Kafka""" + max_record_size_kb: NotRequired[float] + r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + flush_event_count: NotRequired[float] + r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + kafka_schema_registry: NotRequired[ + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict + ] connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - keep_alive_time: NotRequired[float] - r"""How often the sender should ping the peer to keep the connection open""" - tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] - max_payload_events: NotRequired[float] - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + sasl: NotRequired[AuthenticationTypeTypedDict] + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" + protobuf_library_id: NotRequired[str] + r"""Select a set of Protobuf definitions for the events you want to send""" + protobuf_encoding_id: NotRequired[str] + r"""Select the type of object you want the Protobuf definitions to use for event encoding""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -6159,25 +4895,32 @@ class CreateOutputOutputGoogleCloudObservabilityTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsGoogleCloudObservabilityTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsConfluentCloudTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_brokers: NotRequired[str] + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_compression: NotRequired[str] + r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputGoogleCloudObservability(BaseModel): +class CreateOutputOutputConfluentCloud(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGoogleCloudObservability + type: CreateOutputTypeConfluentCloud - google_auth_method: Annotated[ - CreateOutputGoogleAuthenticationMethod, pydantic.Field(alias="googleAuthMethod") - ] - r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" + brokers: List[str] + r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" + + topic: str + r"""The topic to publish events to. Can be overridden using the __topicOut field.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -6193,67 +4936,75 @@ class CreateOutputOutputGoogleCloudObservability(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - protocol: Optional[CreateOutputProtocolGoogleCloudObservability] = None - - otlp_version: Annotated[ - Optional[CreateOutputOtlpVersionGoogleCloudObservability], - pydantic.Field(alias="otlpVersion"), - ] = None - - endpoint: Optional[CreateOutputEndpointGoogleCloudObservability] = None - r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - - metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") - ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" + ack: Optional[AcknowledgmentsOptionsAllLeader] = None + r"""Control the number of required acknowledgments.""" - dynamic_headers_field: Annotated[ - Optional[str], pydantic.Field(alias="dynamicHeadersField") + format_: Annotated[ + Optional[RecordDataFormatOptionsJSONProtobuf], pydantic.Field(alias="format") ] = None - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + r"""Format to use to serialize events before writing to Kafka.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + compression: Optional[CompressionOptionsGzipLz4] = None + r"""Codec to use to compress the data before sending to Kafka""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" + r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") + ] = None + r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + kafka_schema_registry: Annotated[ + Optional[KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth], + pydantic.Field(alias="kafkaSchemaRegistry"), ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" connection_timeout: Annotated[ Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Maximum time to wait for a connection to complete successfully""" - keep_alive_time: Annotated[ - Optional[float], pydantic.Field(alias="keepAliveTime") + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") ] = None - r"""How often the sender should ping the peer to keep the connection open""" + r"""Maximum time to wait for Kafka to respond to a request""" - tls: Optional[TLSSettingsClientSideTypeExtended] = None + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") + ] = None + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") + ] = None + r"""Maximum time to wait for Kafka to respond to an authentication request""" + + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") ] = None - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + + sasl: Optional[AuthenticationType] = None + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -6261,9 +5012,17 @@ class CreateOutputOutputGoogleCloudObservability(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - secret: Optional[str] = None - r"""Select or create a stored text secret""" + protobuf_library_id: Annotated[ + Optional[str], pydantic.Field(alias="protobufLibraryId") + ] = None + r"""Select a set of Protobuf definitions for the events you want to send""" + + protobuf_encoding_id: Annotated[ + Optional[str], pydantic.Field(alias="protobufEncodingId") + ] = None + r"""Select the type of object you want the Protobuf definitions to use for event encoding""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -6315,7 +5074,7 @@ class CreateOutputOutputGoogleCloudObservability(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsGoogleCloudObservability], + Optional[CreateOutputPqControlsConfluentCloud], pydantic.Field(alias="pqControls"), ] = None @@ -6324,57 +5083,54 @@ class CreateOutputOutputGoogleCloudObservability(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_brokers: Annotated[ + Optional[str], pydantic.Field(alias="__template_brokers") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") + ] = None + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_compression: Annotated[ + Optional[str], pydantic.Field(alias="__template_compression") + ] = None + r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.CreateOutputProtocolGoogleCloudObservability(value) - except ValueError: - return value - return value - - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): - if isinstance(value, str): - try: - return models.CreateOutputOtlpVersionGoogleCloudObservability(value) - except ValueError: - return value - return value - - @field_serializer("endpoint") - def serialize_endpoint(self, value): + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.CreateOutputEndpointGoogleCloudObservability(value) + return models.AcknowledgmentsOptionsAllLeader(value) except ValueError: return value return value - @field_serializer("google_auth_method") - def serialize_google_auth_method(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputGoogleAuthenticationMethod(value) + return models.RecordDataFormatOptionsJSONProtobuf(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("compression") + def serialize_compression(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CompressionOptionsGzipLz4(value) except ValueError: return value return value @@ -6423,24 +5179,27 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "protocol", - "otlpVersion", - "endpoint", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", - "concurrency", - "maxPayloadSizeKB", - "timeoutSec", + "tls", + "ack", + "format", + "compression", + "maxRecordSizeKB", + "flushEventCount", "flushPeriodSec", - "failedRequestLoggingMode", + "kafkaSchemaRegistry", "connectionTimeout", - "keepAliveTime", - "tls", - "maxPayloadEvents", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", "onBackpressure", "description", - "secret", + "protobufLibraryId", + "protobufEncodingId", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -6454,7 +5213,10 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_failedRequestLoggingMode", + "__template_brokers", + "__template_topic", + "__template_format", + "__template_compression", "__template_onBackpressure", ] ) @@ -6469,156 +5231,79 @@ def serialize_model(self, handler): if val is not None or k not in optional_fields: m[k] = val - return m - - -class CreateOutputTypeGoogleCloudLogging(str, Enum): - GOOGLE_CLOUD_LOGGING = "google_cloud_logging" - - -class CreateOutputLogLocationType(str, Enum, metaclass=utils.OpenEnumMeta): - # Project - PROJECT = "project" - # Organization - ORGANIZATION = "organization" - # Billing Account - BILLING_ACCOUNT = "billingAccount" - # Folder - FOLDER = "folder" - - -class CreateOutputPayloadFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Format to use when sending payload. Defaults to Text.""" - - # Text - TEXT = "text" - # JSON - JSON = "json" - - -class CreateOutputPqControlsGoogleCloudLoggingTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsGoogleCloudLogging(BaseModel): - pass - - -class CreateOutputOutputGoogleCloudLoggingTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeGoogleCloudLogging - log_location_type: CreateOutputLogLocationType - log_name_expression: str - r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" - log_location_expression: str - r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - sanitize_log_names: NotRequired[bool] - payload_format: NotRequired[CreateOutputPayloadFormat] - r"""Format to use when sending payload. Defaults to Text.""" - log_labels: NotRequired[List[LogLabelConfOutputGoogleCloudLoggingTypedDict]] - r"""Labels to apply to the log entry""" - resource_type_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" - resource_type_labels: NotRequired[ - List[LogLabelConfOutputGoogleCloudLoggingTypedDict] - ] - r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" - severity_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" - insert_id_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the insert ID field.""" - google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - secret: NotRequired[str] - r"""Select or create a stored text secret""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body.""" - max_payload_events: NotRequired[float] - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" - throttle_rate_req_per_sec: NotRequired[int] - r"""Maximum number of requests to limit to per second.""" - request_method_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - request_url_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - request_size_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - status_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - response_size_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - user_agent_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - remote_ip_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - server_ip_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - referer_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - latency_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_lookup_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_hit_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_validated_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_fill_bytes_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - protocol_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - id_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - producer_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - first_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - last_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - file_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - line_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - function_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - uid_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - index_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - total_splits_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - trace_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - span_id_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - trace_sampled_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + return m + + +class CreateOutputTypeKafka(str, Enum): + KAFKA = "kafka" + + +class CreateOutputPqControlsKafkaTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsKafka(BaseModel): + pass + + +class CreateOutputOutputKafkaTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeKafka + brokers: List[str] + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" + topic: str + r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + ack: NotRequired[AcknowledgmentsOptionsAllLeader] + r"""Control the number of required acknowledgments.""" + format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] + r"""Format to use to serialize events before writing to Kafka.""" + compression: NotRequired[CompressionOptionsGzipLz4] + r"""Codec to use to compress the data before sending to Kafka""" + max_record_size_kb: NotRequired[float] + r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + flush_event_count: NotRequired[float] + r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + flush_period_sec: NotRequired[float] + r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + kafka_schema_registry: NotRequired[ + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict + ] + connection_timeout: NotRequired[float] + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + sasl: NotRequired[AuthenticationTypeTypedDict] + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - payload_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" + r"""Optional description for this configuration.""" + protobuf_library_id: NotRequired[str] + r"""Select a set of Protobuf definitions for the events you want to send""" + protobuf_encoding_id: NotRequired[str] + r"""Select the type of object you want the Protobuf definitions to use for event encoding""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -6641,52 +5326,30 @@ class CreateOutputOutputGoogleCloudLoggingTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsGoogleCloudLoggingTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsKafkaTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_log_location_type: NotRequired[str] - r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" - template_log_name_expression: NotRequired[str] - r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" - template_payload_format: NotRequired[str] - r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" - template_resource_type_expression: NotRequired[str] - r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" - template_severity_expression: NotRequired[str] - r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" - template_insert_id_expression: NotRequired[str] - r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" - template_trace_expression: NotRequired[str] - r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" - template_span_id_expression: NotRequired[str] - r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" - template_trace_sampled_expression: NotRequired[str] - r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_compression: NotRequired[str] + r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_log_location_expression: NotRequired[str] - r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" - template_payload_expression: NotRequired[str] - r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" -class CreateOutputOutputGoogleCloudLogging(BaseModel): +class CreateOutputOutputKafka(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGoogleCloudLogging - - log_location_type: Annotated[ - CreateOutputLogLocationType, pydantic.Field(alias="logLocationType") - ] + type: CreateOutputTypeKafka - log_name_expression: Annotated[str, pydantic.Field(alias="logNameExpression")] - r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" + brokers: List[str] + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" - log_location_expression: Annotated[ - str, pydantic.Field(alias="logLocationExpression") - ] - r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" + topic: str + r"""The topic to publish events to. Can be overridden using the __topicOut field.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -6702,384 +5365,592 @@ class CreateOutputOutputGoogleCloudLogging(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - sanitize_log_names: Annotated[ - Optional[bool], pydantic.Field(alias="sanitizeLogNames") + ack: Optional[AcknowledgmentsOptionsAllLeader] = None + r"""Control the number of required acknowledgments.""" + + format_: Annotated[ + Optional[RecordDataFormatOptionsJSONProtobuf], pydantic.Field(alias="format") ] = None + r"""Format to use to serialize events before writing to Kafka.""" - payload_format: Annotated[ - Optional[CreateOutputPayloadFormat], pydantic.Field(alias="payloadFormat") + compression: Optional[CompressionOptionsGzipLz4] = None + r"""Codec to use to compress the data before sending to Kafka""" + + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") + ] = None + r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") + ] = None + r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + + kafka_schema_registry: Annotated[ + Optional[KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth], + pydantic.Field(alias="kafkaSchemaRegistry"), + ] = None + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = None + r"""Maximum time to wait for a connection to complete successfully""" + + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") + ] = None + r"""Maximum time to wait for Kafka to respond to a request""" + + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") + ] = None + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") + ] = None + r"""Maximum time to wait for Kafka to respond to an authentication request""" + + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") + ] = None + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + + sasl: Optional[AuthenticationType] = None + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + protobuf_library_id: Annotated[ + Optional[str], pydantic.Field(alias="protobufLibraryId") + ] = None + r"""Select a set of Protobuf definitions for the events you want to send""" + + protobuf_encoding_id: Annotated[ + Optional[str], pydantic.Field(alias="protobufEncodingId") + ] = None + r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") + ] = None + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" + + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + ] = None + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Format to use when sending payload. Defaults to Text.""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - log_labels: Annotated[ - Optional[List[LogLabelConfOutputGoogleCloudLogging]], - pydantic.Field(alias="logLabels"), + pq_controls: Annotated[ + Optional[CreateOutputPqControlsKafka], pydantic.Field(alias="pqControls") ] = None - r"""Labels to apply to the log entry""" - resource_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="resourceTypeExpression") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - resource_type_labels: Annotated[ - Optional[List[LogLabelConfOutputGoogleCloudLogging]], - pydantic.Field(alias="resourceTypeLabels"), + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") ] = None - r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - severity_expression: Annotated[ - Optional[str], pydantic.Field(alias="severityExpression") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - insert_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="insertIdExpression") + template_compression: Annotated[ + Optional[str], pydantic.Field(alias="__template_compression") ] = None - r"""JavaScript expression to compute the value of the insert ID field.""" + r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" - google_auth_method: Annotated[ - Optional[GoogleAuthenticationMethodOptions], - pydantic.Field(alias="googleAuthMethod"), + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") - ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + @field_serializer("ack") + def serialize_ack(self, value): + if isinstance(value, str): + try: + return models.AcknowledgmentsOptionsAllLeader(value) + except ValueError: + return value + return value - secret: Optional[str] = None - r"""Select or create a stored text secret""" + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.RecordDataFormatOptionsJSONProtobuf(value) + except ValueError: + return value + return value - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body.""" + @field_serializer("compression") + def serialize_compression(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsGzipLz4(value) + except ValueError: + return value + return value - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking.""" + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "ack", + "format", + "compression", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "kafkaSchemaRegistry", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", + "onBackpressure", + "description", + "protobufLibraryId", + "protobufEncodingId", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_topic", + "__template_format", + "__template_compression", + "__template_onBackpressure", + ] + ) + serialized = handler(self) + m = {} - throttle_rate_req_per_sec: Annotated[ - Optional[int], pydantic.Field(alias="throttleRateReqPerSec") - ] = None - r"""Maximum number of requests to limit to per second.""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputTypeExabeam(str, Enum): + EXABEAM = "exabeam" + + +class CreateOutputOutputExabeamTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeExabeam + bucket: str + r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" + region: str + r"""Region where the bucket is located""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Google Cloud Storage service endpoint""" + collector_instance_id: str + r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 + + """ + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptionsArchiveColdline] + r"""Storage class to select for uploaded objects""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + encoded_configuration: NotRequired[str] + r"""Enter an encoded string containing Exabeam configurations""" + site_name: NotRequired[str] + r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" + site_id: NotRequired[str] + r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" + timezone_offset: NotRequired[str] + aws_api_key: NotRequired[str] + r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" + aws_secret_key: NotRequired[str] + r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - request_method_expression: Annotated[ - Optional[str], pydantic.Field(alias="requestMethodExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - request_url_expression: Annotated[ - Optional[str], pydantic.Field(alias="requestUrlExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" +class CreateOutputOutputExabeam(BaseModel): + id: str + r"""Unique ID for this output""" - request_size_expression: Annotated[ - Optional[str], pydantic.Field(alias="requestSizeExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + type: CreateOutputTypeExabeam - status_expression: Annotated[ - Optional[str], pydantic.Field(alias="statusExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + bucket: str + r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" - response_size_expression: Annotated[ - Optional[str], pydantic.Field(alias="responseSizeExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + region: str + r"""Region where the bucket is located""" - user_agent_expression: Annotated[ - Optional[str], pydantic.Field(alias="userAgentExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - remote_ip_expression: Annotated[ - Optional[str], pydantic.Field(alias="remoteIpExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + endpoint: str + r"""Google Cloud Storage service endpoint""" - server_ip_expression: Annotated[ - Optional[str], pydantic.Field(alias="serverIpExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + collector_instance_id: Annotated[str, pydantic.Field(alias="collectorInstanceId")] + r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 - referer_expression: Annotated[ - Optional[str], pydantic.Field(alias="refererExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + """ - latency_expression: Annotated[ - Optional[str], pydantic.Field(alias="latencyExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - cache_lookup_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheLookupExpression") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - cache_hit_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheHitExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - cache_validated_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheValidatedExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - cache_fill_bytes_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheFillBytesExpression") + object_acl: Annotated[ + Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], + pydantic.Field(alias="objectACL"), ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + r"""Object ACL to assign to uploaded objects""" - protocol_expression: Annotated[ - Optional[str], pydantic.Field(alias="protocolExpression") + storage_class: Annotated[ + Optional[StorageClassOptionsArchiveColdline], + pydantic.Field(alias="storageClass"), ] = None - r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - id_expression: Annotated[Optional[str], pydantic.Field(alias="idExpression")] = None - r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + r"""Storage class to select for uploaded objects""" - producer_expression: Annotated[ - Optional[str], pydantic.Field(alias="producerExpression") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = None - r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + r"""Reuse connections between requests, which can improve performance""" - first_expression: Annotated[ - Optional[str], pydantic.Field(alias="firstExpression") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - last_expression: Annotated[ - Optional[str], pydantic.Field(alias="lastExpression") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + r"""Add the Output ID value to staging location""" - file_expression: Annotated[ - Optional[str], pydantic.Field(alias="fileExpression") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None - r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + r"""Remove empty staging directories after moving files""" - line_expression: Annotated[ - Optional[str], pydantic.Field(alias="lineExpression") + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - function_expression: Annotated[ - Optional[str], pydantic.Field(alias="functionExpression") + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - uid_expression: Annotated[Optional[str], pydantic.Field(alias="uidExpression")] = ( + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( None ) - r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - - index_expression: Annotated[ - Optional[str], pydantic.Field(alias="indexExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - - total_splits_expression: Annotated[ - Optional[str], pydantic.Field(alias="totalSplitsExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - - trace_expression: Annotated[ - Optional[str], pydantic.Field(alias="traceExpression") - ] = None - r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - - span_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="spanIdExpression") - ] = None - r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - - trace_sampled_expression: Annotated[ - Optional[str], pydantic.Field(alias="traceSampledExpression") - ] = None - r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - - description: Optional[str] = None - - payload_expression: Annotated[ - Optional[str], pydantic.Field(alias="payloadExpression") - ] = None - r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" - - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") - ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") - ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + orphans: Optional[OrphanFileRecoveryType] = None - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Codec to use to compress the persisted data""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + encoded_configuration: Annotated[ + Optional[str], pydantic.Field(alias="encodedConfiguration") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Enter an encoded string containing Exabeam configurations""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") - ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + site_name: Annotated[Optional[str], pydantic.Field(alias="siteName")] = None + r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" - pq_controls: Annotated[ - Optional[CreateOutputPqControlsGoogleCloudLogging], - pydantic.Field(alias="pqControls"), - ] = None + site_id: Annotated[Optional[str], pydantic.Field(alias="siteId")] = None + r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + timezone_offset: Annotated[ + Optional[str], pydantic.Field(alias="timezoneOffset") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_log_location_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_logLocationType") - ] = None - r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - template_log_name_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_logNameExpression") + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" + r"""How frequently, in seconds, to clean up empty directories""" - template_payload_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_payloadFormat") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - template_resource_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_resourceTypeExpression") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - template_severity_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_severityExpression") + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_insert_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_insertIdExpression") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_trace_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_traceExpression") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_span_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_spanIdExpression") + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") ] = None - r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_trace_sampled_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_traceSampledExpression") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_log_location_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_logLocationExpression") - ] = None - r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" - - template_payload_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_payloadExpression") - ] = None - r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" - - @field_serializer("log_location_type") - def serialize_log_location_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputLogLocationType(value) - except ValueError: - return value - return value - - @field_serializer("payload_format") - def serialize_payload_format(self, value): + @field_serializer("object_acl") + def serialize_object_acl(self, value): if isinstance(value, str): try: - return models.CreateOutputPayloadFormat(value) + return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( + value + ) except ValueError: return value return value - @field_serializer("google_auth_method") - def serialize_google_auth_method(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.GoogleAuthenticationMethodOptions(value) + return models.StorageClassOptionsArchiveColdline(value) except ValueError: return value return value @@ -7088,34 +5959,16 @@ def serialize_google_auth_method(self, value): def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value @@ -7128,80 +5981,38 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "sanitizeLogNames", - "payloadFormat", - "logLabels", - "resourceTypeExpression", - "resourceTypeLabels", - "severityExpression", - "insertIdExpression", - "googleAuthMethod", - "serviceAccountCredentials", - "secret", - "maxPayloadSizeKB", - "maxPayloadEvents", - "flushPeriodSec", - "concurrency", - "connectionTimeout", - "timeoutSec", - "throttleRateReqPerSec", - "requestMethodExpression", - "requestUrlExpression", - "requestSizeExpression", - "statusExpression", - "responseSizeExpression", - "userAgentExpression", - "remoteIpExpression", - "serverIpExpression", - "refererExpression", - "latencyExpression", - "cacheLookupExpression", - "cacheHitExpression", - "cacheValidatedExpression", - "cacheFillBytesExpression", - "protocolExpression", - "idExpression", - "producerExpression", - "firstExpression", - "lastExpression", - "fileExpression", - "lineExpression", - "functionExpression", - "uidExpression", - "indexExpression", - "totalSplitsExpression", - "traceExpression", - "spanIdExpression", - "traceSampledExpression", + "objectACL", + "storageClass", + "reuseConnections", + "rejectUnauthorized", + "addIdToStagePath", + "removeEmptyDirs", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", "onBackpressure", - "totalMemoryLimitKB", + "deadletterEnabled", + "onDiskFullBackpressure", + "retrySettings", + "orphans", + "maxFileSizeMB", + "encodedConfiguration", + "siteName", + "siteId", + "timezoneOffset", + "awsApiKey", + "awsSecretKey", "description", - "payloadExpression", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_logLocationType", - "__template_logNameExpression", - "__template_payloadFormat", - "__template_resourceTypeExpression", - "__template_severityExpression", - "__template_insertIdExpression", - "__template_traceExpression", - "__template_spanIdExpression", - "__template_traceSampledExpression", + "__template_region", + "__template_endpoint", + "__template_objectACL", + "__template_storageClass", "__template_onBackpressure", - "__template_logLocationExpression", - "__template_payloadExpression", ] ) serialized = handler(self) @@ -7218,33 +6029,24 @@ def serialize_model(self, handler): return m -class CreateOutputTypeGoogleCloudStorage(str, Enum): - GOOGLE_CLOUD_STORAGE = "google_cloud_storage" +class CreateOutputTypeGooglePubsub(str, Enum): + GOOGLE_PUBSUB = "google_pubsub" -class CreateOutputAuthenticationMethodGoogleCloudStorage( - str, Enum, metaclass=utils.OpenEnumMeta -): - # auto - AUTO = "auto" - # manual - MANUAL = "manual" - # Secret Key pair - SECRET = "secret" +class CreateOutputPqControlsGooglePubsubTypedDict(TypedDict): + pass -class CreateOutputOutputGoogleCloudStorageTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeGoogleCloudStorage - bucket: str - r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" - region: str - r"""Region where the bucket is located""" - endpoint: str - r"""Google Cloud Storage service endpoint""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" +class CreateOutputPqControlsGooglePubsub(BaseModel): + pass + + +class CreateOutputOutputGooglePubsubTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeGooglePubsub + topic_name: str + r"""ID of the topic to send events to.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -7253,548 +6055,684 @@ class CreateOutputOutputGoogleCloudStorageTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[ - CreateOutputAuthenticationMethodGoogleCloudStorage - ] - dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptionsArchiveColdline] - r"""Storage class to select for uploaded objects""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + create_topic: NotRequired[bool] + r"""If enabled, create topic if it does not exist.""" + ordered_delivery: NotRequired[bool] + r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" + region: NotRequired[str] + r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" + google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" + batch_size: NotRequired[float] + r"""The maximum number of items the Google API should batch before it sends them to the topic.""" + batch_timeout: NotRequired[float] + r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" + max_queue_size: NotRequired[float] + r"""Maximum number of queued batches before blocking.""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of batches to send.""" + flush_period: NotRequired[float] + r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" + max_in_progress: NotRequired[float] + r"""The maximum number of in-progress API requests before backpressure is applied.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - aws_api_key: NotRequired[str] - r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - aws_secret_key: NotRequired[str] - r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputPqControlsGooglePubsubTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_topic_name: NotRequired[str] + r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" -class CreateOutputOutputGoogleCloudStorage(BaseModel): +class CreateOutputOutputGooglePubsub(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGoogleCloudStorage + type: CreateOutputTypeGooglePubsub - bucket: str - r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" + topic_name: Annotated[str, pydantic.Field(alias="topicName")] + r"""ID of the topic to send events to.""" - region: str - r"""Region where the bucket is located""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + create_topic: Annotated[Optional[bool], pydantic.Field(alias="createTopic")] = None + r"""If enabled, create topic if it does not exist.""" + + ordered_delivery: Annotated[ + Optional[bool], pydantic.Field(alias="orderedDelivery") + ] = None + r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" + + region: Optional[str] = None + r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" + + google_auth_method: Annotated[ + Optional[GoogleAuthenticationMethodOptions], + pydantic.Field(alias="googleAuthMethod"), + ] = None + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") + ] = None + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + + secret: Optional[str] = None + r"""Select or create a stored text secret""" + + batch_size: Annotated[Optional[float], pydantic.Field(alias="batchSize")] = None + r"""The maximum number of items the Google API should batch before it sends them to the topic.""" + + batch_timeout: Annotated[Optional[float], pydantic.Field(alias="batchTimeout")] = ( + None + ) + r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" + + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking.""" + + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") + ] = None + r"""Maximum size (KB) of batches to send.""" + + flush_period: Annotated[Optional[float], pydantic.Field(alias="flushPeriod")] = None + r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" + + max_in_progress: Annotated[ + Optional[float], pydantic.Field(alias="maxInProgress") + ] = None + r"""The maximum number of in-progress API requests before backpressure is applied.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - endpoint: str - r"""Google Cloud Storage service endpoint""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - aws_authentication_method: Annotated[ - Optional[CreateOutputAuthenticationMethodGoogleCloudStorage], - pydantic.Field(alias="awsAuthenticationMethod"), + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None + r"""Codec to use to compress the persisted data""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - object_acl: Annotated[ - Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], - pydantic.Field(alias="objectACL"), + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Object ACL to assign to uploaded objects""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - storage_class: Annotated[ - Optional[StorageClassOptionsArchiveColdline], - pydantic.Field(alias="storageClass"), + pq_controls: Annotated[ + Optional[CreateOutputPqControlsGooglePubsub], pydantic.Field(alias="pqControls") ] = None - r"""Storage class to select for uploaded objects""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + template_topic_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_topicName") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""Add the Output ID value to staging location""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Remove empty staging directories after moving files""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + @field_serializer("google_auth_method") + def serialize_google_auth_method(self, value): + if isinstance(value, str): + try: + return models.GoogleAuthenticationMethodOptions(value) + except ValueError: + return value + return value - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") - ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "createTopic", + "orderedDelivery", + "region", + "googleAuthMethod", + "serviceAccountCredentials", + "secret", + "batchSize", + "batchTimeout", + "maxQueueSize", + "maxRecordSizeKB", + "flushPeriod", + "maxInProgress", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_topicName", + "__template_region", + "__template_onBackpressure", + ] + ) + serialized = handler(self) + m = {} - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") - ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" + return m - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") - ] = None - r"""Buffer size used to write to a file""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" +class CreateOutputTypeGoogleCloudObservability(str, Enum): + GOOGLE_CLOUD_OBSERVABILITY = "google_cloud_observability" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") - ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), - ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" +class CreateOutputProtocolGoogleCloudObservability( + str, Enum, metaclass=utils.OpenEnumMeta +): + GRPC = "grpc" + + +class CreateOutputOtlpVersionGoogleCloudObservability( + str, Enum, metaclass=utils.OpenEnumMeta +): + ONE_DOT_3_DOT_1 = "1.3.1" + + +class CreateOutputEndpointGoogleCloudObservability( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" + + TELEMETRY_GOOGLEAPIS_COM_443 = "telemetry.googleapis.com:443" + + +class CreateOutputGoogleAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" + + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") - ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None +class CreateOutputPqControlsGoogleCloudObservabilityTypedDict(TypedDict): + pass - orphans: Optional[OrphanFileRecoveryType] = None - description: Optional[str] = None +class CreateOutputPqControlsGoogleCloudObservability(BaseModel): + pass - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" +class CreateOutputOutputGoogleCloudObservabilityTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeGoogleCloudObservability + google_auth_method: CreateOutputGoogleAuthenticationMethod + r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + protocol: NotRequired[CreateOutputProtocolGoogleCloudObservability] + otlp_version: NotRequired[CreateOutputOtlpVersionGoogleCloudObservability] + endpoint: NotRequired[CreateOutputEndpointGoogleCloudObservability] + r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" + metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + dynamic_headers_enabled: NotRequired[bool] + r"""Batch event data upon dynamic metadata (whether presented or not)""" + dynamic_headers_field: NotRequired[str] + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + keep_alive_time: NotRequired[float] + r"""How often the sender should ping the peer to keep the connection open""" + tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] + max_payload_events: NotRequired[float] + r"""Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputPqControlsGoogleCloudObservabilityTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" +class CreateOutputOutputGoogleCloudObservability(BaseModel): + id: str + r"""Unique ID for this output""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" + type: CreateOutputTypeGoogleCloudObservability - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + google_auth_method: Annotated[ + CreateOutputGoogleAuthenticationMethod, pydantic.Field(alias="googleAuthMethod") + ] + r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") - ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + protocol: Optional[CreateOutputProtocolGoogleCloudObservability] = None - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + otlp_version: Annotated[ + Optional[CreateOutputOtlpVersionGoogleCloudObservability], + pydantic.Field(alias="otlpVersion"), ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") - ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + endpoint: Optional[CreateOutputEndpointGoogleCloudObservability] = None + r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") - ] = None - r"""How frequently, in seconds, to clean up empty directories""" + metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + dynamic_headers_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""Batch event data upon dynamic metadata (whether presented or not)""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + dynamic_headers_field: Annotated[ + Optional[str], pydantic.Field(alias="dynamicHeadersField") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + keep_alive_time: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTime") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""How often the sender should ping the peer to keep the connection open""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + tls: Optional[TLSSettingsClientSideTypeExtended] = None + + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + r"""How to handle events when all receivers are exerting backpressure""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") + description: Optional[str] = None + r"""Optional description for this configuration.""" + + secret: Optional[str] = None + r"""Select or create a stored text secret""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Codec to use to compress the persisted data""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + pq_controls: Annotated[ + Optional[CreateOutputPqControlsGoogleCloudObservability], + pydantic.Field(alias="pqControls"), ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.CreateOutputAuthenticationMethodGoogleCloudStorage(value) - except ValueError: - return value - return value + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( - value - ) + return models.CreateOutputProtocolGoogleCloudObservability(value) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.StorageClassOptionsArchiveColdline(value) + return models.CreateOutputOtlpVersionGoogleCloudObservability(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("endpoint") + def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.DataFormatOptions(value) + return models.CreateOutputEndpointGoogleCloudObservability(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("google_auth_method") + def serialize_google_auth_method(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.CreateOutputGoogleAuthenticationMethod(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsHTTP(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("compression_level") - def serialize_compression_level(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.CompressionLevelOptions(value) + return models.ModeOptions(value) except ValueError: return value return value - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): if isinstance(value, str): try: - return models.ParquetVersionOptions(value) + return models.CompressionOptionsPq(value) except ValueError: return value return value - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -7807,128 +6745,41 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAuthenticationMethod", - "destPath", - "verifyPermissions", - "objectACL", - "storageClass", - "reuseConnections", - "rejectUnauthorized", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "awsApiKey", - "awsSecretKey", - "awsSecret", - "__template_streamtags", - "__template_bucket", - "__template_region", - "__template_endpoint", - "__template_destPath", - "__template_objectACL", - "__template_storageClass", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", - "__template_awsApiKey", - "__template_awsSecretKey", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeGoogleChronicle(str, Enum): - GOOGLE_CHRONICLE = "google_chronicle" - - -class CreateOutputAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta): - # V1 - V1 = "v1" - # V2 - V2 = "v2" - - -class CreateOutputAuthenticationMethodGoogleChronicle( - str, Enum, metaclass=utils.OpenEnumMeta -): - # API key - MANUAL = "manual" - # API key secret - SECRET = "secret" - # Service account credentials - SERVICE_ACCOUNT = "serviceAccount" - # Service account credentials secret - SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" - - -class CreateOutputSendEventsAs(str, Enum, metaclass=utils.OpenEnumMeta): - # Unstructured - UNSTRUCTURED = "unstructured" - # UDM - UDM = "udm" - - -class CreateOutputExtraLogTypeTypedDict(TypedDict): - log_type: str - description: NotRequired[str] - - -class CreateOutputExtraLogType(BaseModel): - log_type: Annotated[str, pydantic.Field(alias="logType")] - - description: Optional[str] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["description"]) + "protocol", + "otlpVersion", + "endpoint", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", + "concurrency", + "maxPayloadSizeKB", + "timeoutSec", + "flushPeriodSec", + "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "tls", + "maxPayloadEvents", + "onBackpressure", + "description", + "secret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + ] + ) serialized = handler(self) m = {} @@ -7943,26 +6794,47 @@ def serialize_model(self, handler): return m -class CreateOutputUDMType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" +class CreateOutputTypeGoogleCloudLogging(str, Enum): + GOOGLE_CLOUD_LOGGING = "google_cloud_logging" - ENTITIES = "entities" - LOGS = "logs" +class CreateOutputLogLocationType(str, Enum, metaclass=utils.OpenEnumMeta): + # Project + PROJECT = "project" + # Organization + ORGANIZATION = "organization" + # Billing Account + BILLING_ACCOUNT = "billingAccount" + # Folder + FOLDER = "folder" -class CreateOutputPqControlsGoogleChronicleTypedDict(TypedDict): + +class CreateOutputPayloadFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Format to use when sending payload. Defaults to Text.""" + + # Text + TEXT = "text" + # JSON + JSON = "json" + + +class CreateOutputPqControlsGoogleCloudLoggingTypedDict(TypedDict): pass -class CreateOutputPqControlsGoogleChronicle(BaseModel): +class CreateOutputPqControlsGoogleCloudLogging(BaseModel): pass -class CreateOutputOutputGoogleChronicleTypedDict(TypedDict): +class CreateOutputOutputGoogleCloudLoggingTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGoogleChronicle - log_format_type: CreateOutputSendEventsAs + type: CreateOutputTypeGoogleCloudLogging + log_location_type: CreateOutputLogLocationType + log_name_expression: str + r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" + log_location_expression: str + r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -7971,69 +6843,105 @@ class CreateOutputOutputGoogleChronicleTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - api_version: NotRequired[CreateOutputAPIVersion] - authentication_method: NotRequired[CreateOutputAuthenticationMethodGoogleChronicle] - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] + sanitize_log_names: NotRequired[bool] + payload_format: NotRequired[CreateOutputPayloadFormat] + r"""Format to use when sending payload. Defaults to Text.""" + log_labels: NotRequired[List[LogLabelConfOutputGoogleCloudLoggingTypedDict]] + r"""Labels to apply to the log entry""" + resource_type_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" + resource_type_labels: NotRequired[ + List[LogLabelConfOutputGoogleCloudLoggingTypedDict] ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - region: NotRequired[str] - r"""Regional endpoint to send events to""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" + r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" + severity_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" + insert_id_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the insert ID field.""" + google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body.""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Max number of events to include in the request body. Default is 0 (unlimited).""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" + throttle_rate_req_per_sec: NotRequired[int] + r"""Maximum number of requests to limit to per second.""" + request_method_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + request_url_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + request_size_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + status_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + response_size_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + user_agent_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + remote_ip_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + server_ip_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + referer_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + latency_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_lookup_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_hit_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_validated_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_fill_bytes_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + protocol_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + id_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + producer_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + first_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + last_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + file_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + line_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + function_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + uid_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + index_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + total_splits_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + trace_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + span_id_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + trace_sampled_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - extra_log_types: NotRequired[List[CreateOutputExtraLogTypeTypedDict]] - r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" - log_type: NotRequired[str] - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" - log_text_field: NotRequired[str] - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - customer_id: NotRequired[str] - r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" - namespace: NotRequired[str] - r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" - custom_labels: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""Custom labels to be added to every batch""" - udm_type: NotRequired[CreateOutputUDMType] - r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" - api_key: NotRequired[str] - r"""Organization's API key in Google SecOps""" - api_key_secret: NotRequired[str] - r"""Select or create a stored text secret""" - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - service_account_credentials_secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" + payload_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -8056,31 +6964,53 @@ class CreateOutputOutputGoogleChronicleTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsGoogleChronicleTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsGoogleCloudLoggingTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_api_version: NotRequired[str] - r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_log_location_type: NotRequired[str] + r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" + template_log_name_expression: NotRequired[str] + r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" + template_payload_format: NotRequired[str] + r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" + template_resource_type_expression: NotRequired[str] + r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" + template_severity_expression: NotRequired[str] + r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" + template_insert_id_expression: NotRequired[str] + r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" + template_trace_expression: NotRequired[str] + r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" + template_span_id_expression: NotRequired[str] + r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" + template_trace_sampled_expression: NotRequired[str] + r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_customer_id: NotRequired[str] - r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" + template_log_location_expression: NotRequired[str] + r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" + template_payload_expression: NotRequired[str] + r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" -class CreateOutputOutputGoogleChronicle(BaseModel): +class CreateOutputOutputGoogleCloudLogging(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGoogleChronicle + type: CreateOutputTypeGoogleCloudLogging - log_format_type: Annotated[ - CreateOutputSendEventsAs, pydantic.Field(alias="logFormatType") + log_location_type: Annotated[ + CreateOutputLogLocationType, pydantic.Field(alias="logLocationType") ] + log_name_expression: Annotated[str, pydantic.Field(alias="logNameExpression")] + r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" + + log_location_expression: Annotated[ + str, pydantic.Field(alias="logLocationExpression") + ] + r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" + pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -8095,146 +7025,242 @@ class CreateOutputOutputGoogleChronicle(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - api_version: Annotated[ - Optional[CreateOutputAPIVersion], pydantic.Field(alias="apiVersion") + sanitize_log_names: Annotated[ + Optional[bool], pydantic.Field(alias="sanitizeLogNames") ] = None - authentication_method: Annotated[ - Optional[CreateOutputAuthenticationMethodGoogleChronicle], - pydantic.Field(alias="authenticationMethod"), + payload_format: Annotated[ + Optional[CreateOutputPayloadFormat], pydantic.Field(alias="payloadFormat") ] = None + r"""Format to use when sending payload. Defaults to Text.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + log_labels: Annotated[ + Optional[List[LogLabelConfOutputGoogleCloudLogging]], + pydantic.Field(alias="logLabels"), ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Labels to apply to the log entry""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + resource_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="resourceTypeExpression") ] = None + r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + resource_type_labels: Annotated[ + Optional[List[LogLabelConfOutputGoogleCloudLogging]], + pydantic.Field(alias="resourceTypeLabels"), ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" - region: Optional[str] = None - r"""Regional endpoint to send events to""" + severity_expression: Annotated[ + Optional[str], pydantic.Field(alias="severityExpression") + ] = None + r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + insert_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="insertIdExpression") + ] = None + r"""JavaScript expression to compute the value of the insert ID field.""" + + google_auth_method: Annotated[ + Optional[GoogleAuthenticationMethodOptions], + pydantic.Field(alias="googleAuthMethod"), + ] = None + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") + ] = None + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + + secret: Optional[str] = None + r"""Select or create a stored text secret""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body.""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Max number of events to include in the request body. Default is 0 (unlimited).""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + throttle_rate_req_per_sec: Annotated[ + Optional[int], pydantic.Field(alias="throttleRateReqPerSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum number of requests to limit to per second.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + request_method_expression: Annotated[ + Optional[str], pydantic.Field(alias="requestMethodExpression") ] = None - r"""Headers to add to all events""" + r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + request_url_expression: Annotated[ + Optional[str], pydantic.Field(alias="requestUrlExpression") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + request_size_expression: Annotated[ + Optional[str], pydantic.Field(alias="requestSizeExpression") ] = None - r"""List of headers that are safe to log in plain text""" + r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + status_expression: Annotated[ + Optional[str], pydantic.Field(alias="statusExpression") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" + r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + response_size_expression: Annotated[ + Optional[str], pydantic.Field(alias="responseSizeExpression") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + user_agent_expression: Annotated[ + Optional[str], pydantic.Field(alias="userAgentExpression") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - description: Optional[str] = None + remote_ip_expression: Annotated[ + Optional[str], pydantic.Field(alias="remoteIpExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - extra_log_types: Annotated[ - Optional[List[CreateOutputExtraLogType]], pydantic.Field(alias="extraLogTypes") + server_ip_expression: Annotated[ + Optional[str], pydantic.Field(alias="serverIpExpression") ] = None - r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" + r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + referer_expression: Annotated[ + Optional[str], pydantic.Field(alias="refererExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( - None - ) - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + latency_expression: Annotated[ + Optional[str], pydantic.Field(alias="latencyExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - customer_id: Annotated[Optional[str], pydantic.Field(alias="customerId")] = None - r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" + cache_lookup_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheLookupExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - namespace: Optional[str] = None - r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + cache_hit_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheHitExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - custom_labels: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="customLabels"), + cache_validated_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheValidatedExpression") ] = None - r"""Custom labels to be added to every batch""" + r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - udm_type: Annotated[ - Optional[CreateOutputUDMType], pydantic.Field(alias="udmType") + cache_fill_bytes_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheFillBytesExpression") ] = None - r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""Organization's API key in Google SecOps""" + protocol_expression: Annotated[ + Optional[str], pydantic.Field(alias="protocolExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - api_key_secret: Annotated[Optional[str], pydantic.Field(alias="apiKeySecret")] = ( + id_expression: Annotated[Optional[str], pydantic.Field(alias="idExpression")] = None + r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + + producer_expression: Annotated[ + Optional[str], pydantic.Field(alias="producerExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + + first_expression: Annotated[ + Optional[str], pydantic.Field(alias="firstExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + + last_expression: Annotated[ + Optional[str], pydantic.Field(alias="lastExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + + file_expression: Annotated[ + Optional[str], pydantic.Field(alias="fileExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + + line_expression: Annotated[ + Optional[str], pydantic.Field(alias="lineExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + + function_expression: Annotated[ + Optional[str], pydantic.Field(alias="functionExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + + uid_expression: Annotated[Optional[str], pydantic.Field(alias="uidExpression")] = ( None ) - r"""Select or create a stored text secret""" + r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + index_expression: Annotated[ + Optional[str], pydantic.Field(alias="indexExpression") ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - service_account_credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + total_splits_expression: Annotated[ + Optional[str], pydantic.Field(alias="totalSplitsExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + + trace_expression: Annotated[ + Optional[str], pydantic.Field(alias="traceExpression") + ] = None + r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + + span_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="spanIdExpression") + ] = None + r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + + trace_sampled_expression: Annotated[ + Optional[str], pydantic.Field(alias="traceSampledExpression") + ] = None + r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + payload_expression: Annotated[ + Optional[str], pydantic.Field(alias="payloadExpression") ] = None - r"""Select or create a stored text secret""" + r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -8286,7 +7312,7 @@ class CreateOutputOutputGoogleChronicle(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsGoogleChronicle], + Optional[CreateOutputPqControlsGoogleCloudLogging], pydantic.Field(alias="pqControls"), ] = None @@ -8295,63 +7321,89 @@ class CreateOutputOutputGoogleChronicle(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_api_version: Annotated[ - Optional[str], pydantic.Field(alias="__template_apiVersion") + template_log_location_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logLocationType") ] = None - r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" + r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_log_name_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_logNameExpression") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_payload_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_payloadFormat") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" + + template_resource_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_resourceTypeExpression") + ] = None + r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" + + template_severity_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_severityExpression") + ] = None + r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" + + template_insert_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_insertIdExpression") + ] = None + r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" + + template_trace_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_traceExpression") + ] = None + r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" + + template_span_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_spanIdExpression") + ] = None + r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" + + template_trace_sampled_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_traceSampledExpression") + ] = None + r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_customer_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_customerId") + template_log_location_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_logLocationExpression") ] = None - r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" + r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" - @field_serializer("api_version") - def serialize_api_version(self, value): - if isinstance(value, str): - try: - return models.CreateOutputAPIVersion(value) - except ValueError: - return value - return value + template_payload_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_payloadExpression") + ] = None + r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" - @field_serializer("authentication_method") - def serialize_authentication_method(self, value): + @field_serializer("log_location_type") + def serialize_log_location_type(self, value): if isinstance(value, str): try: - return models.CreateOutputAuthenticationMethodGoogleChronicle(value) + return models.CreateOutputLogLocationType(value) except ValueError: return value return value - @field_serializer("log_format_type") - def serialize_log_format_type(self, value): + @field_serializer("payload_format") + def serialize_payload_format(self, value): if isinstance(value, str): try: - return models.CreateOutputSendEventsAs(value) + return models.CreateOutputPayloadFormat(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("google_auth_method") + def serialize_google_auth_method(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.GoogleAuthenticationMethodOptions(value) except ValueError: return value return value @@ -8365,15 +7417,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("udm_type") - def serialize_udm_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputUDMType(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -8409,37 +7452,55 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "region", - "concurrency", + "sanitizeLogNames", + "payloadFormat", + "logLabels", + "resourceTypeExpression", + "resourceTypeLabels", + "severityExpression", + "insertIdExpression", + "googleAuthMethod", + "serviceAccountCredentials", + "secret", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "useRoundRobinDns", + "concurrency", + "connectionTimeout", + "timeoutSec", + "throttleRateReqPerSec", + "requestMethodExpression", + "requestUrlExpression", + "requestSizeExpression", + "statusExpression", + "responseSizeExpression", + "userAgentExpression", + "remoteIpExpression", + "serverIpExpression", + "refererExpression", + "latencyExpression", + "cacheLookupExpression", + "cacheHitExpression", + "cacheValidatedExpression", + "cacheFillBytesExpression", + "protocolExpression", + "idExpression", + "producerExpression", + "firstExpression", + "lastExpression", + "fileExpression", + "lineExpression", + "functionExpression", + "uidExpression", + "indexExpression", + "totalSplitsExpression", + "traceExpression", + "spanIdExpression", + "traceSampledExpression", "onBackpressure", "totalMemoryLimitKB", "description", - "extraLogTypes", - "logType", - "logTextField", - "customerId", - "namespace", - "customLabels", - "udmType", - "apiKey", - "apiKeySecret", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", + "payloadExpression", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -8453,11 +7514,18 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_apiVersion", - "__template_region", - "__template_failedRequestLoggingMode", + "__template_logLocationType", + "__template_logNameExpression", + "__template_payloadFormat", + "__template_resourceTypeExpression", + "__template_severityExpression", + "__template_insertIdExpression", + "__template_traceExpression", + "__template_spanIdExpression", + "__template_traceSampledExpression", "__template_onBackpressure", - "__template_customerId", + "__template_logLocationExpression", + "__template_payloadExpression", ] ) serialized = handler(self) @@ -8474,26 +7542,33 @@ def serialize_model(self, handler): return m -class CreateOutputTypeAzureEventhub(str, Enum): - AZURE_EVENTHUB = "azure_eventhub" - - -class CreateOutputPqControlsAzureEventhubTypedDict(TypedDict): - pass +class CreateOutputTypeGoogleCloudStorage(str, Enum): + GOOGLE_CLOUD_STORAGE = "google_cloud_storage" -class CreateOutputPqControlsAzureEventhub(BaseModel): - pass +class CreateOutputAuthenticationMethodGoogleCloudStorage( + str, Enum, metaclass=utils.OpenEnumMeta +): + # auto + AUTO = "auto" + # manual + MANUAL = "manual" + # Secret Key pair + SECRET = "secret" -class CreateOutputOutputAzureEventhubTypedDict(TypedDict): +class CreateOutputOutputGoogleCloudStorageTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAzureEventhub - brokers: List[str] - r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" - topic: str - r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" + type: CreateOutputTypeGoogleCloudStorage + bucket: str + r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" + region: str + r"""Region where the bucket is located""" + endpoint: str + r"""Google Cloud Storage service endpoint""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -8502,84 +7577,148 @@ class CreateOutputOutputAzureEventhubTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - ack: NotRequired[AcknowledgmentsOptions] - r"""Control the number of required acknowledgments""" - format_: NotRequired[RecordDataFormatOptions] - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - flush_event_count: NotRequired[float] - r"""Maximum number of events in a batch before forcing a flush""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: NotRequired[AuthenticationTypeUseTypedDict] - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - tls: NotRequired[TLSSettingsClientSideTypeTypedDict] - on_backpressure: NotRequired[BackpressureBehaviorOptions] + aws_authentication_method: NotRequired[ + CreateOutputAuthenticationMethodGoogleCloudStorage + ] + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptionsArchiveColdline] + r"""Storage class to select for uploaded objects""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsAzureEventhubTypedDict] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + aws_api_key: NotRequired[str] + r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" + aws_secret_key: NotRequired[str] + r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_brokers: NotRequired[str] - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" -class CreateOutputOutputAzureEventhub(BaseModel): +class CreateOutputOutputGoogleCloudStorage(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAzureEventhub + type: CreateOutputTypeGoogleCloudStorage - brokers: List[str] - r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" + bucket: str + r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" - topic: str - r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" + region: str + r"""Region where the bucket is located""" + + endpoint: str + r"""Google Cloud Storage service endpoint""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -8595,204 +7734,393 @@ class CreateOutputOutputAzureEventhub(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" + aws_authentication_method: Annotated[ + Optional[CreateOutputAuthenticationMethodGoogleCloudStorage], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + r"""Disable if you can access files within the bucket but not the bucket itself""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + object_acl: Annotated[ + Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], + pydantic.Field(alias="objectACL"), + ] = None + r"""Object ACL to assign to uploaded objects""" + + storage_class: Annotated[ + Optional[StorageClassOptionsArchiveColdline], + pydantic.Field(alias="storageClass"), + ] = None + r"""Storage class to select for uploaded objects""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" + + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" + + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + ] = None + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") + ] = None + r"""Buffer size used to write to a file""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None - r"""Maximum number of events in a batch before forcing a flush""" + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") - ] = None - r"""Maximum time to wait for Kafka to respond to a request""" + orphans: Optional[OrphanFileRecoveryType] = None - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + r"""Compression level to apply before moving files to final destination""" - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""Determines which data types are supported and how they are represented""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - sasl: Optional[AuthenticationTypeUse] = None - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - tls: Optional[TLSSettingsClientSideType] = None + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - description: Optional[str] = None + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), + ] = None + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") + ] = None + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Codec to use to compress the persisted data""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - pq_controls: Annotated[ - Optional[CreateOutputPqControlsAzureEventhub], - pydantic.Field(alias="pqControls"), + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_brokers: Annotated[ - Optional[str], pydantic.Field(alias="__template_brokers") + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") ] = None - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") + ] = None + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("ack") - def serialize_ack(self, value): + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.CreateOutputAuthenticationMethodGoogleCloudStorage(value) + except ValueError: + return value + return value + + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( + value + ) + except ValueError: + return value + return value + + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.StorageClassOptionsArchiveColdline(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.DataFormatOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AcknowledgmentsOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.RecordDataFormatOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.ParquetVersionOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -8805,40 +8133,68 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", + "awsAuthenticationMethod", + "destPath", + "verifyPermissions", + "objectACL", + "storageClass", + "reuseConnections", + "rejectUnauthorized", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", "format", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "tls", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "awsApiKey", + "awsSecretKey", + "awsSecret", "__template_streamtags", - "__template_brokers", - "__template_topic", + "__template_bucket", + "__template_region", + "__template_endpoint", + "__template_destPath", + "__template_objectACL", + "__template_storageClass", + "__template_partitionExpr", "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", + "__template_awsApiKey", + "__template_awsSecretKey", ] ) serialized = handler(self) @@ -8855,24 +8211,84 @@ def serialize_model(self, handler): return m -class CreateOutputTypeHoneycomb(str, Enum): - HONEYCOMB = "honeycomb" +class CreateOutputTypeGoogleChronicle(str, Enum): + GOOGLE_CHRONICLE = "google_chronicle" -class CreateOutputPqControlsHoneycombTypedDict(TypedDict): +class CreateOutputAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta): + # V1 + V1 = "v1" + # V2 + V2 = "v2" + + +class CreateOutputAuthenticationMethodGoogleChronicle( + str, Enum, metaclass=utils.OpenEnumMeta +): + # API key + MANUAL = "manual" + # API key secret + SECRET = "secret" + # Service account credentials + SERVICE_ACCOUNT = "serviceAccount" + # Service account credentials secret + SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" + + +class CreateOutputSendEventsAs(str, Enum, metaclass=utils.OpenEnumMeta): + # Unstructured + UNSTRUCTURED = "unstructured" + # UDM + UDM = "udm" + + +class CreateOutputExtraLogTypeTypedDict(TypedDict): + log_type: str + description: NotRequired[str] + + +class CreateOutputExtraLogType(BaseModel): + log_type: Annotated[str, pydantic.Field(alias="logType")] + + description: Optional[str] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["description"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputUDMType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + + ENTITIES = "entities" + LOGS = "logs" + + +class CreateOutputPqControlsGoogleChronicleTypedDict(TypedDict): pass -class CreateOutputPqControlsHoneycomb(BaseModel): +class CreateOutputPqControlsGoogleChronicle(BaseModel): pass -class CreateOutputOutputHoneycombTypedDict(TypedDict): +class CreateOutputOutputGoogleChronicleTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeHoneycomb - dataset: str - r"""Name of the dataset to send events to – e.g., observability""" + type: CreateOutputTypeGoogleChronicle + log_format_type: CreateOutputSendEventsAs pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -8881,6 +8297,17 @@ class CreateOutputOutputHoneycombTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + api_version: NotRequired[CreateOutputAPIVersion] + authentication_method: NotRequired[CreateOutputAuthenticationMethodGoogleChronicle] + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + region: NotRequired[str] + r"""Regional endpoint to send events to""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -8900,24 +8327,40 @@ class CreateOutputOutputHoneycombTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + extra_log_types: NotRequired[List[CreateOutputExtraLogTypeTypedDict]] + r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" + log_type: NotRequired[str] + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + log_text_field: NotRequired[str] + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + customer_id: NotRequired[str] + r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" + namespace: NotRequired[str] + r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + custom_labels: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""Custom labels to be added to every batch""" + udm_type: NotRequired[CreateOutputUDMType] + r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + api_key: NotRequired[str] + r"""Organization's API key in Google SecOps""" + api_key_secret: NotRequired[str] + r"""Select or create a stored text secret""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + service_account_credentials_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -8940,27 +8383,30 @@ class CreateOutputOutputHoneycombTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsHoneycombTypedDict] - team: NotRequired[str] - r"""Team API key where the dataset belongs""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[CreateOutputPqControlsGoogleChronicleTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_api_version: NotRequired[str] + r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_customer_id: NotRequired[str] + r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" -class CreateOutputOutputHoneycomb(BaseModel): +class CreateOutputOutputGoogleChronicle(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeHoneycomb + type: CreateOutputTypeGoogleChronicle - dataset: str - r"""Name of the dataset to send events to – e.g., observability""" + log_format_type: Annotated[ + CreateOutputSendEventsAs, pydantic.Field(alias="logFormatType") + ] pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -8976,6 +8422,33 @@ class CreateOutputOutputHoneycomb(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + api_version: Annotated[ + Optional[CreateOutputAPIVersion], pydantic.Field(alias="apiVersion") + ] = None + + authentication_method: Annotated[ + Optional[CreateOutputAuthenticationMethodGoogleChronicle], + pydantic.Field(alias="authenticationMethod"), + ] = None + + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + region: Optional[str] = None + r"""Regional endpoint to send events to""" + concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -9014,11 +8487,6 @@ class CreateOutputOutputHoneycomb(BaseModel): ] = None r"""Headers to add to all events""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -9030,32 +8498,71 @@ class CreateOutputOutputHoneycomb(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Enter API key directly, or select a stored secret""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" + + extra_log_types: Annotated[ + Optional[List[CreateOutputExtraLogType]], pydantic.Field(alias="extraLogTypes") + ] = None + r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" + + log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + + log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( + None + ) + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + + customer_id: Annotated[Optional[str], pydantic.Field(alias="customerId")] = None + r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" + + namespace: Optional[str] = None + r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + + custom_labels: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="customLabels"), + ] = None + r"""Custom labels to be added to every batch""" + + udm_type: Annotated[ + Optional[CreateOutputUDMType], pydantic.Field(alias="udmType") + ] = None + r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""Organization's API key in Google SecOps""" + + api_key_secret: Annotated[Optional[str], pydantic.Field(alias="apiKeySecret")] = ( + None + ) + r"""Select or create a stored text secret""" + + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") + ] = None + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + + service_account_credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + ] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -9107,20 +8614,25 @@ class CreateOutputOutputHoneycomb(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsHoneycomb], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsGoogleChronicle], + pydantic.Field(alias="pqControls"), ] = None - team: Optional[str] = None - r"""Team API key where the dataset belongs""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_api_version: Annotated[ + Optional[str], pydantic.Field(alias="__template_apiVersion") + ] = None + r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -9131,6 +8643,38 @@ class CreateOutputOutputHoneycomb(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_customer_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_customerId") + ] = None + r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" + + @field_serializer("api_version") + def serialize_api_version(self, value): + if isinstance(value, str): + try: + return models.CreateOutputAPIVersion(value) + except ValueError: + return value + return value + + @field_serializer("authentication_method") + def serialize_authentication_method(self, value): + if isinstance(value, str): + try: + return models.CreateOutputAuthenticationMethodGoogleChronicle(value) + except ValueError: + return value + return value + + @field_serializer("log_format_type") + def serialize_log_format_type(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSendEventsAs(value) + except ValueError: + return value + return value + @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -9149,11 +8693,11 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("udm_type") + def serialize_udm_type(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAPI(value) + return models.CreateOutputUDMType(value) except ValueError: return value return value @@ -9193,6 +8737,12 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "region", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -9201,15 +8751,23 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "useRoundRobinDns", "onBackpressure", - "authType", + "totalMemoryLimitKB", "description", + "extraLogTypes", + "logType", + "logTextField", + "customerId", + "namespace", + "customLabels", + "udmType", + "apiKey", + "apiKeySecret", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -9222,11 +8780,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "team", - "textSecret", "__template_streamtags", + "__template_apiVersion", + "__template_region", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_customerId", ] ) serialized = handler(self) @@ -9243,35 +8802,26 @@ def serialize_model(self, handler): return m -class CreateOutputTypeKinesis(str, Enum): - KINESIS = "kinesis" - - -class CreateOutputCompression(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Compression type to use for records""" - - # None - NONE = "none" - # Gzip - GZIP = "gzip" +class CreateOutputTypeAzureEventhub(str, Enum): + AZURE_EVENTHUB = "azure_eventhub" -class CreateOutputPqControlsKinesisTypedDict(TypedDict): +class CreateOutputPqControlsAzureEventhubTypedDict(TypedDict): pass -class CreateOutputPqControlsKinesis(BaseModel): +class CreateOutputPqControlsAzureEventhub(BaseModel): pass -class CreateOutputOutputKinesisTypedDict(TypedDict): +class CreateOutputOutputAzureEventhubTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeKinesis - stream_name: str - r"""Kinesis stream name to send events to.""" - region: str - r"""Region where the Kinesis stream is located""" + type: CreateOutputTypeAzureEventhub + brokers: List[str] + r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" + topic: str + r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -9280,43 +8830,39 @@ class CreateOutputOutputKinesisTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret_key: NotRequired[str] - endpoint: NotRequired[str] - r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access Kinesis stream""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing put requests before blocking.""" + ack: NotRequired[AcknowledgmentsOptions] + r"""Control the number of required acknowledgments""" + format_: NotRequired[RecordDataFormatOptions] + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + flush_event_count: NotRequired[float] + r"""Maximum number of events in a batch before forcing a flush""" flush_period_sec: NotRequired[float] r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - compression: NotRequired[CreateOutputCompression] - r"""Compression type to use for records""" - use_list_shards: NotRequired[bool] - r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" - as_ndjson: NotRequired[bool] - r"""Batch events into a single record as NDJSON""" + connection_timeout: NotRequired[float] + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + sasl: NotRequired[AuthenticationTypeUseTypedDict] + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + tls: NotRequired[TLSSettingsClientSideTypeTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - max_events_per_flush: NotRequired[float] - r"""Maximum number of records to send in a single request""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9339,38 +8885,30 @@ class CreateOutputOutputKinesisTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsKinesisTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsAzureEventhubTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_stream_name: NotRequired[str] - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_brokers: NotRequired[str] + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputOutputKinesis(BaseModel): +class CreateOutputOutputAzureEventhub(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeKinesis + type: CreateOutputTypeAzureEventhub - stream_name: Annotated[str, pydantic.Field(alias="streamName")] - r"""Kinesis stream name to send events to.""" + brokers: List[str] + r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" - region: str - r"""Region where the Kinesis stream is located""" + topic: str + r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -9386,72 +8924,67 @@ class CreateOutputOutputKinesis(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" + + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") + ] = None + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - endpoint: Optional[str] = None - r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") + ] = None + r"""Maximum number of events in a batch before forcing a flush""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Maximum time to wait for a connection to complete successfully""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") ] = None - r"""Use Assume Role credentials to access Kinesis stream""" + r"""Maximum time to wait for Kafka to respond to a request""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") ] = None - 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).""" + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing put requests before blocking.""" + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") ] = None - r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" + r"""Maximum time to wait for Kafka to respond to an authentication request""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - - compression: Optional[CreateOutputCompression] = None - r"""Compression type to use for records""" + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - use_list_shards: Annotated[ - Optional[bool], pydantic.Field(alias="useListShards") - ] = None - r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" + sasl: Optional[AuthenticationTypeUse] = None + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - as_ndjson: Annotated[Optional[bool], pydantic.Field(alias="asNdjson")] = None - r"""Batch events into a single record as NDJSON""" + tls: Optional[TLSSettingsClientSideType] = None on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -9459,16 +8992,7 @@ class CreateOutputOutputKinesis(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - max_events_per_flush: Annotated[ - Optional[float], pydantic.Field(alias="maxEventsPerFlush") - ] = None - r"""Maximum number of records to send in a single request""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -9520,7 +9044,8 @@ class CreateOutputOutputKinesis(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsKinesis], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsAzureEventhub], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -9528,60 +9053,40 @@ class CreateOutputOutputKinesis(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_stream_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamName") - ] = None - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" - - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_brokers: Annotated[ + Optional[str], pydantic.Field(alias="__template_brokers") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + return models.AcknowledgmentsOptions(value) except ValueError: return value return value - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputCompression(value) + return models.RecordDataFormatOptions(value) except ValueError: return value return value @@ -9630,26 +9135,23 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAuthenticationMethod", - "awsSecretKey", - "endpoint", - "reuseConnections", - "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "concurrency", + "ack", + "format", "maxRecordSizeKB", + "flushEventCount", "flushPeriodSec", - "compression", - "useListShards", - "asNdjson", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", "onBackpressure", "description", - "awsApiKey", - "awsSecret", - "maxEventsPerFlush", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -9663,14 +9165,10 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_streamName", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_brokers", + "__template_topic", + "__template_format", "__template_onBackpressure", - "__template_awsApiKey", ] ) serialized = handler(self) @@ -9680,40 +9178,31 @@ def serialize_model(self, handler): k = f.alias or n val = serialized.get(k, serialized.get(n)) - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeAzureLogs(str, Enum): - AZURE_LOGS = "azure_logs" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + return m -class CreateOutputAuthenticationMethodAzureLogs( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Enter workspace ID and workspace key directly, or select a stored secret""" - MANUAL = "manual" - SECRET = "secret" +class CreateOutputTypeHoneycomb(str, Enum): + HONEYCOMB = "honeycomb" -class CreateOutputPqControlsAzureLogsTypedDict(TypedDict): +class CreateOutputPqControlsHoneycombTypedDict(TypedDict): pass -class CreateOutputPqControlsAzureLogs(BaseModel): +class CreateOutputPqControlsHoneycomb(BaseModel): pass -class CreateOutputOutputAzureLogsTypedDict(TypedDict): +class CreateOutputOutputHoneycombTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAzureLogs - log_type: str - r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" + type: CreateOutputTypeHoneycomb + dataset: str + r"""Name of the dataset to send events to – e.g., observability""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -9722,8 +9211,6 @@ class CreateOutputOutputAzureLogsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - resource_id: NotRequired[str] - r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -9731,6 +9218,7 @@ class CreateOutputOutputAzureLogsTypedDict(TypedDict): max_payload_events: NotRequired[float] r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -9748,8 +9236,6 @@ class CreateOutputOutputAzureLogsTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - api_url: NotRequired[str] - r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -9759,9 +9245,10 @@ class CreateOutputOutputAzureLogsTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputAuthenticationMethodAzureLogs] - r"""Enter workspace ID and workspace key directly, or select a stored secret""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9784,33 +9271,27 @@ class CreateOutputOutputAzureLogsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsAzureLogsTypedDict] - workspace_id: NotRequired[str] - r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" - workspace_key: NotRequired[str] - r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" - keypair_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" + pq_controls: NotRequired[CreateOutputPqControlsHoneycombTypedDict] + team: NotRequired[str] + r"""Team API key where the dataset belongs""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_workspace_id: NotRequired[str] - r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" - template_workspace_key: NotRequired[str] - r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" -class CreateOutputOutputAzureLogs(BaseModel): +class CreateOutputOutputHoneycomb(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAzureLogs + type: CreateOutputTypeHoneycomb - log_type: Annotated[str, pydantic.Field(alias="logType")] - r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" + dataset: str + r"""Name of the dataset to send events to – e.g., observability""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -9826,9 +9307,6 @@ class CreateOutputOutputAzureLogs(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - resource_id: Annotated[Optional[str], pydantic.Field(alias="resourceId")] = None - r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" - concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -9843,6 +9321,7 @@ class CreateOutputOutputAzureLogs(BaseModel): r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" compress: Optional[bool] = None + r"""Compress the payload body before sending""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -9882,9 +9361,6 @@ class CreateOutputOutputAzureLogs(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - api_url: Annotated[Optional[str], pydantic.Field(alias="apiUrl")] = None - r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" - response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -9906,12 +9382,12 @@ class CreateOutputOutputAzureLogs(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[CreateOutputAuthenticationMethodAzureLogs], - pydantic.Field(alias="authType"), + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") ] = None - r"""Enter workspace ID and workspace key directly, or select a stored secret""" + r"""Enter API key directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -9963,19 +9439,14 @@ class CreateOutputOutputAzureLogs(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsAzureLogs], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsHoneycomb], pydantic.Field(alias="pqControls") ] = None - workspace_id: Annotated[Optional[str], pydantic.Field(alias="workspaceId")] = None - r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" - - workspace_key: Annotated[Optional[str], pydantic.Field(alias="workspaceKey")] = None - r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" + team: Optional[str] = None + r"""Team API key where the dataset belongs""" - keypair_secret: Annotated[Optional[str], pydantic.Field(alias="keypairSecret")] = ( - None - ) - r"""Select or create a stored secret that references your access key and secret key""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -9992,16 +9463,6 @@ class CreateOutputOutputAzureLogs(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_workspace_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_workspaceId") - ] = None - r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" - - template_workspace_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_workspaceKey") - ] = None - r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" - @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -10020,186 +9481,86 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputAuthenticationMethodAzureLogs(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "resourceId", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "apiUrl", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "workspaceId", - "workspaceKey", - "keypairSecret", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_workspaceId", - "__template_workspaceKey", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeAzureDataExplorer(str, Enum): - AZURE_DATA_EXPLORER = "azure_data_explorer" - - -class CreateOutputIngestionMode(str, Enum, metaclass=utils.OpenEnumMeta): - # Batching - BATCHING = "batching" - # Streaming - STREAMING = "streaming" - - -class CreateOutputAuthenticationMethodAzureDataExplorer( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""The type of OAuth 2.0 client credentials grant flow to use""" - - # Client secret - CLIENT_SECRET = "clientSecret" - # Client secret (text secret) - CLIENT_TEXT_SECRET = "clientTextSecret" - # Certificate - CERTIFICATE = "certificate" - - -class CreateOutputCertificateTypedDict(TypedDict): - certificate_name: NotRequired[str] - r"""The certificate you registered as credentials for your app in the Azure portal""" - - -class CreateOutputCertificate(BaseModel): - certificate_name: Annotated[ - Optional[str], pydantic.Field(alias="certificateName") - ] = None - r"""The certificate you registered as credentials for your app in the Azure portal""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["certificateName"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputPrefixOptional(str, Enum, metaclass=utils.OpenEnumMeta): - # drop-by - DROP_BY = "dropBy" - # ingest-by - INGEST_BY = "ingestBy" - - -class CreateOutputExtentTagTypedDict(TypedDict): - value: str - prefix: NotRequired[CreateOutputPrefixOptional] - + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAPI(value) + except ValueError: + return value + return value -class CreateOutputExtentTag(BaseModel): - value: str + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - prefix: Optional[CreateOutputPrefixOptional] = None + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - @field_serializer("prefix") - def serialize_prefix(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputPrefixOptional(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["prefix"]) + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "team", + "textSecret", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + ] + ) serialized = handler(self) m = {} @@ -10214,202 +9575,81 @@ def serialize_model(self, handler): return m -class CreateOutputIngestIfNotExistTypedDict(TypedDict): - value: str - - -class CreateOutputIngestIfNotExist(BaseModel): - value: str - - -class CreateOutputReportLevel(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - - # FailuresOnly - FAILURES_ONLY = "failuresOnly" - # DoNotReport - DO_NOT_REPORT = "doNotReport" - # FailuresAndSuccesses - FAILURES_AND_SUCCESSES = "failuresAndSuccesses" - - -class CreateOutputReportMethod(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Target of the ingestion status reporting. Defaults to Queue.""" - - # Queue - QUEUE = "queue" - # Table - TABLE = "table" - # QueueAndTable - QUEUE_AND_TABLE = "queueAndTable" - - -class CreateOutputAdditionalPropertyTypedDict(TypedDict): - key: str - value: str - - -class CreateOutputAdditionalProperty(BaseModel): - key: str - - value: str - - -class CreateOutputPqControlsAzureDataExplorerTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsAzureDataExplorer(BaseModel): - pass - - -class CreateOutputOutputAzureDataExplorerTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeAzureDataExplorer - cluster_url: str - r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" - database: str - r"""Name of the database containing the table where data will be ingested""" - table: str - r"""Name of the table to ingest data into""" - oauth_endpoint: MicrosoftEntraIDAuthenticationEndpointOptionsSasl - r"""Endpoint used to acquire authentication tokens from Azure""" - tenant_id: str - r"""Directory ID (tenant identifier) in Azure Active Directory""" - client_id: str - r"""client_id to pass in the OAuth request parameter""" - scope: str - r"""Scope to pass in the OAuth request parameter""" - oauth_type: CreateOutputAuthenticationMethodAzureDataExplorer - r"""The type of OAuth 2.0 client credentials grant flow to use""" - compress: CompressionOptionsHTTP - r"""Data compression format to apply to HTTP content before it is delivered""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - validate_database_settings: NotRequired[bool] - r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" - ingest_mode: NotRequired[CreateOutputIngestionMode] - description: NotRequired[str] - client_secret: NotRequired[str] - r"""The client secret that you generated for your app in the Azure portal""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - certificate: NotRequired[CreateOutputCertificateTypedDict] - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - is_mapping_obj: NotRequired[bool] - r"""Send a JSON mapping object instead of specifying an existing named data mapping""" - mapping_obj: NotRequired[str] - r"""Enter a JSON object that defines your desired data mapping""" - mapping_ref: NotRequired[str] - r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" - ingest_url: NotRequired[str] - r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_immediately: NotRequired[bool] - r"""Bypass the data management service's aggregation mechanism""" - retain_blob_on_success: NotRequired[bool] - r"""Prevent blob deletion after ingestion is complete""" - extent_tags: NotRequired[List[CreateOutputExtentTagTypedDict]] - r"""Strings or tags associated with the extent (ingested data shard)""" - ingest_if_not_exists: NotRequired[List[CreateOutputIngestIfNotExistTypedDict]] - r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" - report_level: NotRequired[CreateOutputReportLevel] - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - report_method: NotRequired[CreateOutputReportMethod] - r"""Target of the ingestion status reporting. Defaults to Queue.""" - additional_properties: NotRequired[List[CreateOutputAdditionalPropertyTypedDict]] - r"""Optionally, enter additional configuration properties to send to the ingestion service""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" +class CreateOutputTypeKinesis(str, Enum): + KINESIS = "kinesis" + + +class CreateOutputCompression(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Compression type to use for records""" + + # None + NONE = "none" + # Gzip + GZIP = "gzip" + + +class CreateOutputPqControlsKinesisTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsKinesis(BaseModel): + pass + + +class CreateOutputOutputKinesisTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeKinesis + stream_name: str + r"""Kinesis stream name to send events to.""" + region: str + r"""Region where the Kinesis stream is located""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret_key: NotRequired[str] + endpoint: NotRequired[str] + r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access Kinesis stream""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Maximum number of ongoing put requests before blocking.""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + compression: NotRequired[CreateOutputCompression] + r"""Compression type to use for records""" + use_list_shards: NotRequired[bool] + r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" + as_ndjson: NotRequired[bool] + r"""Batch events into a single record as NDJSON""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + max_events_per_flush: NotRequired[float] + r"""Maximum number of records to send in a single request""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -10432,79 +9672,38 @@ class CreateOutputOutputAzureDataExplorerTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsAzureDataExplorerTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsKinesisTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_cluster_url: NotRequired[str] - r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" - template_database: NotRequired[str] - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_table: NotRequired[str] - r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" - template_oauth_endpoint: NotRequired[str] - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - template_tenant_id: NotRequired[str] - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_scope: NotRequired[str] - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - template_client_secret: NotRequired[str] - r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_mapping_ref: NotRequired[str] - r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" - template_ingest_url: NotRequired[str] - r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" + template_stream_name: NotRequired[str] + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputOutputAzureDataExplorer(BaseModel): +class CreateOutputOutputKinesis(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAzureDataExplorer - - cluster_url: Annotated[str, pydantic.Field(alias="clusterUrl")] - r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" - - database: str - r"""Name of the database containing the table where data will be ingested""" - - table: str - r"""Name of the table to ingest data into""" - - oauth_endpoint: Annotated[ - MicrosoftEntraIDAuthenticationEndpointOptionsSasl, - pydantic.Field(alias="oauthEndpoint"), - ] - r"""Endpoint used to acquire authentication tokens from Azure""" - - tenant_id: Annotated[str, pydantic.Field(alias="tenantId")] - r"""Directory ID (tenant identifier) in Azure Active Directory""" - - client_id: Annotated[str, pydantic.Field(alias="clientId")] - r"""client_id to pass in the OAuth request parameter""" - - scope: str - r"""Scope to pass in the OAuth request parameter""" + type: CreateOutputTypeKinesis - oauth_type: Annotated[ - CreateOutputAuthenticationMethodAzureDataExplorer, - pydantic.Field(alias="oauthType"), - ] - r"""The type of OAuth 2.0 client credentials grant flow to use""" + stream_name: Annotated[str, pydantic.Field(alias="streamName")] + r"""Kinesis stream name to send events to.""" - compress: CompressionOptionsHTTP - r"""Data compression format to apply to HTTP content before it is delivered""" + region: str + r"""Region where the Kinesis stream is located""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -10520,229 +9719,506 @@ class CreateOutputOutputAzureDataExplorer(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - validate_database_settings: Annotated[ - Optional[bool], pydantic.Field(alias="validateDatabaseSettings") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" + r"""AWS authentication method. Choose Auto to use IAM roles.""" - ingest_mode: Annotated[ - Optional[CreateOutputIngestionMode], pydantic.Field(alias="ingestMode") + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + + endpoint: Optional[str] = None + r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access Kinesis stream""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + concurrency: Optional[float] = None + r"""Maximum number of ongoing put requests before blocking.""" + + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") + ] = None + r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + + compression: Optional[CreateOutputCompression] = None + r"""Compression type to use for records""" + + use_list_shards: Annotated[ + Optional[bool], pydantic.Field(alias="useListShards") + ] = None + r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" + + as_ndjson: Annotated[Optional[bool], pydantic.Field(alias="asNdjson")] = None + r"""Batch events into a single record as NDJSON""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None - r"""The client secret that you generated for your app in the Azure portal""" + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + max_events_per_flush: Annotated[ + Optional[float], pydantic.Field(alias="maxEventsPerFlush") + ] = None + r"""Maximum number of records to send in a single request""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - certificate: Optional[CreateOutputCertificate] = None + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Compression level to apply before moving files to final destination""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + r"""Codec to use to compress the persisted data""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + pq_controls: Annotated[ + Optional[CreateOutputPqControlsKinesis], pydantic.Field(alias="pqControls") ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") + template_stream_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamName") ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Remove empty staging directories after moving files""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsS3CollectorConf(value) + except ValueError: + return value + return value + + @field_serializer("compression") + def serialize_compression(self, value): + if isinstance(value, str): + try: + return models.CreateOutputCompression(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "awsAuthenticationMethod", + "awsSecretKey", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "concurrency", + "maxRecordSizeKB", + "flushPeriodSec", + "compression", + "useListShards", + "asNdjson", + "onBackpressure", + "description", + "awsApiKey", + "awsSecret", + "maxEventsPerFlush", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_streamName", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__template_onBackpressure", + "__template_awsApiKey", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputTypeAzureLogs(str, Enum): + AZURE_LOGS = "azure_logs" + + +class CreateOutputAuthenticationMethodAzureLogs( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Enter workspace ID and workspace key directly, or select a stored secret""" + + MANUAL = "manual" + SECRET = "secret" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - is_mapping_obj: Annotated[Optional[bool], pydantic.Field(alias="isMappingObj")] = ( - None - ) - r"""Send a JSON mapping object instead of specifying an existing named data mapping""" +class CreateOutputPqControlsAzureLogsTypedDict(TypedDict): + pass - mapping_obj: Annotated[Optional[str], pydantic.Field(alias="mappingObj")] = None - r"""Enter a JSON object that defines your desired data mapping""" - mapping_ref: Annotated[Optional[str], pydantic.Field(alias="mappingRef")] = None - r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" +class CreateOutputPqControlsAzureLogs(BaseModel): + pass - ingest_url: Annotated[Optional[str], pydantic.Field(alias="ingestUrl")] = None - r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None +class CreateOutputOutputAzureLogsTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeAzureLogs + log_type: str + r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + resource_id: NotRequired[str] + r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + api_url: NotRequired[str] + r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[CreateOutputAuthenticationMethodAzureLogs] + r"""Enter workspace ID and workspace key directly, or select a stored secret""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputPqControlsAzureLogsTypedDict] + workspace_id: NotRequired[str] + r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" + workspace_key: NotRequired[str] + r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" + keypair_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_workspace_id: NotRequired[str] + r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" + template_workspace_key: NotRequired[str] + r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" +class CreateOutputOutputAzureLogs(BaseModel): + id: str + r"""Unique ID for this output""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + type: CreateOutputTypeAzureLogs - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") - ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + log_type: Annotated[str, pydantic.Field(alias="logType")] + r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None - r"""Maximum number of parts to upload in parallel per file""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), - ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + resource_id: Annotated[Optional[str], pydantic.Field(alias="resourceId")] = None + r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Add the Output ID value to staging location""" + r"""Maximum size, in KB, of the request body""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - orphans: Optional[OrphanFileRecoveryType] = None + compress: Optional[bool] = None + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_immediately: Annotated[ - Optional[bool], pydantic.Field(alias="flushImmediately") - ] = None - r"""Bypass the data management service's aggregation mechanism""" - - retain_blob_on_success: Annotated[ - Optional[bool], pydantic.Field(alias="retainBlobOnSuccess") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Prevent blob deletion after ingestion is complete""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extent_tags: Annotated[ - Optional[List[CreateOutputExtentTag]], pydantic.Field(alias="extentTags") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Strings or tags associated with the extent (ingested data shard)""" + r"""Headers to add to all events""" - ingest_if_not_exists: Annotated[ - Optional[List[CreateOutputIngestIfNotExist]], - pydantic.Field(alias="ingestIfNotExists"), + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - report_level: Annotated[ - Optional[CreateOutputReportLevel], pydantic.Field(alias="reportLevel") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - report_method: Annotated[ - Optional[CreateOutputReportMethod], pydantic.Field(alias="reportMethod") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Target of the ingestion status reporting. Defaults to Queue.""" + r"""List of headers that are safe to log in plain text""" - additional_properties: Annotated[ - Optional[List[CreateOutputAdditionalProperty]], - pydantic.Field(alias="additionalProperties"), - ] = None - r"""Optionally, enter additional configuration properties to send to the ingestion service""" + api_url: Annotated[Optional[str], pydantic.Field(alias="apiUrl")] = None + r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], @@ -10759,39 +10235,19 @@ class CreateOutputOutputAzureDataExplorer(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + r"""How to handle events when all receivers are exerting backpressure""" + + auth_type: Annotated[ + Optional[CreateOutputAuthenticationMethodAzureLogs], + pydantic.Field(alias="authType"), ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Enter workspace ID and workspace key directly, or select a stored secret""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -10843,158 +10299,50 @@ class CreateOutputOutputAzureDataExplorer(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsAzureDataExplorer], - pydantic.Field(alias="pqControls"), - ] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_cluster_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_clusterUrl") - ] = None - r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" - - template_database: Annotated[ - Optional[str], pydantic.Field(alias="__template_database") - ] = None - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - - template_table: Annotated[ - Optional[str], pydantic.Field(alias="__template_table") - ] = None - r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" - - template_oauth_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_oauthEndpoint") - ] = None - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - - template_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") - ] = None - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") - ] = None - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") - ] = None - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - - template_client_secret: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientSecret") + Optional[CreateOutputPqControlsAzureLogs], pydantic.Field(alias="pqControls") ] = None - r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + workspace_id: Annotated[Optional[str], pydantic.Field(alias="workspaceId")] = None + r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + workspace_key: Annotated[Optional[str], pydantic.Field(alias="workspaceKey")] = None + r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") - ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + keypair_secret: Annotated[Optional[str], pydantic.Field(alias="keypairSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" - template_mapping_ref: Annotated[ - Optional[str], pydantic.Field(alias="__template_mappingRef") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_ingest_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_ingestUrl") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + template_workspace_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_workspaceId") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - - @field_serializer("ingest_mode") - def serialize_ingest_mode(self, value): - if isinstance(value, str): - try: - return models.CreateOutputIngestionMode(value) - except ValueError: - return value - return value - - @field_serializer("oauth_endpoint") - def serialize_oauth_endpoint(self, value): - if isinstance(value, str): - try: - return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) - except ValueError: - return value - return value - - @field_serializer("oauth_type") - def serialize_oauth_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputAuthenticationMethodAzureDataExplorer(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsHTTP(value) - except ValueError: - return value - return value - - @field_serializer("compression_level") - def serialize_compression_level(self, value): - if isinstance(value, str): - try: - return models.CompressionLevelOptions(value) - except ValueError: - return value - return value + r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): - if isinstance(value, str): - try: - return models.ParquetVersionOptions(value) - except ValueError: - return value - return value + template_workspace_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_workspaceKey") + ] = None + r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value @@ -11008,29 +10356,11 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): - if isinstance(value, str): - try: - return models.DiskSpaceProtectionOptions(value) - except ValueError: - return value - return value - - @field_serializer("report_level") - def serialize_report_level(self, value): - if isinstance(value, str): - try: - return models.CreateOutputReportLevel(value) - except ValueError: - return value - return value - - @field_serializer("report_method") - def serialize_report_method(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputReportMethod(value) + return models.CreateOutputAuthenticationMethodAzureLogs(value) except ValueError: return value return value @@ -11070,65 +10400,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "validateDatabaseSettings", - "ingestMode", - "description", - "clientSecret", - "textSecret", - "certificate", - "format", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "removeEmptyDirs", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterEnabled", - "deadletterPath", - "maxRetryNum", - "isMappingObj", - "mappingObj", - "mappingRef", - "ingestUrl", - "onBackpressure", - "stagePath", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "maxConcurrentFileParts", - "onDiskFullBackpressure", - "addIdToStagePath", - "retrySettings", - "orphans", - "timeoutSec", - "flushImmediately", - "retainBlobOnSuccess", - "extentTags", - "ingestIfNotExists", - "reportLevel", - "reportMethod", - "additionalProperties", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "resourceId", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "flushPeriodSec", + "compress", "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", "useRoundRobinDns", - "keepAlive", + "failedRequestLoggingMode", + "safeHeaders", + "apiUrl", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "description", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -11141,22 +10431,14 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "workspaceId", + "workspaceKey", + "keypairSecret", "__template_streamtags", - "__template_clusterUrl", - "__template_database", - "__template_table", - "__template_oauthEndpoint", - "__template_tenantId", - "__template_clientId", - "__template_scope", - "__template_clientSecret", - "__template_format", - "__template_compress", - "__template_parquetSchema", - "__template_mappingRef", - "__template_ingestUrl", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_fileNameSuffix", + "__template_workspaceId", + "__template_workspaceKey", ] ) serialized = handler(self) @@ -11173,31 +10455,172 @@ def serialize_model(self, handler): return m -class CreateOutputTypeAzureBlob(str, Enum): - AZURE_BLOB = "azure_blob" +class CreateOutputTypeAzureDataExplorer(str, Enum): + AZURE_DATA_EXPLORER = "azure_data_explorer" -class CreateOutputBlobAccessTier(str, Enum, metaclass=utils.OpenEnumMeta): - # Default account access tier - INFERRED = "Inferred" - # Hot tier - HOT = "Hot" - # Cool tier - COOL = "Cool" - # Cold tier - COLD = "Cold" - # Archive tier - ARCHIVE = "Archive" +class CreateOutputIngestionMode(str, Enum, metaclass=utils.OpenEnumMeta): + # Batching + BATCHING = "batching" + # Streaming + STREAMING = "streaming" -class CreateOutputOutputAzureBlobTypedDict(TypedDict): +class CreateOutputAuthenticationMethodAzureDataExplorer( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""The type of OAuth 2.0 client credentials grant flow to use""" + + # Client secret + CLIENT_SECRET = "clientSecret" + # Client secret (text secret) + CLIENT_TEXT_SECRET = "clientTextSecret" + # Certificate + CERTIFICATE = "certificate" + + +class CreateOutputCertificateTypedDict(TypedDict): + certificate_name: NotRequired[str] + r"""The certificate you registered as credentials for your app in the Azure portal""" + + +class CreateOutputCertificate(BaseModel): + certificate_name: Annotated[ + Optional[str], pydantic.Field(alias="certificateName") + ] = None + r"""The certificate you registered as credentials for your app in the Azure portal""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["certificateName"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputPrefixOptional(str, Enum, metaclass=utils.OpenEnumMeta): + # drop-by + DROP_BY = "dropBy" + # ingest-by + INGEST_BY = "ingestBy" + + +class CreateOutputExtentTagTypedDict(TypedDict): + value: str + prefix: NotRequired[CreateOutputPrefixOptional] + + +class CreateOutputExtentTag(BaseModel): + value: str + + prefix: Optional[CreateOutputPrefixOptional] = None + + @field_serializer("prefix") + def serialize_prefix(self, value): + if isinstance(value, str): + try: + return models.CreateOutputPrefixOptional(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["prefix"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputIngestIfNotExistTypedDict(TypedDict): + value: str + + +class CreateOutputIngestIfNotExist(BaseModel): + value: str + + +class CreateOutputReportLevel(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + + # FailuresOnly + FAILURES_ONLY = "failuresOnly" + # DoNotReport + DO_NOT_REPORT = "doNotReport" + # FailuresAndSuccesses + FAILURES_AND_SUCCESSES = "failuresAndSuccesses" + + +class CreateOutputReportMethod(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Target of the ingestion status reporting. Defaults to Queue.""" + + # Queue + QUEUE = "queue" + # Table + TABLE = "table" + # QueueAndTable + QUEUE_AND_TABLE = "queueAndTable" + + +class CreateOutputAdditionalPropertyTypedDict(TypedDict): + key: str + value: str + + +class CreateOutputAdditionalProperty(BaseModel): + key: str + + value: str + + +class CreateOutputPqControlsAzureDataExplorerTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsAzureDataExplorer(BaseModel): + pass + + +class CreateOutputOutputAzureDataExplorerTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAzureBlob - container_name: str - r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" - stage_path: str - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" + type: CreateOutputTypeAzureDataExplorer + cluster_url: str + r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" + database: str + r"""Name of the database containing the table where data will be ingested""" + table: str + r"""Name of the table to ingest data into""" + oauth_endpoint: MicrosoftEntraIDAuthenticationEndpointOptionsSasl + r"""Endpoint used to acquire authentication tokens from Azure""" + tenant_id: str + r"""Directory ID (tenant identifier) in Azure Active Directory""" + client_id: str + r"""client_id to pass in the OAuth request parameter""" + scope: str + r"""Scope to pass in the OAuth request parameter""" + oauth_type: CreateOutputAuthenticationMethodAzureDataExplorer + r"""The type of OAuth 2.0 client credentials grant flow to use""" + compress: CompressionOptionsHTTP + r"""Data compression format to apply to HTTP content before it is delivered""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -11206,51 +10629,18 @@ class CreateOutputOutputAzureBlobTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - create_container: NotRequired[bool] - r"""Create the configured container in Azure Blob Storage if it does not already exist""" - dest_path: NotRequired[str] - r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + validate_database_settings: NotRequired[bool] + r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" + ingest_mode: NotRequired[CreateOutputIngestionMode] + description: NotRequired[str] + r"""Optional description for this configuration.""" + client_secret: NotRequired[str] + r"""The client secret that you generated for your app in the Azure portal""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + certificate: NotRequired[CreateOutputCertificateTypedDict] format_: NotRequired[DataFormatOptions] r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - auth_type: NotRequired[AuthenticationMethodOptions] - storage_class: NotRequired[CreateOutputBlobAccessTier] - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] r"""Compression level to apply before moving files to final destination""" automatic_schema: NotRequired[bool] @@ -11275,74 +10665,183 @@ class CreateOutputOutputAzureBlobTypedDict(TypedDict): r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" directory_batch_size: NotRequired[float] r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" deadletter_path: NotRequired[str] r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" max_retry_num: NotRequired[float] r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - connection_string: NotRequired[str] - r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - storage_account_name: NotRequired[str] - r"""The name of your Azure storage account""" - tenant_id: NotRequired[str] - r"""The service principal's tenant ID""" - client_id: NotRequired[str] - r"""The service principal's client ID""" - azure_cloud: NotRequired[str] - r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" - endpoint_suffix: NotRequired[str] - r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" - client_text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - certificate: NotRequired[CertificateTypeAzureBlobAuthTypeClientCertTypedDict] + is_mapping_obj: NotRequired[bool] + r"""Send a JSON mapping object instead of specifying an existing named data mapping""" + mapping_obj: NotRequired[str] + r"""Enter a JSON object that defines your desired data mapping""" + mapping_ref: NotRequired[str] + r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" + ingest_url: NotRequired[str] + r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_immediately: NotRequired[bool] + r"""Bypass the data management service's aggregation mechanism""" + retain_blob_on_success: NotRequired[bool] + r"""Prevent blob deletion after ingestion is complete""" + extent_tags: NotRequired[List[CreateOutputExtentTagTypedDict]] + r"""Strings or tags associated with the extent (ingested data shard)""" + ingest_if_not_exists: NotRequired[List[CreateOutputIngestIfNotExistTypedDict]] + r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" + report_level: NotRequired[CreateOutputReportLevel] + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + report_method: NotRequired[CreateOutputReportMethod] + r"""Target of the ingestion status reporting. Defaults to Queue.""" + additional_properties: NotRequired[List[CreateOutputAdditionalPropertyTypedDict]] + r"""Optionally, enter additional configuration properties to send to the ingestion service""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputPqControlsAzureDataExplorerTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_container_name: NotRequired[str] - r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_cluster_url: NotRequired[str] + r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" + template_database: NotRequired[str] + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" + template_table: NotRequired[str] + r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" + template_oauth_endpoint: NotRequired[str] + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" + template_tenant_id: NotRequired[str] + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + template_scope: NotRequired[str] + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + template_client_secret: NotRequired[str] + r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_connection_string: NotRequired[str] - r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" - template_storage_account_name: NotRequired[str] - r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" - template_tenant_id: NotRequired[str] - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_azure_cloud: NotRequired[str] - r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" + template_mapping_ref: NotRequired[str] + r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" + template_ingest_url: NotRequired[str] + r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" -class CreateOutputOutputAzureBlob(BaseModel): +class CreateOutputOutputAzureDataExplorer(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAzureBlob + type: CreateOutputTypeAzureDataExplorer - container_name: Annotated[str, pydantic.Field(alias="containerName")] - r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" + cluster_url: Annotated[str, pydantic.Field(alias="clusterUrl")] + r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" + database: str + r"""Name of the database containing the table where data will be ingested""" + + table: str + r"""Name of the table to ingest data into""" + + oauth_endpoint: Annotated[ + MicrosoftEntraIDAuthenticationEndpointOptionsSasl, + pydantic.Field(alias="oauthEndpoint"), + ] + r"""Endpoint used to acquire authentication tokens from Azure""" + + tenant_id: Annotated[str, pydantic.Field(alias="tenantId")] + r"""Directory ID (tenant identifier) in Azure Active Directory""" + + client_id: Annotated[str, pydantic.Field(alias="clientId")] + r"""client_id to pass in the OAuth request parameter""" + + scope: str + r"""Scope to pass in the OAuth request parameter""" + + oauth_type: Annotated[ + CreateOutputAuthenticationMethodAzureDataExplorer, + pydantic.Field(alias="oauthType"), + ] + r"""The type of OAuth 2.0 client credentials grant flow to use""" + + compress: CompressionOptionsHTTP + r"""Data compression format to apply to HTTP content before it is delivered""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -11350,51 +10849,151 @@ class CreateOutputOutputAzureBlob(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + validate_database_settings: Annotated[ + Optional[bool], pydantic.Field(alias="validateDatabaseSettings") + ] = None + r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" + + ingest_mode: Annotated[ + Optional[CreateOutputIngestionMode], pydantic.Field(alias="ingestMode") + ] = None + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None + r"""The client secret that you generated for your app in the Azure portal""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + certificate: Optional[CreateOutputCertificate] = None + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" + + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + ] = None + r"""Determines which data types are supported and how they are represented""" + + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + ] = None + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + ] = None + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - create_container: Annotated[ - Optional[bool], pydantic.Field(alias="createContainer") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""Create the configured container in Azure Blob Storage if it does not already exist""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Add the Output ID value to staging location""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""Maximum number of parts to upload in parallel per file""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" remove_empty_dirs: Annotated[ Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None r"""Remove empty staging directories after moving files""" - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + ] = None + r"""How frequently, in seconds, to clean up empty directories""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") + ] = None + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") + ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( None ) - r"""Format of the output data""" + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + is_mapping_obj: Annotated[Optional[bool], pydantic.Field(alias="isMappingObj")] = ( None ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + r"""Send a JSON mapping object instead of specifying an existing named data mapping""" + + mapping_obj: Annotated[Optional[str], pydantic.Field(alias="mappingObj")] = None + r"""Enter a JSON object that defines your desired data mapping""" + + mapping_ref: Annotated[Optional[str], pydantic.Field(alias="mappingRef")] = None + r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" + + ingest_url: Annotated[Optional[str], pydantic.Field(alias="ingestUrl")] = None + r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" file_name_suffix: Annotated[ Optional[str], pydantic.Field(alias="fileNameSuffix") @@ -11421,24 +11020,10 @@ class CreateOutputOutputAzureBlob(BaseModel): ) r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" - - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") - ] = None - r"""Buffer size used to write to a file""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Maximum number of parts to upload in parallel per file""" on_disk_full_backpressure: Annotated[ Optional[DiskSpaceProtectionOptions], @@ -11446,10 +11031,10 @@ class CreateOutputOutputAzureBlob(BaseModel): ] = None r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + r"""Add the Output ID value to staging location""" retry_settings: Annotated[ Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") @@ -11457,173 +11042,198 @@ class CreateOutputOutputAzureBlob(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - auth_type: Annotated[ - Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") - ] = None + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - storage_class: Annotated[ - Optional[CreateOutputBlobAccessTier], pydantic.Field(alias="storageClass") + flush_immediately: Annotated[ + Optional[bool], pydantic.Field(alias="flushImmediately") ] = None + r"""Bypass the data management service's aggregation mechanism""" - description: Optional[str] = None - - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + retain_blob_on_success: Annotated[ + Optional[bool], pydantic.Field(alias="retainBlobOnSuccess") + ] = None + r"""Prevent blob deletion after ingestion is complete""" - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + extent_tags: Annotated[ + Optional[List[CreateOutputExtentTag]], pydantic.Field(alias="extentTags") ] = None - r"""Compression level to apply before moving files to final destination""" + r"""Strings or tags associated with the extent (ingested data shard)""" - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") + ingest_if_not_exists: Annotated[ + Optional[List[CreateOutputIngestIfNotExist]], + pydantic.Field(alias="ingestIfNotExists"), ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + report_level: Annotated[ + Optional[CreateOutputReportLevel], pydantic.Field(alias="reportLevel") + ] = None + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + report_method: Annotated[ + Optional[CreateOutputReportMethod], pydantic.Field(alias="reportMethod") ] = None - r"""Determines which data types are supported and how they are represented""" + r"""Target of the ingestion status reporting. Defaults to Queue.""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + additional_properties: Annotated[ + Optional[List[CreateOutputAdditionalProperty]], + pydantic.Field(alias="additionalProperties"), ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + r"""Optionally, enter additional configuration properties to send to the ingestion service""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + r"""Maximum size, in KB, of the request body""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - connection_string: Annotated[ - Optional[str], pydantic.Field(alias="connectionString") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - storage_account_name: Annotated[ - Optional[str], pydantic.Field(alias="storageAccountName") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""The name of your Azure storage account""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None - r"""The service principal's tenant ID""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None - r"""The service principal's client ID""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - azure_cloud: Annotated[Optional[str], pydantic.Field(alias="azureCloud")] = None - r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" - endpoint_suffix: Annotated[ - Optional[str], pydantic.Field(alias="endpointSuffix") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - client_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="clientTextSecret") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Select or create a stored text secret""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = None + pq_controls: Annotated[ + Optional[CreateOutputPqControlsAzureDataExplorer], + pydantic.Field(alias="pqControls"), + ] = None template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_container_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_containerName") + template_cluster_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_clusterUrl") ] = None - r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" + r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") + template_database: Annotated[ + Optional[str], pydantic.Field(alias="__template_database") ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") + template_table: Annotated[ + Optional[str], pydantic.Field(alias="__template_table") ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + template_oauth_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_oauthEndpoint") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + template_tenant_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tenantId") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientId") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_scope: Annotated[ + Optional[str], pydantic.Field(alias="__template_scope") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + + template_client_secret: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientSecret") + ] = None + r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -11635,72 +11245,58 @@ class CreateOutputOutputAzureBlob(BaseModel): ] = None r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_connection_string: Annotated[ - Optional[str], pydantic.Field(alias="__template_connectionString") - ] = None - r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" - - template_storage_account_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageAccountName") + template_mapping_ref: Annotated[ + Optional[str], pydantic.Field(alias="__template_mappingRef") ] = None - r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" + r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" - template_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") + template_ingest_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_ingestUrl") ] = None - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_azure_cloud: Annotated[ - Optional[str], pydantic.Field(alias="__template_azureCloud") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("ingest_mode") + def serialize_ingest_mode(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.CreateOutputIngestionMode(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("oauth_endpoint") + def serialize_oauth_endpoint(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("oauth_type") + def serialize_oauth_type(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptions(value) + return models.CreateOutputAuthenticationMethodAzureDataExplorer(value) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputBlobAccessTier(value) + return models.DataFormatOptions(value) except ValueError: return value return value @@ -11741,6 +11337,69 @@ def serialize_parquet_data_page_version(self, value): return value return value + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): + if isinstance(value, str): + try: + return models.DiskSpaceProtectionOptions(value) + except ValueError: + return value + return value + + @field_serializer("report_level") + def serialize_report_level(self, value): + if isinstance(value, str): + try: + return models.CreateOutputReportLevel(value) + except ValueError: + return value + return value + + @field_serializer("report_method") + def serialize_report_method(self, value): + if isinstance(value, str): + try: + return models.CreateOutputReportMethod(value) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -11749,31 +11408,13 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "createContainer", - "destPath", - "addIdToStagePath", - "maxConcurrentFileParts", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "authType", - "storageClass", + "validateDatabaseSettings", + "ingestMode", "description", - "compress", + "clientSecret", + "textSecret", + "certificate", + "format", "compressionLevel", "automaticSchema", "parquetSchema", @@ -11786,34 +11427,74 @@ def serialize_model(self, handler): "enableStatistics", "enableWritePageIndex", "enablePageChecksum", + "removeEmptyDirs", "emptyDirCleanupSec", "directoryBatchSize", + "deadletterEnabled", "deadletterPath", "maxRetryNum", - "connectionString", - "textSecret", - "storageAccountName", - "tenantId", - "clientId", - "azureCloud", - "endpointSuffix", - "clientTextSecret", - "certificate", + "isMappingObj", + "mappingObj", + "mappingRef", + "ingestUrl", + "onBackpressure", + "stagePath", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "maxConcurrentFileParts", + "onDiskFullBackpressure", + "addIdToStagePath", + "retrySettings", + "orphans", + "timeoutSec", + "flushImmediately", + "retainBlobOnSuccess", + "extentTags", + "ingestIfNotExists", + "reportLevel", + "reportMethod", + "additionalProperties", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "flushPeriodSec", + "rejectUnauthorized", + "useRoundRobinDns", + "keepAlive", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_containerName", - "__template_destPath", - "__template_partitionExpr", + "__template_clusterUrl", + "__template_database", + "__template_table", + "__template_oauthEndpoint", + "__template_tenantId", + "__template_clientId", + "__template_scope", + "__template_clientSecret", "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", "__template_compress", "__template_parquetSchema", - "__template_connectionString", - "__template_storageAccountName", - "__template_tenantId", - "__template_clientId", - "__template_azureCloud", + "__template_mappingRef", + "__template_ingestUrl", + "__template_onBackpressure", + "__template_fileNameSuffix", ] ) serialized = handler(self) @@ -11830,18 +11511,31 @@ def serialize_model(self, handler): return m -class CreateOutputTypeS3(str, Enum): - S3 = "s3" +class CreateOutputTypeAzureBlob(str, Enum): + AZURE_BLOB = "azure_blob" -class CreateOutputOutputS3TypedDict(TypedDict): +class CreateOutputBlobAccessTier(str, Enum, metaclass=utils.OpenEnumMeta): + # Default account access tier + INFERRED = "Inferred" + # Hot tier + HOT = "Hot" + # Cool tier + COOL = "Cool" + # Cold tier + COLD = "Cold" + # Archive tier + ARCHIVE = "Archive" + + +class CreateOutputOutputAzureBlobTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeS3 - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + type: CreateOutputTypeAzureBlob + container_name: str + r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -11850,34 +11544,14 @@ class CreateOutputOutputS3TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - endpoint: NotRequired[str] - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access S3""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the S3 bucket is located""" + create_container: NotRequired[bool] + r"""Create the configured container in Azure Blob Storage if it does not already exist""" dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - max_closing_files_to_backpressure: NotRequired[float] - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" add_id_to_stage_path: NotRequired[bool] r"""Add the Output ID value to staging location""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file""" remove_empty_dirs: NotRequired[bool] r"""Remove empty staging directories after moving files""" partition_expr: NotRequired[str] @@ -11910,21 +11584,10 @@ class CreateOutputOutputS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptions] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: NotRequired[str] - r"""ID or ARN of the KMS customer-managed key to use for encryption""" + auth_type: NotRequired[AuthenticationMethodOptions] + storage_class: NotRequired[CreateOutputBlobAccessTier] description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -11959,18 +11622,27 @@ class CreateOutputOutputS3TypedDict(TypedDict): r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" max_retry_num: NotRequired[float] r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + connection_string: NotRequired[str] + r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + storage_account_name: NotRequired[str] + r"""The name of your Azure storage account""" + tenant_id: NotRequired[str] + r"""The service principal's tenant ID""" + client_id: NotRequired[str] + r"""The service principal's client ID""" + azure_cloud: NotRequired[str] + r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" + endpoint_suffix: NotRequired[str] + r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" + client_text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + certificate: NotRequired[CertificateTypeAzureBlobAuthTypeClientCertTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_container_name: NotRequired[str] + r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -11983,115 +11655,66 @@ class CreateOutputOutputS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_kms_key_id: NotRequired[str] - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + template_connection_string: NotRequired[str] + r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" + template_storage_account_name: NotRequired[str] + r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" + template_tenant_id: NotRequired[str] + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + template_azure_cloud: NotRequired[str] + r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" -class CreateOutputOutputS3(BaseModel): +class CreateOutputOutputAzureBlob(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeS3 + type: CreateOutputTypeAzureBlob - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + container_name: Annotated[str, pydantic.Field(alias="containerName")] + r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - endpoint: Optional[str] = None - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" - - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") - ] = None - r"""Use Assume Role credentials to access S3""" - - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" - - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" - - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") - ] = None - 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).""" - - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None - r"""Reuse connections between requests, which can improve performance""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - - region: Optional[str] = None - r"""Region where the S3 bucket is located""" + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") - ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + create_container: Annotated[ + Optional[bool], pydantic.Field(alias="createContainer") ] = None - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + r"""Create the configured container in Azure Blob Storage if it does not already exist""" + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" add_id_to_stage_path: Annotated[ Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None r"""Add the Output ID value to staging location""" + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file""" + remove_empty_dirs: Annotated[ Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None @@ -12173,37 +11796,16 @@ class CreateOutputOutputS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + auth_type: Annotated[ + Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") ] = None - r"""Object ACL to assign to uploaded objects""" storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") - ] = None - r"""Storage class to select for uploaded objects""" - - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), + Optional[CreateOutputBlobAccessTier], pydantic.Field(alias="storageClass") ] = None - r"""Server-side encryption to use for uploaded objects""" - - kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None - r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" @@ -12289,35 +11891,49 @@ class CreateOutputOutputS3(BaseModel): ) r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + connection_string: Annotated[ + Optional[str], pydantic.Field(alias="connectionString") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + storage_account_name: Annotated[ + Optional[str], pydantic.Field(alias="storageAccountName") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""The name of your Azure storage account""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None + r"""The service principal's tenant ID""" + + client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None + r"""The service principal's client ID""" + + azure_cloud: Annotated[Optional[str], pydantic.Field(alias="azureCloud")] = None + r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" + + endpoint_suffix: Annotated[ + Optional[str], pydantic.Field(alias="endpointSuffix") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + client_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="clientTextSecret") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Select or create a stored text secret""" - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") + certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = None + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_container_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_containerName") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") @@ -12349,54 +11965,40 @@ class CreateOutputOutputS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + template_connection_string: Annotated[ + Optional[str], pydantic.Field(alias="__template_connectionString") ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_storage_account_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageAccountName") ] = None - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + template_tenant_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tenantId") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientId") ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + template_azure_cloud: Annotated[ + Optional[str], pydantic.Field(alias="__template_azureCloud") ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value + r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" @field_serializer("format_") def serialize_format_(self, value): @@ -12425,11 +12027,11 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.ObjectACLOptions(value) + return models.AuthenticationMethodOptions(value) except ValueError: return value return value @@ -12438,16 +12040,7 @@ def serialize_object_acl(self, value): def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.StorageClassOptions(value) - except ValueError: - return value - return value - - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptions(value) + return models.CreateOutputBlobAccessTier(value) except ValueError: return value return value @@ -12496,20 +12089,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "region", + "createContainer", "destPath", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", "addIdToStagePath", + "maxConcurrentFileParts", "removeEmptyDirs", "partitionExpr", "format", @@ -12527,14 +12110,9 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "objectACL", + "authType", "storageClass", - "serverSideEncryption", - "kmsKeyId", "description", - "awsApiKey", - "awsSecret", "compress", "compressionLevel", "automaticSchema", @@ -12552,26 +12130,30 @@ def serialize_model(self, handler): "directoryBatchSize", "deadletterPath", "maxRetryNum", + "connectionString", + "textSecret", + "storageAccountName", + "tenantId", + "clientId", + "azureCloud", + "endpointSuffix", + "clientTextSecret", + "certificate", "__template_streamtags", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_bucket", - "__template_region", + "__template_containerName", "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", - "__template_awsApiKey", "__template_compress", "__template_parquetSchema", + "__template_connectionString", + "__template_storageAccountName", + "__template_tenantId", + "__template_clientId", + "__template_azureCloud", ] ) serialized = handler(self) @@ -12588,16 +12170,18 @@ def serialize_model(self, handler): return m -class CreateOutputTypeFilesystem(str, Enum): - FILESYSTEM = "filesystem" +class CreateOutputTypeS3(str, Enum): + S3 = "s3" -class CreateOutputOutputFilesystemTypedDict(TypedDict): +class CreateOutputOutputS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeFilesystem - dest_path: str - r"""Final destination for the output files""" + type: CreateOutputTypeS3 + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -12606,8 +12190,32 @@ class CreateOutputOutputFilesystemTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: NotRequired[str] + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access S3""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the S3 bucket is located""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" add_id_to_stage_path: NotRequired[bool] r"""Add the Output ID value to staging location""" remove_empty_dirs: NotRequired[bool] @@ -12642,7 +12250,22 @@ class CreateOutputOutputFilesystemTypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptions] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: NotRequired[str] + r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -12679,6 +12302,18 @@ class CreateOutputOutputFilesystemTypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] @@ -12689,20 +12324,35 @@ class CreateOutputOutputFilesystemTypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_kms_key_id: NotRequired[str] + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputFilesystem(BaseModel): +class CreateOutputOutputS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeFilesystem + type: CreateOutputTypeS3 - dest_path: Annotated[str, pydantic.Field(alias="destPath")] - r"""Final destination for the output files""" + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -12718,8 +12368,65 @@ class CreateOutputOutputFilesystem(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: Optional[str] = None + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access S3""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + region: Optional[str] = None + r"""Region where the S3 bucket is located""" + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" + + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + ] = None + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" add_id_to_stage_path: Annotated[ Optional[bool], pydantic.Field(alias="addIdToStagePath") @@ -12807,7 +12514,38 @@ class CreateOutputOutputFilesystem(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" + + storage_class: Annotated[ + Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + ] = None + r"""Storage class to select for uploaded objects""" + + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptions], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" + + kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None + r"""ID or ARN of the KMS customer-managed key to use for encryption""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" @@ -12898,6 +12636,36 @@ class CreateOutputOutputFilesystem(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") + ] = None + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") + ] = None + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: Annotated[ Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None @@ -12923,6 +12691,36 @@ class CreateOutputOutputFilesystem(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") + ] = None + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + + template_kms_key_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_kmsKeyId") + ] = None + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") ] = None @@ -12933,6 +12731,15 @@ class CreateOutputOutputFilesystem(BaseModel): ] = None r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsS3CollectorConf(value) + except ValueError: + return value + return value + @field_serializer("format_") def serialize_format_(self, value): if isinstance(value, str): @@ -12960,6 +12767,33 @@ def serialize_on_disk_full_backpressure(self, value): return value return value + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptions(value) + except ValueError: + return value + return value + + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.StorageClassOptions(value) + except ValueError: + return value + return value + + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): + if isinstance(value, str): + try: + return models.ServerSideEncryptionForUploadedObjectsOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -13004,7 +12838,19 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "stagePath", + "endpoint", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "awsAuthenticationMethod", + "reuseConnections", + "rejectUnauthorized", + "region", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", "addIdToStagePath", "removeEmptyDirs", "partitionExpr", @@ -13023,7 +12869,14 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", "description", + "awsApiKey", + "awsSecret", "compress", "compressionLevel", "automaticSchema", @@ -13042,11 +12895,23 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__template_bucket", + "__template_region", + "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", + "__template_awsSecretKey", + "__template_objectACL", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", + "__template_awsApiKey", "__template_compress", "__template_parquetSchema", ] @@ -13065,24 +12930,16 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSignalfx(str, Enum): - SIGNALFX = "signalfx" - - -class CreateOutputPqControlsSignalfxTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsSignalfx(BaseModel): - pass +class CreateOutputTypeFilesystem(str, Enum): + FILESYSTEM = "filesystem" -class CreateOutputOutputSignalfxTypedDict(TypedDict): +class CreateOutputOutputFilesystemTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSignalfx - realm: str - r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" + type: CreateOutputTypeFilesystem + dest_path: str + r"""Final destination for the output files""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13091,86 +12948,104 @@ class CreateOutputOutputSignalfxTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] - token: NotRequired[str] - r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSignalfxTypedDict] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputSignalfx(BaseModel): +class CreateOutputOutputFilesystem(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSignalfx + type: CreateOutputTypeFilesystem - realm: str - r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" + dest_path: Annotated[str, pydantic.Field(alias="destPath")] + r"""Final destination for the output files""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -13186,258 +13061,338 @@ class CreateOutputOutputSignalfx(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Add the Output ID value to staging location""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Remove empty staging directories after moving files""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""Headers to add to all events""" + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Buffer size used to write to a file""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""List of headers that are safe to log in plain text""" + r"""How to handle events when all receivers are exerting backpressure""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + + orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" - token: Optional[str] = None - r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Determines which data types are supported and how they are represented""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + ] = None + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), + ] = None + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Codec to use to compress the persisted data""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_controls: Annotated[ - Optional[CreateOutputPqControlsSignalfx], pydantic.Field(alias="pqControls") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") + ] = None + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") + ] = None + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.DataFormatOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ParquetVersionOptions(value) except ValueError: return value return value - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "authType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "stagePath", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", "description", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_failedRequestLoggingMode", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -13454,24 +13409,24 @@ def serialize_model(self, handler): return m -class CreateOutputTypeWavefront(str, Enum): - WAVEFRONT = "wavefront" +class CreateOutputTypeSignalfx(str, Enum): + SIGNALFX = "signalfx" -class CreateOutputPqControlsWavefrontTypedDict(TypedDict): +class CreateOutputPqControlsSignalfxTypedDict(TypedDict): pass -class CreateOutputPqControlsWavefront(BaseModel): +class CreateOutputPqControlsSignalfx(BaseModel): pass -class CreateOutputOutputWavefrontTypedDict(TypedDict): +class CreateOutputOutputSignalfxTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeWavefront - domain: str - r"""WaveFront domain name, e.g. \"longboard\" """ + type: CreateOutputTypeSignalfx + realm: str + r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13517,8 +13472,9 @@ class CreateOutputOutputWavefrontTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] - r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" + r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] @@ -13543,7 +13499,7 @@ class CreateOutputOutputWavefrontTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsWavefrontTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsSignalfxTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -13552,14 +13508,14 @@ class CreateOutputOutputWavefrontTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputWavefront(BaseModel): +class CreateOutputOutputSignalfx(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeWavefront + type: CreateOutputTypeSignalfx - domain: str - r"""WaveFront domain name, e.g. \"longboard\" """ + realm: str + r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -13656,9 +13612,10 @@ class CreateOutputOutputWavefront(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None - r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" + r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -13713,7 +13670,7 @@ class CreateOutputOutputWavefront(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsWavefront], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsSignalfx], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -13843,22 +13800,24 @@ def serialize_model(self, handler): return m -class CreateOutputTypeTcpjson(str, Enum): - TCPJSON = "tcpjson" +class CreateOutputTypeWavefront(str, Enum): + WAVEFRONT = "wavefront" -class CreateOutputPqControlsTcpjsonTypedDict(TypedDict): +class CreateOutputPqControlsWavefrontTypedDict(TypedDict): pass -class CreateOutputPqControlsTcpjson(BaseModel): +class CreateOutputPqControlsWavefront(BaseModel): pass -class CreateOutputOutputTcpjsonTypedDict(TypedDict): +class CreateOutputOutputWavefrontTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeTcpjson + type: CreateOutputTypeWavefront + domain: str + r"""WaveFront domain name, e.g. \"longboard\" """ pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13867,42 +13826,48 @@ class CreateOutputOutputTcpjsonTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Use load-balanced destinations""" - compression: NotRequired[CompressionOptionsGzipNone] - r"""Codec to use to compress the data before sending""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - token_ttl_minutes: NotRequired[float] - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - send_header: NotRequired[bool] - r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - host: NotRequired[str] - r"""The hostname of the receiver""" - port: NotRequired[float] - r"""The port to connect to on the provided host""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] - r"""Set of hosts to load-balance data to""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + r"""Optional description for this configuration.""" + token: NotRequired[str] + r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -13925,26 +13890,23 @@ class CreateOutputOutputTcpjsonTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsTcpjsonTypedDict] - auth_token: NotRequired[str] - r"""Optional authentication token to include as part of the connection header""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[CreateOutputPqControlsWavefrontTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" -class CreateOutputOutputTcpjson(BaseModel): +class CreateOutputOutputWavefront(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeTcpjson + type: CreateOutputTypeWavefront + + domain: str + r"""WaveFront domain name, e.g. \"longboard\" """ pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -13960,83 +13922,94 @@ class CreateOutputOutputTcpjson(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Use load-balanced destinations""" + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - compression: Optional[CompressionOptionsGzipNone] = None - r"""Codec to use to compress the data before sending""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body""" + + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Use to troubleshoot issues with sending data""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""List of headers that are safe to log in plain text""" - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - token_ttl_minutes: Annotated[ - Optional[float], pydantic.Field(alias="tokenTTLMinutes") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - send_header: Annotated[Optional[bool], pydantic.Field(alias="sendHeader")] = None - r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - description: Optional[str] = None + r"""Optional description for this configuration.""" - host: Optional[str] = None - r"""The hostname of the receiver""" - - port: Optional[float] = None - r"""The port to connect to on the provided host""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - hosts: Optional[List[HostConfOutputSyslog]] = None - r"""Set of hosts to load-balance data to""" - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + token: Optional[str] = None + r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") - ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -14088,58 +14061,47 @@ class CreateOutputOutputTcpjson(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsTcpjson], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsWavefront], pydantic.Field(alias="pqControls") ] = None - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Optional authentication token to include as part of the connection header""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + ] = None + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipNone(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -14179,25 +14141,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", - "compression", - "logFailedRequests", - "throttleRatePerSec", - "tls", - "connectionTimeout", - "writeTimeout", - "tokenTTLMinutes", - "sendHeader", - "onBackpressure", "authType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", "description", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14210,12 +14172,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "authToken", - "textSecret", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_host", - "__template_port", ] ) serialized = handler(self) @@ -14232,29 +14191,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypeWizHec(str, Enum): - WIZ_HEC = "wiz_hec" +class CreateOutputTypeTcpjson(str, Enum): + TCPJSON = "tcpjson" -class CreateOutputPqControlsWizHecTypedDict(TypedDict): +class CreateOutputPqControlsTcpjsonTypedDict(TypedDict): pass -class CreateOutputPqControlsWizHec(BaseModel): +class CreateOutputPqControlsTcpjson(BaseModel): pass -class CreateOutputOutputWizHecTypedDict(TypedDict): +class CreateOutputOutputTcpjsonTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeWizHec - wiz_connector_id: str - r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" - wiz_environment: str - r"""Your Wiz deployment environment.""" - data_center: str - r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" - wiz_sourcetype: str + type: CreateOutputTypeTcpjson pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -14263,46 +14215,43 @@ class CreateOutputOutputWizHecTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - next_queue: NotRequired[str] - r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" - tcp_routing: NotRequired[str] - r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + load_balanced: NotRequired[bool] + r"""Use load-balanced destinations""" + compression: NotRequired[CompressionOptionsGzipNone] + r"""Codec to use to compress the data before sending""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + token_ttl_minutes: NotRequired[float] + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" + send_header: NotRequired[bool] + r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" + host: NotRequired[str] + r"""The hostname of the receiver""" + port: NotRequired[float] + r"""The port to connect to on the provided host""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] + r"""Set of hosts to load-balance data to""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14325,41 +14274,26 @@ class CreateOutputOutputWizHecTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsWizHecTypedDict] - token: NotRequired[str] - r"""Wiz Defend Auth token""" + pq_controls: NotRequired[CreateOutputPqControlsTcpjsonTypedDict] + auth_token: NotRequired[str] + r"""Optional authentication token to include as part of the connection header""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_wiz_environment: NotRequired[str] - r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" - template_data_center: NotRequired[str] - r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" - template_wiz_sourcetype: NotRequired[str] - r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" -class CreateOutputOutputWizHec(BaseModel): +class CreateOutputOutputTcpjson(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeWizHec - - wiz_connector_id: str - r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" - - wiz_environment: str - r"""Your Wiz deployment environment.""" - - data_center: str - r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" - - wiz_sourcetype: str + type: CreateOutputTypeTcpjson pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14375,62 +14309,48 @@ class CreateOutputOutputWizHec(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - next_queue: Annotated[Optional[str], pydantic.Field(alias="nextQueue")] = None - r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" - - tcp_routing: Annotated[Optional[str], pydantic.Field(alias="tcpRouting")] = None - r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Use to troubleshoot issues with sending data""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + token_ttl_minutes: Annotated[ + Optional[float], pydantic.Field(alias="tokenTTLMinutes") ] = None - r"""Headers to add to all events""" + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + send_header: Annotated[Optional[bool], pydantic.Field(alias="sendHeader")] = None + r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""List of headers that are safe to log in plain text""" + r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], @@ -14438,27 +14358,35 @@ class CreateOutputOutputWizHec(BaseModel): ] = None r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None + host: Optional[str] = None + r"""The hostname of the receiver""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + port: Optional[float] = None + r"""The port to connect to on the provided host""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + hosts: Optional[List[HostConfOutputSyslog]] = None + r"""Set of hosts to load-balance data to""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""How far back in time to keep traffic stats for load balancing purposes""" - description: Optional[str] = None + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") + ] = None + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -14510,11 +14438,11 @@ class CreateOutputOutputWizHec(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsWizHec], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsTcpjson], pydantic.Field(alias="pqControls") ] = None - token: Optional[str] = None - r"""Wiz Defend Auth token""" + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Optional authentication token to include as part of the connection header""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -14524,54 +14452,44 @@ class CreateOutputOutputWizHec(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_wiz_environment: Annotated[ - Optional[str], pydantic.Field(alias="__template_wiz_environment") - ] = None - r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" - - template_data_center: Annotated[ - Optional[str], pydantic.Field(alias="__template_data_center") - ] = None - r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_wiz_sourcetype: Annotated[ - Optional[str], pydantic.Field(alias="__template_wiz_sourcetype") - ] = None - r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("compression") + def serialize_compression(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CompressionOptionsGzipNone(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value @@ -14611,25 +14529,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "nextQueue", - "tcpRouting", + "loadBalanced", + "compression", + "logFailedRequests", + "throttleRatePerSec", "tls", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "connectionTimeout", + "writeTimeout", + "tokenTTLMinutes", + "sendHeader", "onBackpressure", + "authType", "description", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14642,14 +14560,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "token", + "authToken", "textSecret", "__template_streamtags", - "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_wiz_environment", - "__template_data_center", - "__template_wiz_sourcetype", + "__template_host", + "__template_port", ] ) serialized = handler(self) @@ -14666,60 +14582,29 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSplunkHec(str, Enum): - SPLUNK_HEC = "splunk_hec" - - -class CreateOutputURLSplunkHecTypedDict(TypedDict): - url: str - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - -class CreateOutputURLSplunkHec(BaseModel): - url: str - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["weight", "__template_url"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m +class CreateOutputTypeWizHec(str, Enum): + WIZ_HEC = "wiz_hec" -class CreateOutputPqControlsSplunkHecTypedDict(TypedDict): +class CreateOutputPqControlsWizHecTypedDict(TypedDict): pass -class CreateOutputPqControlsSplunkHec(BaseModel): +class CreateOutputPqControlsWizHec(BaseModel): pass -class CreateOutputOutputSplunkHecTypedDict(TypedDict): +class CreateOutputOutputWizHecTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSplunkHec + type: CreateOutputTypeWizHec + wiz_connector_id: str + r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" + wiz_environment: str + r"""Your Wiz deployment environment.""" + data_center: str + r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" + wiz_sourcetype: str pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -14728,8 +14613,6 @@ class CreateOutputOutputSplunkHecTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" next_queue: NotRequired[str] r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" tcp_routing: NotRequired[str] @@ -14758,8 +14641,6 @@ class CreateOutputOutputSplunkHecTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - enable_multi_metrics: NotRequired[bool] - r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: NotRequired[ @@ -14772,21 +14653,7 @@ class CreateOutputOutputSplunkHecTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - url: NotRequired[str] - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[CreateOutputURLSplunkHecTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - token: NotRequired[str] - r"""Splunk HEC authentication token""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14809,22 +14676,41 @@ class CreateOutputOutputSplunkHecTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSplunkHecTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsWizHecTypedDict] + token: NotRequired[str] + r"""Wiz Defend Auth token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_wiz_environment: NotRequired[str] + r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" + template_data_center: NotRequired[str] + r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" + template_wiz_sourcetype: NotRequired[str] + r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" -class CreateOutputOutputSplunkHec(BaseModel): +class CreateOutputOutputWizHec(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSplunkHec + type: CreateOutputTypeWizHec + + wiz_connector_id: str + r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" + + wiz_environment: str + r"""Your Wiz deployment environment.""" + + data_center: str + r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" + + wiz_sourcetype: str pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14840,11 +14726,6 @@ class CreateOutputOutputSplunkHec(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - next_queue: Annotated[Optional[str], pydantic.Field(alias="nextQueue")] = None r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" @@ -14902,11 +14783,6 @@ class CreateOutputOutputSplunkHec(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - enable_multi_metrics: Annotated[ - Optional[bool], pydantic.Field(alias="enableMultiMetrics") - ] = None - r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" - auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], pydantic.Field(alias="authType"), @@ -14934,35 +14810,7 @@ class CreateOutputOutputSplunkHec(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - url: Optional[str] = None - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - urls: Optional[List[CreateOutputURLSplunkHec]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" - - token: Optional[str] = None - r"""Splunk HEC authentication token""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -15014,9 +14862,15 @@ class CreateOutputOutputSplunkHec(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsSplunkHec], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsWizHec], pydantic.Field(alias="pqControls") ] = None + token: Optional[str] = None + r"""Wiz Defend Auth token""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None @@ -15032,10 +14886,20 @@ class CreateOutputOutputSplunkHec(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_wiz_environment: Annotated[ + Optional[str], pydantic.Field(alias="__template_wiz_environment") + ] = None + r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" + + template_data_center: Annotated[ + Optional[str], pydantic.Field(alias="__template_data_center") + ] = None + r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" + + template_wiz_sourcetype: Annotated[ + Optional[str], pydantic.Field(alias="__template_wiz_sourcetype") + ] = None + r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): @@ -15099,7 +14963,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", "nextQueue", "tcpRouting", "tls", @@ -15113,21 +14976,12 @@ def serialize_model(self, handler): "extraHttpHeaders", "failedRequestLoggingMode", "safeHeaders", - "enableMultiMetrics", "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15140,10 +14994,14 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "token", + "textSecret", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", + "__template_wiz_environment", + "__template_data_center", + "__template_wiz_sourcetype", ] ) serialized = handler(self) @@ -15160,127 +15018,34 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSplunkLb(str, Enum): - SPLUNK_LB = "splunk_lb" - - -class CreateOutputAuthTokenTypedDict(TypedDict): - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - auth_token: NotRequired[str] - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - - -class CreateOutputAuthToken(BaseModel): - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["authType", "authToken", "textSecret"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputIndexerDiscoveryConfigsTypedDict(TypedDict): - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" - - site: str - r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" - master_uri: str - r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" - refresh_interval_sec: float - r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" - reject_unauthorized: NotRequired[bool] - r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" - auth_tokens: NotRequired[List[CreateOutputAuthTokenTypedDict]] - r"""Tokens required to authenticate to cluster manager for indexer discovery""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - auth_token: NotRequired[str] - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - - -class CreateOutputIndexerDiscoveryConfigs(BaseModel): - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" - - site: str - r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" - - master_uri: Annotated[str, pydantic.Field(alias="masterUri")] - r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" - - refresh_interval_sec: Annotated[float, pydantic.Field(alias="refreshIntervalSec")] - r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" +class CreateOutputTypeSplunkHec(str, Enum): + SPLUNK_HEC = "splunk_hec" - auth_tokens: Annotated[ - Optional[List[CreateOutputAuthToken]], pydantic.Field(alias="authTokens") - ] = None - r"""Tokens required to authenticate to cluster manager for indexer discovery""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" +class CreateOutputURLSplunkHecTypedDict(TypedDict): + url: str + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" +class CreateOutputURLSplunkHec(BaseModel): + url: str + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set( - ["rejectUnauthorized", "authTokens", "authType", "authToken", "textSecret"] - ) + optional_fields = set(["weight", "__template_url"]) serialized = handler(self) m = {} @@ -15295,20 +15060,18 @@ def serialize_model(self, handler): return m -class CreateOutputPqControlsSplunkLbTypedDict(TypedDict): +class CreateOutputPqControlsSplunkHecTypedDict(TypedDict): pass -class CreateOutputPqControlsSplunkLb(BaseModel): +class CreateOutputPqControlsSplunkHec(BaseModel): pass -class CreateOutputOutputSplunkLbTypedDict(TypedDict): +class CreateOutputOutputSplunkHecTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSplunkLb - hosts: List[HostConfOutputSyslogTypedDict] - r"""Set of Splunk indexers to load-balance data to.""" + type: CreateOutputTypeSplunkHec pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -15317,46 +15080,66 @@ class CreateOutputOutputSplunkLbTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" - nested_fields: NotRequired[NestedFieldSerializationOptions] - r"""How to serialize nested fields into index-time fields""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + next_queue: NotRequired[str] + r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" + tcp_routing: NotRequired[str] + r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" enable_multi_metrics: NotRequired[bool] - r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" - enable_ack: NotRequired[bool] - r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - max_s2_sversion: NotRequired[MaxS2SVersionOptions] - r"""The highest S2S protocol version to advertise during handshake""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - indexer_discovery: NotRequired[bool] - r"""Automatically discover indexers in indexer clustering environment.""" - sender_unhealthy_time_allowance: NotRequired[float] - r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" + r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - max_failed_health_checks: NotRequired[float] - r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" - compress: NotRequired[CompressionOptions] - r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" - indexer_discovery_configs: NotRequired[CreateOutputIndexerDiscoveryConfigsTypedDict] - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[CreateOutputURLSplunkHecTypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + token: NotRequired[str] + r"""Splunk HEC authentication token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -15379,31 +15162,22 @@ class CreateOutputOutputSplunkLbTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSplunkLbTypedDict] - auth_token: NotRequired[str] - r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[CreateOutputPqControlsSplunkHecTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_nested_fields: NotRequired[str] - r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" - template_max_s2_sversion: NotRequired[str] - r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputOutputSplunkLb(BaseModel): +class CreateOutputOutputSplunkHec(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSplunkLb - - hosts: List[HostConfOutputSyslog] - r"""Set of Splunk indexers to load-balance data to.""" + type: CreateOutputTypeSplunkHec pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -15419,75 +15193,72 @@ class CreateOutputOutputSplunkLb(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + next_queue: Annotated[Optional[str], pydantic.Field(alias="nextQueue")] = None + r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") - ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + tcp_routing: Annotated[Optional[str], pydantic.Field(alias="tcpRouting")] = None + r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" - nested_fields: Annotated[ - Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") - ] = None - r"""How to serialize nested fields into index-time fields""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") - ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Maximum size, in KB, of the request body""" - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - enable_multi_metrics: Annotated[ - Optional[bool], pydantic.Field(alias="enableMultiMetrics") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - enable_ack: Annotated[Optional[bool], pydantic.Field(alias="enableACK")] = None - r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Use to troubleshoot issues with sending data""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - max_s2_sversion: Annotated[ - Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""The highest S2S protocol version to advertise during handshake""" + r"""Headers to add to all events""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - indexer_discovery: Annotated[ - Optional[bool], pydantic.Field(alias="indexerDiscovery") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Automatically discover indexers in indexer clustering environment.""" + r"""List of headers that are safe to log in plain text""" - sender_unhealthy_time_allowance: Annotated[ - Optional[float], pydantic.Field(alias="senderUnhealthyTimeAllowance") + enable_multi_metrics: Annotated[ + Optional[bool], pydantic.Field(alias="enableMultiMetrics") ] = None - r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" + r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], @@ -15495,25 +15266,58 @@ class CreateOutputOutputSplunkLb(BaseModel): ] = None r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - description: Optional[str] = None + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - max_failed_health_checks: Annotated[ - Optional[float], pydantic.Field(alias="maxFailedHealthChecks") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" + r"""How to handle events when all receivers are exerting backpressure""" - compress: Optional[CompressionOptions] = None - r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - indexer_discovery_configs: Annotated[ - Optional[CreateOutputIndexerDiscoveryConfigs], - pydantic.Field(alias="indexerDiscoveryConfigs"), + url: Optional[str] = None + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: Optional[List[CreateOutputURLSplunkHec]] = None + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" + + token: Optional[str] = None + r"""Splunk HEC authentication token""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -15564,63 +15368,34 @@ class CreateOutputOutputSplunkLb(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsSplunkLb], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsSplunkHec], pydantic.Field(alias="pqControls") ] = None - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_nested_fields: Annotated[ - Optional[str], pydantic.Field(alias="__template_nestedFields") - ] = None - r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" - - template_max_s2_sversion: Annotated[ - Optional[str], pydantic.Field(alias="__template_maxS2Sversion") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - - @field_serializer("nested_fields") - def serialize_nested_fields(self, value): - if isinstance(value, str): - try: - return models.NestedFieldSerializationOptions(value) - except ValueError: - return value - return value - - @field_serializer("max_s2_sversion") - def serialize_max_s2_sversion(self, value): - if isinstance(value, str): - try: - return models.MaxS2SVersionOptions(value) - except ValueError: - return value - return value + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value @@ -15634,11 +15409,11 @@ def serialize_auth_type(self, value): return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptions(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -15678,27 +15453,35 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", - "nestedFields", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", + "loadBalanced", + "nextQueue", + "tcpRouting", "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", "enableMultiMetrics", - "enableACK", - "logFailedRequests", - "maxS2Sversion", - "onBackpressure", - "indexerDiscovery", - "senderUnhealthyTimeAllowance", "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", "description", - "maxFailedHealthChecks", - "compress", - "indexerDiscoveryConfigs", + "url", + "useRoundRobinDns", "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15711,13 +15494,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "authToken", - "textSecret", "__template_streamtags", - "__template_nestedFields", - "__template_maxS2Sversion", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_compress", + "__template_url", ] ) serialized = handler(self) @@ -15734,26 +15514,155 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSplunk(str, Enum): - SPLUNK = "splunk" - - -class CreateOutputPqControlsSplunkTypedDict(TypedDict): +class CreateOutputTypeSplunkLb(str, Enum): + SPLUNK_LB = "splunk_lb" + + +class CreateOutputAuthTokenTypedDict(TypedDict): + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + auth_token: NotRequired[str] + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + + +class CreateOutputAuthToken(BaseModel): + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["authType", "authToken", "textSecret"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputIndexerDiscoveryConfigsTypedDict(TypedDict): + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + + site: str + r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" + master_uri: str + r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" + refresh_interval_sec: float + r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" + reject_unauthorized: NotRequired[bool] + r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" + auth_tokens: NotRequired[List[CreateOutputAuthTokenTypedDict]] + r"""Tokens required to authenticate to cluster manager for indexer discovery""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + auth_token: NotRequired[str] + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + + +class CreateOutputIndexerDiscoveryConfigs(BaseModel): + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + + site: str + r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" + + master_uri: Annotated[str, pydantic.Field(alias="masterUri")] + r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" + + refresh_interval_sec: Annotated[float, pydantic.Field(alias="refreshIntervalSec")] + r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" + + auth_tokens: Annotated[ + Optional[List[CreateOutputAuthToken]], pydantic.Field(alias="authTokens") + ] = None + r"""Tokens required to authenticate to cluster manager for indexer discovery""" + + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + ["rejectUnauthorized", "authTokens", "authType", "authToken", "textSecret"] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputPqControlsSplunkLbTypedDict(TypedDict): pass -class CreateOutputPqControlsSplunk(BaseModel): +class CreateOutputPqControlsSplunkLb(BaseModel): pass -class CreateOutputOutputSplunkTypedDict(TypedDict): +class CreateOutputOutputSplunkLbTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSplunk - host: str - r"""The hostname of the receiver""" - port: float - r"""The port to connect to on the provided host""" + type: CreateOutputTypeSplunkLb + hosts: List[HostConfOutputSyslogTypedDict] + r"""Set of Splunk indexers to load-balance data to.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -15762,6 +15671,12 @@ class CreateOutputOutputSplunkTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" nested_fields: NotRequired[NestedFieldSerializationOptions] r"""How to serialize nested fields into index-time fields""" throttle_rate_per_sec: NotRequired[str] @@ -15781,13 +15696,22 @@ class CreateOutputOutputSplunkTypedDict(TypedDict): r"""The highest S2S protocol version to advertise during handshake""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + indexer_discovery: NotRequired[bool] + r"""Automatically discover indexers in indexer clustering environment.""" + sender_unhealthy_time_allowance: NotRequired[float] + r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" max_failed_health_checks: NotRequired[float] r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" compress: NotRequired[CompressionOptions] r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" + indexer_discovery_configs: NotRequired[CreateOutputIndexerDiscoveryConfigsTypedDict] + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -15810,17 +15734,13 @@ class CreateOutputOutputSplunkTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSplunkTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsSplunkLbTypedDict] auth_token: NotRequired[str] r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" template_nested_fields: NotRequired[str] r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" template_max_s2_sversion: NotRequired[str] @@ -15831,17 +15751,14 @@ class CreateOutputOutputSplunkTypedDict(TypedDict): r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" -class CreateOutputOutputSplunk(BaseModel): +class CreateOutputOutputSplunkLb(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSplunk - - host: str - r"""The hostname of the receiver""" + type: CreateOutputTypeSplunkLb - port: float - r"""The port to connect to on the provided host""" + hosts: List[HostConfOutputSyslog] + r"""Set of Splunk indexers to load-balance data to.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -15857,6 +15774,21 @@ class CreateOutputOutputSplunk(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" + + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") + ] = None + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + nested_fields: Annotated[ Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") ] = None @@ -15902,6 +15834,16 @@ class CreateOutputOutputSplunk(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + indexer_discovery: Annotated[ + Optional[bool], pydantic.Field(alias="indexerDiscovery") + ] = None + r"""Automatically discover indexers in indexer clustering environment.""" + + sender_unhealthy_time_allowance: Annotated[ + Optional[float], pydantic.Field(alias="senderUnhealthyTimeAllowance") + ] = None + r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" + auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], pydantic.Field(alias="authType"), @@ -15909,6 +15851,7 @@ class CreateOutputOutputSplunk(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" max_failed_health_checks: Annotated[ Optional[float], pydantic.Field(alias="maxFailedHealthChecks") @@ -15918,6 +15861,15 @@ class CreateOutputOutputSplunk(BaseModel): compress: Optional[CompressionOptions] = None r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" + indexer_discovery_configs: Annotated[ + Optional[CreateOutputIndexerDiscoveryConfigs], + pydantic.Field(alias="indexerDiscoveryConfigs"), + ] = None + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -15968,7 +15920,7 @@ class CreateOutputOutputSplunk(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsSplunk], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsSplunkLb], pydantic.Field(alias="pqControls") ] = None auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None @@ -15982,16 +15934,6 @@ class CreateOutputOutputSplunk(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - template_nested_fields: Annotated[ Optional[str], pydantic.Field(alias="__template_nestedFields") ] = None @@ -16079,183 +16021,95 @@ def serialize_pq_compress(self, value): def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "nestedFields", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", - "tls", - "enableMultiMetrics", - "enableACK", - "logFailedRequests", - "maxS2Sversion", - "onBackpressure", - "authType", - "description", - "maxFailedHealthChecks", - "compress", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "authToken", - "textSecret", - "__template_streamtags", - "__template_host", - "__template_port", - "__template_nestedFields", - "__template_maxS2Sversion", - "__template_onBackpressure", - "__template_compress", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeSyslog(str, Enum): - SYSLOG = "syslog" - - -class CreateOutputProtocolSyslog(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The network protocol to use for sending out syslog messages""" - - # TCP - TCP = "tcp" - # UDP - UDP = "udp" - - -class CreateOutputFacility(int, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - - # kern - KERN = 0 - # user - USER = 1 - # mail - MAIL = 2 - # daemon - DAEMON = 3 - # auth - AUTH = 4 - # syslog - SYSLOG = 5 - # lpr - LPR = 6 - # news - NEWS = 7 - # uucp - UUCP = 8 - # cron - CRON = 9 - # authpriv - AUTHPRIV = 10 - # ftp - FTP = 11 - # ntp - NTP = 12 - # security - SECURITY = 13 - # console - CONSOLE = 14 - # solaris-cron - SOLARIS_CRON = 15 - # local0 - LOCAL0 = 16 - # local1 - LOCAL1 = 17 - # local2 - LOCAL2 = 18 - # local3 - LOCAL3 = 19 - # local4 - LOCAL4 = 20 - # local5 - LOCAL5 = 21 - - -class CreateOutputSeveritySyslog(int, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - - # emergency - EMERGENCY = 0 - # alert - ALERT = 1 - # critical - CRITICAL = 2 - # error - ERROR = 3 - # warning - WARNING = 4 - # notice - NOTICE = 5 - # info - INFO = 6 - # debug - DEBUG = 7 + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "nestedFields", + "throttleRatePerSec", + "connectionTimeout", + "writeTimeout", + "tls", + "enableMultiMetrics", + "enableACK", + "logFailedRequests", + "maxS2Sversion", + "onBackpressure", + "indexerDiscovery", + "senderUnhealthyTimeAllowance", + "authType", + "description", + "maxFailedHealthChecks", + "compress", + "indexerDiscoveryConfigs", + "excludeSelf", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "authToken", + "textSecret", + "__template_streamtags", + "__template_nestedFields", + "__template_maxS2Sversion", + "__template_onBackpressure", + "__template_compress", + ] + ) + serialized = handler(self) + m = {} -class CreateOutputMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The syslog message format depending on the receiver's support""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - # RFC3164 - RFC3164 = "rfc3164" - # RFC5424 - RFC5424 = "rfc5424" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + return m -class CreateOutputTimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Timestamp format to use when serializing event's time field""" - # Syslog - SYSLOG = "syslog" - # ISO8601 - ISO8601 = "iso8601" +class CreateOutputTypeSplunk(str, Enum): + SPLUNK = "splunk" -class CreateOutputPqControlsSyslogTypedDict(TypedDict): +class CreateOutputPqControlsSplunkTypedDict(TypedDict): pass -class CreateOutputPqControlsSyslog(BaseModel): +class CreateOutputPqControlsSplunk(BaseModel): pass -class CreateOutputOutputSyslogTypedDict(TypedDict): +class CreateOutputOutputSplunkTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSyslog + type: CreateOutputTypeSplunk + host: str + r"""The hostname of the receiver""" + port: float + r"""The port to connect to on the provided host""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -16264,54 +16118,33 @@ class CreateOutputOutputSyslogTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - protocol: NotRequired[CreateOutputProtocolSyslog] - r"""The network protocol to use for sending out syslog messages""" - facility: NotRequired[CreateOutputFacility] - r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - severity: NotRequired[CreateOutputSeveritySyslog] - r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - app_name: NotRequired[str] - r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" - message_format: NotRequired[CreateOutputMessageFormat] - r"""The syslog message format depending on the receiver's support""" - timestamp_format: NotRequired[CreateOutputTimestampFormat] - r"""Timestamp format to use when serializing event's time field""" + nested_fields: NotRequired[NestedFieldSerializationOptions] + r"""How to serialize nested fields into index-time fields""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - octet_count_framing: NotRequired[bool] - r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - description: NotRequired[str] - load_balanced: NotRequired[bool] - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - host: NotRequired[str] - r"""The hostname of the receiver""" - port: NotRequired[float] - r"""The port to connect to on the provided host""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] - r"""Set of hosts to load-balance data to""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" connection_timeout: NotRequired[float] r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" write_timeout: NotRequired[float] r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + enable_multi_metrics: NotRequired[bool] + r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" + enable_ack: NotRequired[bool] + r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + max_s2_sversion: NotRequired[MaxS2SVersionOptions] + r"""The highest S2S protocol version to advertise during handshake""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - max_record_size: NotRequired[float] - r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" - udp_dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" - enable_ip_spoofing: NotRequired[bool] - r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + max_failed_health_checks: NotRequired[float] + r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" + compress: NotRequired[CompressionOptions] + r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -16334,22 +16167,38 @@ class CreateOutputOutputSyslogTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSyslogTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsSplunkTypedDict] + auth_token: NotRequired[str] + r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_host: NotRequired[str] r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" template_port: NotRequired[str] r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + template_nested_fields: NotRequired[str] + r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" + template_max_s2_sversion: NotRequired[str] + r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" -class CreateOutputOutputSyslog(BaseModel): +class CreateOutputOutputSplunk(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSyslog + type: CreateOutputTypeSplunk + + host: str + r"""The hostname of the receiver""" + + port: float + r"""The port to connect to on the provided host""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -16365,108 +16214,67 @@ class CreateOutputOutputSyslog(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - protocol: Optional[CreateOutputProtocolSyslog] = None - r"""The network protocol to use for sending out syslog messages""" - - facility: Optional[CreateOutputFacility] = None - r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - - severity: Optional[CreateOutputSeveritySyslog] = None - r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - - app_name: Annotated[Optional[str], pydantic.Field(alias="appName")] = None - r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" - - message_format: Annotated[ - Optional[CreateOutputMessageFormat], pydantic.Field(alias="messageFormat") - ] = None - r"""The syslog message format depending on the receiver's support""" - - timestamp_format: Annotated[ - Optional[CreateOutputTimestampFormat], pydantic.Field(alias="timestampFormat") + nested_fields: Annotated[ + Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") ] = None - r"""Timestamp format to use when serializing event's time field""" + r"""How to serialize nested fields into index-time fields""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - octet_count_framing: Annotated[ - Optional[bool], pydantic.Field(alias="octetCountFraming") - ] = None - r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Use to troubleshoot issues with sending data""" - - description: Optional[str] = None + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( None ) - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - - host: Optional[str] = None - r"""The hostname of the receiver""" - - port: Optional[float] = None - r"""The port to connect to on the provided host""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - hosts: Optional[List[HostConfOutputSyslog]] = None - r"""Set of hosts to load-balance data to""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + enable_multi_metrics: Annotated[ + Optional[bool], pydantic.Field(alias="enableMultiMetrics") ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + enable_ack: Annotated[Optional[bool], pydantic.Field(alias="enableACK")] = None + r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + r"""Use to troubleshoot issues with sending data""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + max_s2_sversion: Annotated[ + Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + r"""The highest S2S protocol version to advertise during handshake""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""How to handle events when all receivers are exerting backpressure""" + + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - max_record_size: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSize") - ] = None - r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - udp_dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="udpDnsResolvePeriodSec") + max_failed_health_checks: Annotated[ + Optional[float], pydantic.Field(alias="maxFailedHealthChecks") ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" + r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" - enable_ip_spoofing: Annotated[ - Optional[bool], pydantic.Field(alias="enableIpSpoofing") - ] = None - r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + compress: Optional[CompressionOptions] = None + r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -16518,9 +16326,15 @@ class CreateOutputOutputSyslog(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsSyslog], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsSplunk], pydantic.Field(alias="pqControls") ] = None + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None @@ -16536,61 +16350,67 @@ class CreateOutputOutputSyslog(BaseModel): ) r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + template_nested_fields: Annotated[ + Optional[str], pydantic.Field(alias="__template_nestedFields") + ] = None + r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" + + template_max_s2_sversion: Annotated[ + Optional[str], pydantic.Field(alias="__template_maxS2Sversion") + ] = None + r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.CreateOutputProtocolSyslog(value) - except ValueError: - return value - return value + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - @field_serializer("facility") - def serialize_facility(self, value): + @field_serializer("nested_fields") + def serialize_nested_fields(self, value): if isinstance(value, str): try: - return models.CreateOutputFacility(value) + return models.NestedFieldSerializationOptions(value) except ValueError: return value return value - @field_serializer("severity") - def serialize_severity(self, value): + @field_serializer("max_s2_sversion") + def serialize_max_s2_sversion(self, value): if isinstance(value, str): try: - return models.CreateOutputSeveritySyslog(value) + return models.MaxS2SVersionOptions(value) except ValueError: return value return value - @field_serializer("message_format") - def serialize_message_format(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputMessageFormat(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("timestamp_format") - def serialize_timestamp_format(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputTimestampFormat(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptions(value) except ValueError: return value return value @@ -16630,31 +16450,20 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "protocol", - "facility", - "severity", - "appName", - "messageFormat", - "timestampFormat", + "nestedFields", "throttleRatePerSec", - "octetCountFraming", - "logFailedRequests", - "description", - "loadBalanced", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", "connectionTimeout", "writeTimeout", "tls", + "enableMultiMetrics", + "enableACK", + "logFailedRequests", + "maxS2Sversion", "onBackpressure", - "maxRecordSize", - "udpDnsResolvePeriodSec", - "enableIpSpoofing", + "authType", + "description", + "maxFailedHealthChecks", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -16667,10 +16476,15 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "authToken", + "textSecret", "__template_streamtags", "__template_host", "__template_port", + "__template_nestedFields", + "__template_maxS2Sversion", "__template_onBackpressure", + "__template_compress", ] ) serialized = handler(self) @@ -16687,120 +16501,119 @@ def serialize_model(self, handler): return m -class CreateOutputTypeDevnull(str, Enum): - DEVNULL = "devnull" - - -class CreateOutputOutputDevnullTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeDevnull - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - -class CreateOutputOutputDevnull(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeDevnull - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" +class CreateOutputTypeSyslog(str, Enum): + SYSLOG = "syslog" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "__template_streamtags", - ] - ) - serialized = handler(self) - m = {} +class CreateOutputProtocolSyslog(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The network protocol to use for sending out syslog messages""" - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) + # TCP + TCP = "tcp" + # UDP + UDP = "udp" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - return m +class CreateOutputFacility(int, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" + # kern + KERN = 0 + # user + USER = 1 + # mail + MAIL = 2 + # daemon + DAEMON = 3 + # auth + AUTH = 4 + # syslog + SYSLOG = 5 + # lpr + LPR = 6 + # news + NEWS = 7 + # uucp + UUCP = 8 + # cron + CRON = 9 + # authpriv + AUTHPRIV = 10 + # ftp + FTP = 11 + # ntp + NTP = 12 + # security + SECURITY = 13 + # console + CONSOLE = 14 + # solaris-cron + SOLARIS_CRON = 15 + # local0 + LOCAL0 = 16 + # local1 + LOCAL1 = 17 + # local2 + LOCAL2 = 18 + # local3 + LOCAL3 = 19 + # local4 + LOCAL4 = 20 + # local5 + LOCAL5 = 21 -class CreateOutputTypeSentinel(str, Enum): - SENTINEL = "sentinel" +class CreateOutputSeveritySyslog(int, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" -class CreateOutputAuthType(str, Enum, metaclass=utils.OpenEnumMeta): - OAUTH = "oauth" + # emergency + EMERGENCY = 0 + # alert + ALERT = 1 + # critical + CRITICAL = 2 + # error + ERROR = 3 + # warning + WARNING = 4 + # notice + NOTICE = 5 + # info + INFO = 6 + # debug + DEBUG = 7 -class CreateOutputEndpointConfiguration(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Enter the data collection endpoint URL or the individual ID""" +class CreateOutputMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The syslog message format depending on the receiver's support""" - # URL - URL = "url" - # ID - ID = "ID" + # RFC3164 + RFC3164 = "rfc3164" + # RFC5424 + RFC5424 = "rfc5424" -class CreateOutputFormatSentinel(str, Enum, metaclass=utils.OpenEnumMeta): - NDJSON = "ndjson" - JSON_ARRAY = "json_array" - CUSTOM = "custom" - ADVANCED = "advanced" +class CreateOutputTimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Timestamp format to use when serializing event's time field""" + + # Syslog + SYSLOG = "syslog" + # ISO8601 + ISO8601 = "iso8601" -class CreateOutputPqControlsSentinelTypedDict(TypedDict): +class CreateOutputPqControlsSyslogTypedDict(TypedDict): pass -class CreateOutputPqControlsSentinel(BaseModel): +class CreateOutputPqControlsSyslog(BaseModel): pass -class CreateOutputOutputSentinelTypedDict(TypedDict): +class CreateOutputOutputSyslogTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSentinel - login_url: str - r"""URL for OAuth""" - secret: str - r"""Secret parameter value to pass in request body""" - client_id: str - r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" - endpoint_url_configuration: CreateOutputEndpointConfiguration - r"""Enter the data collection endpoint URL or the individual ID""" + type: CreateOutputTypeSyslog pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -16809,65 +16622,55 @@ class CreateOutputOutputSentinelTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + protocol: NotRequired[CreateOutputProtocolSyslog] + r"""The network protocol to use for sending out syslog messages""" + facility: NotRequired[CreateOutputFacility] + r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" + severity: NotRequired[CreateOutputSeveritySyslog] + r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" + app_name: NotRequired[str] + r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" + message_format: NotRequired[CreateOutputMessageFormat] + r"""The syslog message format depending on the receiver's support""" + timestamp_format: NotRequired[CreateOutputTimestampFormat] + r"""Timestamp format to use when serializing event's time field""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + octet_count_framing: NotRequired[bool] + r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + load_balanced: NotRequired[bool] + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" + host: NotRequired[str] + r"""The hostname of the receiver""" + port: NotRequired[float] + r"""The port to connect to on the provided host""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] + r"""Set of hosts to load-balance data to""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputAuthType] - scope: NotRequired[str] - r"""Scope to pass in the OAuth request""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] - format_: NotRequired[CreateOutputFormatSentinel] - custom_source_expression: NotRequired[str] - r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" - custom_drop_when_null: NotRequired[bool] - r"""Whether to drop events when the source expression evaluates to null""" - custom_event_delimiter: NotRequired[str] - r"""Delimiter string to insert between individual events. Defaults to newline character.""" - custom_content_type: NotRequired[str] - r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" - custom_payload_expression: NotRequired[str] - r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" - advanced_content_type: NotRequired[str] - r"""HTTP content-type header value""" - format_event_code: NotRequired[str] - r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" - format_payload_code: NotRequired[str] - r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + max_record_size: NotRequired[float] + r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" + udp_dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" + enable_ip_spoofing: NotRequired[bool] + r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -16890,59 +16693,22 @@ class CreateOutputOutputSentinelTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSentinelTypedDict] - url: NotRequired[str] - r"""URL to send events to. Can be overwritten by an event's __url field.""" - dcr_id: NotRequired[str] - r"""Immutable ID for the Data Collection Rule (DCR)""" - dce_endpoint: NotRequired[str] - r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" - stream_name: NotRequired[str] - r"""The name of the stream (Sentinel table) in which to store the events""" + pq_controls: NotRequired[CreateOutputPqControlsSyslogTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_login_url: NotRequired[str] - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - template_secret: NotRequired[str] - r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" - template_scope: NotRequired[str] - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_dcr_id: NotRequired[str] - r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" - template_dce_endpoint: NotRequired[str] - r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" - template_stream_name: NotRequired[str] - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" -class CreateOutputOutputSentinel(BaseModel): +class CreateOutputOutputSyslog(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSentinel - - login_url: Annotated[str, pydantic.Field(alias="loginUrl")] - r"""URL for OAuth""" - - secret: str - r"""Secret parameter value to pass in request body""" - - client_id: str - r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" - - endpoint_url_configuration: Annotated[ - CreateOutputEndpointConfiguration, - pydantic.Field(alias="endpointURLConfiguration"), - ] - r"""Enter the data collection endpoint URL or the individual ID""" + type: CreateOutputTypeSyslog pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -16958,140 +16724,109 @@ class CreateOutputOutputSentinel(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), - ] = None - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + protocol: Optional[CreateOutputProtocolSyslog] = None + r"""The network protocol to use for sending out syslog messages""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + facility: Optional[CreateOutputFacility] = None + r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + severity: Optional[CreateOutputSeveritySyslog] = None + r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" + app_name: Annotated[Optional[str], pydantic.Field(alias="appName")] = None + r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + message_format: Annotated[ + Optional[CreateOutputMessageFormat], pydantic.Field(alias="messageFormat") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""The syslog message format depending on the receiver's support""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + timestamp_format: Annotated[ + Optional[CreateOutputTimestampFormat], pydantic.Field(alias="timestampFormat") ] = None + r"""Timestamp format to use when serializing event's time field""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + octet_count_framing: Annotated[ + Optional[bool], pydantic.Field(alias="octetCountFraming") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" - auth_type: Annotated[ - Optional[CreateOutputAuthType], pydantic.Field(alias="authType") + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = None + r"""Use to troubleshoot issues with sending data""" - scope: Optional[str] = None - r"""Scope to pass in the OAuth request""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - description: Optional[str] = None + host: Optional[str] = None + r"""The hostname of the receiver""" - format_: Annotated[ - Optional[CreateOutputFormatSentinel], pydantic.Field(alias="format") - ] = None + port: Optional[float] = None + r"""The port to connect to on the provided host""" - custom_source_expression: Annotated[ - Optional[str], pydantic.Field(alias="customSourceExpression") + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + hosts: Optional[List[HostConfOutputSyslog]] = None + r"""Set of hosts to load-balance data to""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - custom_drop_when_null: Annotated[ - Optional[bool], pydantic.Field(alias="customDropWhenNull") + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""Whether to drop events when the source expression evaluates to null""" + r"""How far back in time to keep traffic stats for load balancing purposes""" - custom_event_delimiter: Annotated[ - Optional[str], pydantic.Field(alias="customEventDelimiter") + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") ] = None - r"""Delimiter string to insert between individual events. Defaults to newline character.""" + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" - custom_content_type: Annotated[ - Optional[str], pydantic.Field(alias="customContentType") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - custom_payload_expression: Annotated[ - Optional[str], pydantic.Field(alias="customPayloadExpression") + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" + r"""How to handle events when all receivers are exerting backpressure""" - advanced_content_type: Annotated[ - Optional[str], pydantic.Field(alias="advancedContentType") + max_record_size: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSize") ] = None - r"""HTTP content-type header value""" + r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" - format_event_code: Annotated[ - Optional[str], pydantic.Field(alias="formatEventCode") + udp_dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="udpDnsResolvePeriodSec") ] = None - r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" - format_payload_code: Annotated[ - Optional[str], pydantic.Field(alias="formatPayloadCode") + enable_ip_spoofing: Annotated[ + Optional[bool], pydantic.Field(alias="enableIpSpoofing") ] = None - r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17143,117 +16878,79 @@ class CreateOutputOutputSentinel(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsSentinel], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsSyslog], pydantic.Field(alias="pqControls") ] = None - url: Optional[str] = None - r"""URL to send events to. Can be overwritten by an event's __url field.""" - - dcr_id: Annotated[Optional[str], pydantic.Field(alias="dcrID")] = None - r"""Immutable ID for the Data Collection Rule (DCR)""" - - dce_endpoint: Annotated[Optional[str], pydantic.Field(alias="dceEndpoint")] = None - r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" - - stream_name: Annotated[Optional[str], pydantic.Field(alias="streamName")] = None - r"""The name of the stream (Sentinel table) in which to store the events""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_login_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_loginUrl") - ] = None - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - - template_secret: Annotated[ - Optional[str], pydantic.Field(alias="__template_secret") - ] = None - r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" - - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_client_id") - ] = None - r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" - - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") - ] = None - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( None ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_dcr_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_dcrID") - ] = None - r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - template_dce_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_dceEndpoint") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_stream_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamName") - ] = None - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" + @field_serializer("protocol") + def serialize_protocol(self, value): + if isinstance(value, str): + try: + return models.CreateOutputProtocolSyslog(value) + except ValueError: + return value + return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("facility") + def serialize_facility(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CreateOutputFacility(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("severity") + def serialize_severity(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CreateOutputSeveritySyslog(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("message_format") + def serialize_message_format(self, value): if isinstance(value, str): try: - return models.CreateOutputAuthType(value) + return models.CreateOutputMessageFormat(value) except ValueError: return value return value - @field_serializer("endpoint_url_configuration") - def serialize_endpoint_url_configuration(self, value): + @field_serializer("timestamp_format") + def serialize_timestamp_format(self, value): if isinstance(value, str): try: - return models.CreateOutputEndpointConfiguration(value) + return models.CreateOutputTimestampFormat(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputFormatSentinel(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -17293,35 +16990,31 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "keepAlive", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "scope", - "totalMemoryLimitKB", + "protocol", + "facility", + "severity", + "appName", + "messageFormat", + "timestampFormat", + "throttleRatePerSec", + "octetCountFraming", + "logFailedRequests", "description", - "format", - "customSourceExpression", - "customDropWhenNull", - "customEventDelimiter", - "customContentType", - "customPayloadExpression", - "advancedContentType", - "formatEventCode", - "formatPayloadCode", + "loadBalanced", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "connectionTimeout", + "writeTimeout", + "tls", + "onBackpressure", + "maxRecordSize", + "udpDnsResolvePeriodSec", + "enableIpSpoofing", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17334,21 +17027,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "url", - "dcrID", - "dceEndpoint", - "streamName", "__template_streamtags", - "__template_failedRequestLoggingMode", + "__template_host", + "__template_port", "__template_onBackpressure", - "__template_loginUrl", - "__template_secret", - "__template_client_id", - "__template_scope", - "__template_url", - "__template_dcrID", - "__template_dceEndpoint", - "__template_streamName", ] ) serialized = handler(self) @@ -17365,74 +17047,62 @@ def serialize_model(self, handler): return m -class CreateOutputOutputWebhookType2(str, Enum): - WEBHOOK = "webhook" - - -class CreateOutputOutputWebhookFormat2(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How to format events before sending out""" - - # NDJSON (Newline Delimited JSON) - NDJSON = "ndjson" - # JSON Array - JSON_ARRAY = "json_array" - # Custom - CUSTOM = "custom" - # Advanced - ADVANCED = "advanced" - - -class CreateOutputOutputWebhookAuthenticationType2( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Authentication method to use for the HTTP request""" - - # None - NONE = "none" - # Basic - BASIC = "basic" - # Basic (credentials secret) - CREDENTIALS_SECRET = "credentialsSecret" - # Token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" - # OAuth - OAUTH = "oauth" +class CreateOutputTypeDevnull(str, Enum): + DEVNULL = "devnull" -class CreateOutputOutputWebhookPqControls2TypedDict(TypedDict): - pass +class CreateOutputOutputDevnullTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeDevnull + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" -class CreateOutputOutputWebhookPqControls2(BaseModel): - pass +class CreateOutputOutputDevnull(BaseModel): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeDevnull -class CreateOutputOutputWebhookURL2TypedDict(TypedDict): - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" -class CreateOutputOutputWebhookURL2(BaseModel): - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["weight", "__template_url"]) + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "__template_streamtags", + ] + ) serialized = handler(self) m = {} @@ -17447,11 +17117,50 @@ def serialize_model(self, handler): return m -class CreateOutputOutputWebhookWebhook2TypedDict(TypedDict): +class CreateOutputTypeSentinel(str, Enum): + SENTINEL = "sentinel" + + +class CreateOutputAuthType(str, Enum, metaclass=utils.OpenEnumMeta): + OAUTH = "oauth" + + +class CreateOutputEndpointConfiguration(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Enter the data collection endpoint URL or the individual ID""" + + # URL + URL = "url" + # ID + ID = "ID" + + +class CreateOutputFormatSentinel(str, Enum, metaclass=utils.OpenEnumMeta): + NDJSON = "ndjson" + JSON_ARRAY = "json_array" + CUSTOM = "custom" + ADVANCED = "advanced" + + +class CreateOutputPqControlsSentinelTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsSentinel(BaseModel): + pass + + +class CreateOutputOutputSentinelTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputOutputWebhookType2 - urls: List[CreateOutputOutputWebhookURL2TypedDict] + type: CreateOutputTypeSentinel + login_url: str + r"""URL for OAuth""" + secret: str + r"""Secret parameter value to pass in request body""" + client_id: str + r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" + endpoint_url_configuration: CreateOutputEndpointConfiguration + r"""Enter the data collection endpoint URL or the individual ID""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -17460,16 +17169,12 @@ class CreateOutputOutputWebhookWebhook2TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - method: NotRequired[MethodOptions] - r"""The method to use when sending events""" - format_: NotRequired[CreateOutputOutputWebhookFormat2] - r"""How to format events before sending out""" keep_alive: NotRequired[bool] r"""Disable to close the connection immediately after sending the outgoing request""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" + r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" max_payload_events: NotRequired[float] r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" compress: NotRequired[bool] @@ -17500,14 +17205,14 @@ class CreateOutputOutputWebhookWebhook2TypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputOutputWebhookAuthenticationType2] - r"""Authentication method to use for the HTTP request""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + auth_type: NotRequired[CreateOutputAuthType] + scope: NotRequired[str] + r"""Scope to pass in the OAuth request""" total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + format_: NotRequired[CreateOutputFormatSentinel] custom_source_expression: NotRequired[str] r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" custom_drop_when_null: NotRequired[bool] @@ -17546,39 +17251,15 @@ class CreateOutputOutputWebhookWebhook2TypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputOutputWebhookPqControls2TypedDict] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - login_url: NotRequired[str] - r"""URL for OAuth""" - secret_param_name: NotRequired[str] - r"""Secret parameter name to pass in request body""" - secret: NotRequired[str] - r"""Secret parameter value to pass in request body""" - token_attribute_name: NotRequired[str] - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - auth_header_expr: NotRequired[str] - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - token_timeout_secs: NotRequired[float] - r"""How often the OAuth token should be refreshed.""" - oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" - oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] - 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.""" + pq_controls: NotRequired[CreateOutputPqControlsSentinelTypedDict] url: NotRequired[str] - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""URL to send events to. Can be overwritten by an event's __url field.""" + dcr_id: NotRequired[str] + r"""Immutable ID for the Data Collection Rule (DCR)""" + dce_endpoint: NotRequired[str] + r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" + stream_name: NotRequired[str] + r"""The name of the stream (Sentinel table) in which to store the events""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -17589,17 +17270,40 @@ class CreateOutputOutputWebhookWebhook2TypedDict(TypedDict): r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" template_secret: NotRequired[str] r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" + template_scope: NotRequired[str] + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" template_url: NotRequired[str] r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_dcr_id: NotRequired[str] + r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" + template_dce_endpoint: NotRequired[str] + r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" + template_stream_name: NotRequired[str] + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" -class CreateOutputOutputWebhookWebhook2(BaseModel): +class CreateOutputOutputSentinel(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputOutputWebhookType2 + type: CreateOutputTypeSentinel - urls: List[CreateOutputOutputWebhookURL2] + login_url: Annotated[str, pydantic.Field(alias="loginUrl")] + r"""URL for OAuth""" + + secret: str + r"""Secret parameter value to pass in request body""" + + client_id: str + r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" + + endpoint_url_configuration: Annotated[ + CreateOutputEndpointConfiguration, + pydantic.Field(alias="endpointURLConfiguration"), + ] + r"""Enter the data collection endpoint URL or the individual ID""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17615,14 +17319,6 @@ class CreateOutputOutputWebhookWebhook2(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - method: Optional[MethodOptions] = None - r"""The method to use when sending events""" - - format_: Annotated[ - Optional[CreateOutputOutputWebhookFormat2], pydantic.Field(alias="format") - ] = None - r"""How to format events before sending out""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None r"""Disable to close the connection immediately after sending the outgoing request""" @@ -17632,7 +17328,7 @@ class CreateOutputOutputWebhookWebhook2(BaseModel): max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") @@ -17701,24 +17397,23 @@ class CreateOutputOutputWebhookWebhook2(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[CreateOutputOutputWebhookAuthenticationType2], - pydantic.Field(alias="authType"), + Optional[CreateOutputAuthType], pydantic.Field(alias="authType") ] = None - r"""Authentication method to use for the HTTP request""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + scope: Optional[str] = None + r"""Scope to pass in the OAuth request""" total_memory_limit_kb: Annotated[ Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" + + format_: Annotated[ + Optional[CreateOutputFormatSentinel], pydantic.Field(alias="format") + ] = None custom_source_expression: Annotated[ Optional[str], pydantic.Field(alias="customSourceExpression") @@ -17810,78 +17505,20 @@ class CreateOutputOutputWebhookWebhook2(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputOutputWebhookPqControls2], - pydantic.Field(alias="pqControls"), - ] = None - - username: Optional[str] = None - - password: Optional[str] = None - - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") - ] = None - r"""Select or create a secret that references your credentials""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None - r"""URL for OAuth""" - - secret_param_name: Annotated[ - Optional[str], pydantic.Field(alias="secretParamName") - ] = None - r"""Secret parameter name to pass in request body""" - - secret: Optional[str] = None - r"""Secret parameter value to pass in request body""" - - token_attribute_name: Annotated[ - Optional[str], pydantic.Field(alias="tokenAttributeName") - ] = None - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - - auth_header_expr: Annotated[ - Optional[str], pydantic.Field(alias="authHeaderExpr") - ] = None - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - - token_timeout_secs: Annotated[ - Optional[float], pydantic.Field(alias="tokenTimeoutSecs") - ] = None - r"""How often the OAuth token should be refreshed.""" - - oauth_params: Annotated[ - Optional[List[OauthParamConfInputServicenowTable]], - pydantic.Field(alias="oauthParams"), - ] = None - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" - - oauth_headers: Annotated[ - Optional[List[OauthHeaderConfInputServicenowTable]], - pydantic.Field(alias="oauthHeaders"), + Optional[CreateOutputPqControlsSentinel], pydantic.Field(alias="pqControls") ] = None - 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.""" url: Optional[str] = None - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + r"""URL to send events to. Can be overwritten by an event's __url field.""" - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + dcr_id: Annotated[Optional[str], pydantic.Field(alias="dcrID")] = None + r"""Immutable ID for the Data Collection Rule (DCR)""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + dce_endpoint: Annotated[Optional[str], pydantic.Field(alias="dceEndpoint")] = None + r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + stream_name: Annotated[Optional[str], pydantic.Field(alias="streamName")] = None + r"""The name of the stream (Sentinel table) in which to store the events""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -17908,52 +17545,77 @@ class CreateOutputOutputWebhookWebhook2(BaseModel): ] = None r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_client_id") + ] = None + r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" + + template_scope: Annotated[ + Optional[str], pydantic.Field(alias="__template_scope") + ] = None + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - @field_serializer("method") - def serialize_method(self, value): + template_dcr_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_dcrID") + ] = None + r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" + + template_dce_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_dceEndpoint") + ] = None + r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" + + template_stream_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamName") + ] = None + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" + + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.MethodOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputOutputWebhookFormat2(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CreateOutputAuthType(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("endpoint_url_configuration") + def serialize_endpoint_url_configuration(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CreateOutputEndpointConfiguration(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputOutputWebhookAuthenticationType2(value) + return models.CreateOutputFormatSentinel(value) except ValueError: return value return value @@ -17993,8 +17655,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "method", - "format", "keepAlive", "concurrency", "maxPayloadSizeKB", @@ -18012,10 +17672,10 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "onBackpressure", "authType", - "tls", + "scope", "totalMemoryLimitKB", - "loadBalanced", "description", + "format", "customSourceExpression", "customDropWhenNull", "customEventDelimiter", @@ -18036,29 +17696,21 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "loginUrl", - "secretParamName", - "secret", - "tokenAttributeName", - "authHeaderExpr", - "tokenTimeoutSecs", - "oauthParams", - "oauthHeaders", "url", - "excludeSelf", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", + "dcrID", + "dceEndpoint", + "streamName", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_client_id", + "__template_scope", "__template_url", + "__template_dcrID", + "__template_dceEndpoint", + "__template_streamName", ] ) serialized = handler(self) @@ -18075,11 +17727,11 @@ def serialize_model(self, handler): return m -class CreateOutputOutputWebhookType1(str, Enum): +class CreateOutputOutputWebhookType2(str, Enum): WEBHOOK = "webhook" -class CreateOutputOutputWebhookFormat1(str, Enum, metaclass=utils.OpenEnumMeta): +class CreateOutputOutputWebhookFormat2(str, Enum, metaclass=utils.OpenEnumMeta): r"""How to format events before sending out""" # NDJSON (Newline Delimited JSON) @@ -18092,7 +17744,7 @@ class CreateOutputOutputWebhookFormat1(str, Enum, metaclass=utils.OpenEnumMeta): ADVANCED = "advanced" -class CreateOutputOutputWebhookAuthenticationType1( +class CreateOutputOutputWebhookAuthenticationType2( str, Enum, metaclass=utils.OpenEnumMeta ): r"""Authentication method to use for the HTTP request""" @@ -18111,15 +17763,15 @@ class CreateOutputOutputWebhookAuthenticationType1( OAUTH = "oauth" -class CreateOutputOutputWebhookPqControls1TypedDict(TypedDict): +class CreateOutputOutputWebhookPqControls2TypedDict(TypedDict): pass -class CreateOutputOutputWebhookPqControls1(BaseModel): +class CreateOutputOutputWebhookPqControls2(BaseModel): pass -class CreateOutputOutputWebhookURL1TypedDict(TypedDict): +class CreateOutputOutputWebhookURL2TypedDict(TypedDict): url: str r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" weight: NotRequired[float] @@ -18128,7 +17780,7 @@ class CreateOutputOutputWebhookURL1TypedDict(TypedDict): r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputOutputWebhookURL1(BaseModel): +class CreateOutputOutputWebhookURL2(BaseModel): url: str r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" @@ -18157,12 +17809,11 @@ def serialize_model(self, handler): return m -class CreateOutputOutputWebhookWebhook1TypedDict(TypedDict): +class CreateOutputOutputWebhookWebhook2TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputOutputWebhookType1 - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + type: CreateOutputOutputWebhookType2 + urls: List[CreateOutputOutputWebhookURL2TypedDict] pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -18173,7 +17824,7 @@ class CreateOutputOutputWebhookWebhook1TypedDict(TypedDict): r"""Tags for filtering and grouping in @{product}""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" - format_: NotRequired[CreateOutputOutputWebhookFormat1] + format_: NotRequired[CreateOutputOutputWebhookFormat2] r"""How to format events before sending out""" keep_alive: NotRequired[bool] r"""Disable to close the connection immediately after sending the outgoing request""" @@ -18211,7 +17862,7 @@ class CreateOutputOutputWebhookWebhook1TypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputOutputWebhookAuthenticationType1] + auth_type: NotRequired[CreateOutputOutputWebhookAuthenticationType2] r"""Authentication method to use for the HTTP request""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] total_memory_limit_kb: NotRequired[float] @@ -18219,6 +17870,7 @@ class CreateOutputOutputWebhookWebhook1TypedDict(TypedDict): load_balanced: NotRequired[bool] r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_source_expression: NotRequired[str] r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" custom_drop_when_null: NotRequired[bool] @@ -18257,7 +17909,7 @@ class CreateOutputOutputWebhookWebhook1TypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputOutputWebhookPqControls1TypedDict] + pq_controls: NotRequired[CreateOutputOutputWebhookPqControls2TypedDict] username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -18282,9 +17934,10 @@ class CreateOutputOutputWebhookWebhook1TypedDict(TypedDict): r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] 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.""" + url: NotRequired[str] + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[CreateOutputOutputWebhookURL1TypedDict]] dns_resolve_period_sec: NotRequired[float] r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" load_balance_stats_period_sec: NotRequired[float] @@ -18303,14 +17956,13 @@ class CreateOutputOutputWebhookWebhook1TypedDict(TypedDict): r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputOutputWebhookWebhook1(BaseModel): +class CreateOutputOutputWebhookWebhook2(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputOutputWebhookType1 + type: CreateOutputOutputWebhookType2 - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + urls: List[CreateOutputOutputWebhookURL2] pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -18330,7 +17982,7 @@ class CreateOutputOutputWebhookWebhook1(BaseModel): r"""The method to use when sending events""" format_: Annotated[ - Optional[CreateOutputOutputWebhookFormat1], pydantic.Field(alias="format") + Optional[CreateOutputOutputWebhookFormat2], pydantic.Field(alias="format") ] = None r"""How to format events before sending out""" @@ -18412,7 +18064,7 @@ class CreateOutputOutputWebhookWebhook1(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[CreateOutputOutputWebhookAuthenticationType1], + Optional[CreateOutputOutputWebhookAuthenticationType2], pydantic.Field(alias="authType"), ] = None r"""Authentication method to use for the HTTP request""" @@ -18430,6 +18082,7 @@ class CreateOutputOutputWebhookWebhook1(BaseModel): r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: Optional[str] = None + r"""Optional description for this configuration.""" custom_source_expression: Annotated[ Optional[str], pydantic.Field(alias="customSourceExpression") @@ -18521,7 +18174,7 @@ class CreateOutputOutputWebhookWebhook1(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputOutputWebhookPqControls1], + Optional[CreateOutputOutputWebhookPqControls2], pydantic.Field(alias="pqControls"), ] = None @@ -18578,11 +18231,12 @@ class CreateOutputOutputWebhookWebhook1(BaseModel): ] = None 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.""" + url: Optional[str] = None + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: Optional[List[CreateOutputOutputWebhookURL1]] = None - dns_resolve_period_sec: Annotated[ Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None @@ -18636,7 +18290,7 @@ def serialize_method(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputOutputWebhookFormat1(value) + return models.CreateOutputOutputWebhookFormat2(value) except ValueError: return value return value @@ -18663,7 +18317,7 @@ def serialize_on_backpressure(self, value): def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputOutputWebhookAuthenticationType1(value) + return models.CreateOutputOutputWebhookAuthenticationType2(value) except ValueError: return value return value @@ -18759,8 +18413,8 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "url", "excludeSelf", - "urls", "dnsResolvePeriodSec", "loadBalanceStatsPeriodSec", "__template_streamtags", @@ -18785,6 +18439,46 @@ def serialize_model(self, handler): return m +class CreateOutputOutputWebhookType1(str, Enum): + WEBHOOK = "webhook" + + +class CreateOutputOutputWebhookFormat1(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How to format events before sending out""" + + # NDJSON (Newline Delimited JSON) + NDJSON = "ndjson" + # JSON Array + JSON_ARRAY = "json_array" + # Custom + CUSTOM = "custom" + # Advanced + ADVANCED = "advanced" + + +class CreateOutputOutputWebhookAuthenticationType1( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Authentication method to use for the HTTP request""" + + # None + NONE = "none" + # Basic + BASIC = "basic" + # Basic (credentials secret) + CREDENTIALS_SECRET = "credentialsSecret" + # Token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" + # OAuth + OAUTH = "oauth" + + +try: + CreateOutputOutputStatsdExt.model_rebuild() +except NameError: + pass try: CreateOutputOutputStatsd.model_rebuild() except NameError: @@ -18957,11 +18651,3 @@ def serialize_model(self, handler): CreateOutputOutputWebhookWebhook2.model_rebuild() except NameError: pass -try: - CreateOutputOutputWebhookURL1.model_rebuild() -except NameError: - pass -try: - CreateOutputOutputWebhookWebhook1.model_rebuild() -except NameError: - pass diff --git a/src/cribl_control_plane/models/createoutput_pqcontrols_statsd.py b/src/cribl_control_plane/models/createoutput_pqcontrols_statsdext.py similarity index 97% rename from src/cribl_control_plane/models/createoutput_pqcontrols_statsd.py rename to src/cribl_control_plane/models/createoutput_pqcontrols_statsdext.py index 692c8006e..f0e985a42 100644 --- a/src/cribl_control_plane/models/createoutput_pqcontrols_statsd.py +++ b/src/cribl_control_plane/models/createoutput_pqcontrols_statsdext.py @@ -137,20 +137,20 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict -class CreateOutputTypeAlibabaCloudS3(str, Enum): - ALIBABA_CLOUD_S3 = "alibaba_cloud_s3" +class CreateOutputTypeIbmCloudS3(str, Enum): + IBM_CLOUD_S3 = "ibm_cloud_s3" -class CreateOutputOutputAlibabaCloudS3TypedDict(TypedDict): +class CreateOutputOutputIbmCloudS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAlibabaCloudS3 + type: CreateOutputTypeIbmCloudS3 + endpoint: str + r"""IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud)""" bucket: str - r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -207,9 +207,8 @@ class CreateOutputOutputAlibabaCloudS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -248,6 +247,8 @@ class CreateOutputOutputAlibabaCloudS3TypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_dest_path: NotRequired[str] @@ -262,31 +263,27 @@ class CreateOutputOutputAlibabaCloudS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputAlibabaCloudS3(BaseModel): +class CreateOutputOutputIbmCloudS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAlibabaCloudS3 + type: CreateOutputTypeIbmCloudS3 + + endpoint: str + r"""IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud)""" bucket: str - r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" - pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -421,12 +418,8 @@ class CreateOutputOutputAlibabaCloudS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") - ] = None - r"""Object ACL to assign to uploaded objects""" - description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -520,6 +513,11 @@ class CreateOutputOutputAlibabaCloudS3(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_bucket: Annotated[ Optional[str], pydantic.Field(alias="__template_bucket") ] = None @@ -555,16 +553,6 @@ class CreateOutputOutputAlibabaCloudS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") ] = None @@ -611,15 +599,6 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): - if isinstance(value, str): - try: - return models.ObjectACLOptions(value) - except ValueError: - return value - return value - @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -689,7 +668,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", "description", "awsSecret", "compress", @@ -710,6 +688,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_destPath", "__template_partitionExpr", @@ -717,8 +696,6 @@ def serialize_model(self, handler): "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_objectACL", - "__template_endpoint", "__template_compress", "__template_parquetSchema", ] @@ -737,20 +714,31 @@ def serialize_model(self, handler): return m -class CreateOutputTypeScalityS3(str, Enum): - SCALITY_S3 = "scality_s3" +class CreateOutputTypeAlibabaCloudS3(str, Enum): + ALIBABA_CLOUD_S3 = "alibaba_cloud_s3" -class CreateOutputOutputScalityS3TypedDict(TypedDict): +class CreateOutputAuthenticationMethodAlibabaCloudS3( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Authentication method.""" + + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" + + +class CreateOutputOutputAlibabaCloudS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeScalityS3 + type: CreateOutputTypeAlibabaCloudS3 bucket: str - r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" + r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -759,14 +747,14 @@ class CreateOutputOutputScalityS3TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] + aws_authentication_method: NotRequired[ + CreateOutputAuthenticationMethodAlibabaCloudS3 + ] r"""Authentication method.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the Scality bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -809,7 +797,10 @@ class CreateOutputOutputScalityS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -850,8 +841,6 @@ class CreateOutputOutputScalityS3TypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -864,6 +853,8 @@ class CreateOutputOutputScalityS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" template_endpoint: NotRequired[str] r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] @@ -872,20 +863,20 @@ class CreateOutputOutputScalityS3TypedDict(TypedDict): r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputScalityS3(BaseModel): +class CreateOutputOutputAlibabaCloudS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeScalityS3 + type: CreateOutputTypeAlibabaCloudS3 bucket: str - r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" + r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -902,7 +893,7 @@ class CreateOutputOutputScalityS3(BaseModel): r"""Tags for filtering and grouping in @{product}""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsSecret], + Optional[CreateOutputAuthenticationMethodAlibabaCloudS3], pydantic.Field(alias="awsAuthenticationMethod"), ] = None r"""Authentication method.""" @@ -917,9 +908,6 @@ class CreateOutputOutputScalityS3(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: Optional[str] = None - r"""Region where the Scality bucket is located""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -1024,7 +1012,13 @@ class CreateOutputOutputScalityS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" + description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -1123,11 +1117,6 @@ class CreateOutputOutputScalityS3(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None @@ -1158,6 +1147,11 @@ class CreateOutputOutputScalityS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_endpoint: Annotated[ Optional[str], pydantic.Field(alias="__template_endpoint") ] = None @@ -1177,7 +1171,7 @@ class CreateOutputOutputScalityS3(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsSecret(value) + return models.CreateOutputAuthenticationMethodAlibabaCloudS3(value) except ValueError: return value return value @@ -1209,6 +1203,15 @@ def serialize_on_disk_full_backpressure(self, value): return value return value + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -1256,7 +1259,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -1279,6 +1281,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "objectACL", "description", "awsSecret", "compress", @@ -1300,13 +1303,13 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", - "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", + "__template_objectACL", "__template_endpoint", "__template_compress", "__template_parquetSchema", @@ -1326,20 +1329,20 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCloudianS3(str, Enum): - CLOUDIAN_S3 = "cloudian_s3" +class CreateOutputTypeScalityS3(str, Enum): + SCALITY_S3 = "scality_s3" -class CreateOutputOutputCloudianS3TypedDict(TypedDict): +class CreateOutputOutputScalityS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCloudianS3 - endpoint: str - r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" + type: CreateOutputTypeScalityS3 bucket: str - r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -1355,7 +1358,7 @@ class CreateOutputOutputCloudianS3TypedDict(TypedDict): reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: NotRequired[str] - r"""Region where the Cloudian bucket is located""" + r"""Region where the Scality bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -1398,15 +1401,8 @@ class CreateOutputOutputCloudianS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptions] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: NotRequired[str] - r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -1445,8 +1441,6 @@ class CreateOutputOutputCloudianS3TypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_region: NotRequired[str] @@ -1463,35 +1457,29 @@ class CreateOutputOutputCloudianS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_kms_key_id: NotRequired[str] - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputCloudianS3(BaseModel): +class CreateOutputOutputScalityS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCloudianS3 - - endpoint: str - r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" + type: CreateOutputTypeScalityS3 bucket: str - r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" + pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -1523,7 +1511,7 @@ class CreateOutputOutputCloudianS3(BaseModel): r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: Optional[str] = None - r"""Region where the Cloudian bucket is located""" + r"""Region where the Scality bucket is located""" dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -1629,26 +1617,8 @@ class CreateOutputOutputCloudianS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") - ] = None - r"""Object ACL to assign to uploaded objects""" - - storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") - ] = None - r"""Storage class to select for uploaded objects""" - - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), - ] = None - r"""Server-side encryption to use for uploaded objects""" - - kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None - r"""ID or ARN of the KMS customer-managed key to use for encryption""" - description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -1742,11 +1712,6 @@ class CreateOutputOutputCloudianS3(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_bucket: Annotated[ Optional[str], pydantic.Field(alias="__template_bucket") ] = None @@ -1787,25 +1752,10 @@ class CreateOutputOutputCloudianS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") - ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -1853,33 +1803,6 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): - if isinstance(value, str): - try: - return models.ObjectACLOptions(value) - except ValueError: - return value - return value - - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.StorageClassOptions(value) - except ValueError: - return value - return value - - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptions(value) - except ValueError: - return value - return value - @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -1950,10 +1873,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", "description", "awsSecret", "compress", @@ -1974,7 +1893,6 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -1983,10 +1901,7 @@ def serialize_model(self, handler): "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", + "__template_endpoint", "__template_compress", "__template_parquetSchema", ] @@ -2005,20 +1920,20 @@ def serialize_model(self, handler): return m -class CreateOutputTypeDellS3(str, Enum): - DELL_S3 = "dell_s3" +class CreateOutputTypeCloudianS3(str, Enum): + CLOUDIAN_S3 = "cloudian_s3" -class CreateOutputOutputDellS3TypedDict(TypedDict): +class CreateOutputOutputCloudianS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDellS3 + type: CreateOutputTypeCloudianS3 + endpoint: str + r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" bucket: str - r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -2034,7 +1949,7 @@ class CreateOutputOutputDellS3TypedDict(TypedDict): reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: NotRequired[str] - r"""Region where the Dell PowerScale OneFS bucket is located""" + r"""Region where the Cloudian bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -2079,7 +1994,14 @@ class CreateOutputOutputDellS3TypedDict(TypedDict): orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] object_acl: NotRequired[ObjectACLOptions] r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptions] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: NotRequired[str] + r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -2118,6 +2040,8 @@ class CreateOutputOutputDellS3TypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_region: NotRequired[str] @@ -2136,29 +2060,33 @@ class CreateOutputOutputDellS3TypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" template_object_acl: NotRequired[str] r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_kms_key_id: NotRequired[str] + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputDellS3(BaseModel): +class CreateOutputOutputCloudianS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDellS3 + type: CreateOutputTypeCloudianS3 + + endpoint: str + r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" bucket: str - r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" - pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -2190,7 +2118,7 @@ class CreateOutputOutputDellS3(BaseModel): r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: Optional[str] = None - r"""Region where the Dell PowerScale OneFS bucket is located""" + r"""Region where the Cloudian bucket is located""" dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -2301,7 +2229,22 @@ class CreateOutputOutputDellS3(BaseModel): ] = None r"""Object ACL to assign to uploaded objects""" + storage_class: Annotated[ + Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + ] = None + r"""Storage class to select for uploaded objects""" + + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptions], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" + + kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None + r"""ID or ARN of the KMS customer-managed key to use for encryption""" + description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -2395,6 +2338,11 @@ class CreateOutputOutputDellS3(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_bucket: Annotated[ Optional[str], pydantic.Field(alias="__template_bucket") ] = None @@ -2440,10 +2388,20 @@ class CreateOutputOutputDellS3(BaseModel): ] = None r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + + template_kms_key_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_kmsKeyId") + ] = None + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -2500,6 +2458,24 @@ def serialize_object_acl(self, value): return value return value + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.StorageClassOptions(value) + except ValueError: + return value + return value + + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): + if isinstance(value, str): + try: + return models.ServerSideEncryptionForUploadedObjectsOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -2571,6 +2547,9 @@ def serialize_model(self, handler): "retrySettings", "orphans", "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", "description", "awsSecret", "compress", @@ -2591,6 +2570,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -2600,7 +2580,9 @@ def serialize_model(self, handler): "__template_fileNameSuffix", "__template_onBackpressure", "__template_objectACL", - "__template_endpoint", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", "__template_compress", "__template_parquetSchema", ] @@ -2619,18 +2601,20 @@ def serialize_model(self, handler): return m -class CreateOutputTypeAlphasocS3(str, Enum): - ALPHASOC_S3 = "alphasoc_s3" +class CreateOutputTypeDellS3(str, Enum): + DELL_S3 = "dell_s3" -class CreateOutputOutputAlphasocS3TypedDict(TypedDict): +class CreateOutputOutputDellS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAlphasocS3 + type: CreateOutputTypeDellS3 bucket: str - r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -2645,6 +2629,8 @@ class CreateOutputOutputAlphasocS3TypedDict(TypedDict): r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the Dell PowerScale OneFS bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -2687,9 +2673,10 @@ class CreateOutputOutputAlphasocS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - endpoint: NotRequired[str] - r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -2730,8 +2717,12 @@ class CreateOutputOutputAlphasocS3TypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_base_file_name: NotRequired[str] @@ -2740,6 +2731,8 @@ class CreateOutputOutputAlphasocS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" template_endpoint: NotRequired[str] r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] @@ -2748,18 +2741,21 @@ class CreateOutputOutputAlphasocS3TypedDict(TypedDict): r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputAlphasocS3(BaseModel): +class CreateOutputOutputDellS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeAlphasocS3 + type: CreateOutputTypeDellS3 bucket: str - r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" + pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -2790,6 +2786,9 @@ class CreateOutputOutputAlphasocS3(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: Optional[str] = None + r"""Region where the Dell PowerScale OneFS bucket is located""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -2894,10 +2893,13 @@ class CreateOutputOutputAlphasocS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - endpoint: Optional[str] = None - r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -2996,11 +2998,21 @@ class CreateOutputOutputAlphasocS3(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None @@ -3021,6 +3033,11 @@ class CreateOutputOutputAlphasocS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_endpoint: Annotated[ Optional[str], pydantic.Field(alias="__template_endpoint") ] = None @@ -3072,6 +3089,15 @@ def serialize_on_disk_full_backpressure(self, value): return value return value + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -3119,6 +3145,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -3141,7 +3168,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "endpoint", + "objectACL", "description", "awsSecret", "compress", @@ -3163,11 +3190,14 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", + "__template_region", "__template_destPath", + "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", + "__template_objectACL", "__template_endpoint", "__template_compress", "__template_parquetSchema", @@ -3187,20 +3217,18 @@ def serialize_model(self, handler): return m -class CreateOutputTypeStorjS3(str, Enum): - STORJ_S3 = "storj_s3" +class CreateOutputTypeAlphasocS3(str, Enum): + ALPHASOC_S3 = "alphasoc_s3" -class CreateOutputOutputStorjS3TypedDict(TypedDict): +class CreateOutputOutputAlphasocS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeStorjS3 + type: CreateOutputTypeAlphasocS3 bucket: str - r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -3257,7 +3285,10 @@ class CreateOutputOutputStorjS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + endpoint: NotRequired[str] + r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -3300,8 +3331,6 @@ class CreateOutputOutputStorjS3TypedDict(TypedDict): r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_base_file_name: NotRequired[str] @@ -3318,21 +3347,18 @@ class CreateOutputOutputStorjS3TypedDict(TypedDict): r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputStorjS3(BaseModel): +class CreateOutputOutputAlphasocS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeStorjS3 + type: CreateOutputTypeAlphasocS3 bucket: str - r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" - pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -3467,7 +3493,11 @@ class CreateOutputOutputStorjS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None + endpoint: Optional[str] = None + r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" + description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -3571,11 +3601,6 @@ class CreateOutputOutputStorjS3(BaseModel): ] = None r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") - ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None @@ -3716,6 +3741,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "endpoint", "description", "awsSecret", "compress", @@ -3738,7 +3764,6 @@ def serialize_model(self, handler): "__template_streamtags", "__template_bucket", "__template_destPath", - "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", @@ -3762,20 +3787,20 @@ def serialize_model(self, handler): return m -class CreateOutputTypeNutanixObjects(str, Enum): - NUTANIX_OBJECTS = "nutanix_objects" +class CreateOutputTypeStorjS3(str, Enum): + STORJ_S3 = "storj_s3" -class CreateOutputOutputNutanixObjectsTypedDict(TypedDict): +class CreateOutputOutputStorjS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeNutanixObjects + type: CreateOutputTypeStorjS3 bucket: str - r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" + r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -3790,8 +3815,6 @@ class CreateOutputOutputNutanixObjectsTypedDict(TypedDict): r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the Nutanix Objects bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -3835,6 +3858,7 @@ class CreateOutputOutputNutanixObjectsTypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -3875,8 +3899,6 @@ class CreateOutputOutputNutanixObjectsTypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -3897,20 +3919,20 @@ class CreateOutputOutputNutanixObjectsTypedDict(TypedDict): r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputNutanixObjects(BaseModel): +class CreateOutputOutputStorjS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeNutanixObjects + type: CreateOutputTypeStorjS3 bucket: str - r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" + r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -3942,9 +3964,6 @@ class CreateOutputOutputNutanixObjects(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: Optional[str] = None - r"""Region where the Nutanix Objects bucket is located""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -4050,6 +4069,7 @@ class CreateOutputOutputNutanixObjects(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -4148,11 +4168,6 @@ class CreateOutputOutputNutanixObjects(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None @@ -4281,7 +4296,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -4325,7 +4339,6 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", - "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", @@ -4351,20 +4364,20 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCloudflareR2(str, Enum): - CLOUDFLARE_R2 = "cloudflare_r2" +class CreateOutputTypeNutanixObjects(str, Enum): + NUTANIX_OBJECTS = "nutanix_objects" -class CreateOutputOutputCloudflareR2TypedDict(TypedDict): +class CreateOutputOutputNutanixObjectsTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCloudflareR2 + type: CreateOutputTypeNutanixObjects bucket: str - r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" + r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -4373,12 +4386,14 @@ class CreateOutputOutputCloudflareR2TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] - r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] + r"""Authentication method.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the Nutanix Objects bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -4421,15 +4436,8 @@ class CreateOutputOutputCloudflareR2TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ - ServerSideEncryptionForUploadedObjectsOptionsAes256 - ] - r"""Server-side encryption to use for uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -4470,6 +4478,8 @@ class CreateOutputOutputCloudflareR2TypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -4482,32 +4492,28 @@ class CreateOutputOutputCloudflareR2TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputCloudflareR2(BaseModel): +class CreateOutputOutputNutanixObjects(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCloudflareR2 + type: CreateOutputTypeNutanixObjects bucket: str - r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" + r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -4524,10 +4530,10 @@ class CreateOutputOutputCloudflareR2(BaseModel): r"""Tags for filtering and grouping in @{product}""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsAutoSecret], + Optional[AuthenticationMethodOptionsSecret], pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Authentication method.""" reuse_connections: Annotated[ Optional[bool], pydantic.Field(alias="reuseConnections") @@ -4539,6 +4545,9 @@ class CreateOutputOutputCloudflareR2(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: Optional[str] = None + r"""Region where the Nutanix Objects bucket is located""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -4643,24 +4652,8 @@ class CreateOutputOutputCloudflareR2(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - - storage_class: Annotated[ - Optional[StorageClassOptionsReducedredundancyStandard], - pydantic.Field(alias="storageClass"), - ] = None - r"""Storage class to select for uploaded objects""" - - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], - pydantic.Field(alias="serverSideEncryption"), - ] = None - r"""Server-side encryption to use for uploaded objects""" - description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -4759,6 +4752,11 @@ class CreateOutputOutputCloudflareR2(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None @@ -4789,20 +4787,10 @@ class CreateOutputOutputCloudflareR2(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -4818,7 +4806,7 @@ class CreateOutputOutputCloudflareR2(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAutoSecret(value) + return models.AuthenticationMethodOptionsSecret(value) except ValueError: return value return value @@ -4850,24 +4838,6 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.StorageClassOptionsReducedredundancyStandard(value) - except ValueError: - return value - return value - - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) - except ValueError: - return value - return value - @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -4915,6 +4885,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -4937,9 +4908,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "storageClass", - "serverSideEncryption", "description", "awsSecret", "compress", @@ -4961,15 +4929,14 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", + "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_storageClass", - "__template_serverSideEncryption", + "__template_endpoint", "__template_compress", "__template_parquetSchema", ] @@ -4988,456 +4955,476 @@ def serialize_model(self, handler): return m -class CreateOutputTypeMicrosoftFabric(str, Enum): - MICROSOFT_FABRIC = "microsoft_fabric" +class CreateOutputTypeCloudflareR2(str, Enum): + CLOUDFLARE_R2 = "cloudflare_r2" -class CreateOutputAuthenticationTypedDict(TypedDict): - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" +class CreateOutputOutputCloudflareR2TypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeCloudflareR2 + bucket: str + r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ + ServerSideEncryptionForUploadedObjectsOptionsAes256 + ] + r"""Server-side encryption to use for uploaded objects""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - disabled: bool - mechanism: NotRequired[SaslMechanismOptionsSaslOauthbearerPlain] - username: NotRequired[str] - r"""The username for authentication. This should always be $ConnectionString.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" - client_secret_auth_type: NotRequired[AuthenticationMethodOptionsAuth] - client_text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - certificate_name: NotRequired[str] - r"""Select or create a stored certificate""" - cert_path: NotRequired[str] - priv_key_path: NotRequired[str] - passphrase: NotRequired[str] - oauth_endpoint: NotRequired[MicrosoftEntraIDAuthenticationEndpointOptionsSasl] - r"""Endpoint used to acquire authentication tokens from Azure""" - client_id: NotRequired[str] - r"""client_id to pass in the OAuth request parameter""" - tenant_id: NotRequired[str] - r"""Directory ID (tenant identifier) in Azure Active Directory""" - scope: NotRequired[str] - r"""Scope to pass in the OAuth request parameter""" - template_mechanism: NotRequired[str] - r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" - template_oauth_endpoint: NotRequired[str] - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_tenant_id: NotRequired[str] - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_scope: NotRequired[str] - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" +class CreateOutputOutputCloudflareR2(BaseModel): + id: str + r"""Unique ID for this output""" -class CreateOutputAuthentication(BaseModel): - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - - disabled: bool + type: CreateOutputTypeCloudflareR2 - mechanism: Optional[SaslMechanismOptionsSaslOauthbearerPlain] = None + bucket: str + r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - username: Optional[str] = None - r"""The username for authentication. This should always be $ConnectionString.""" + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" + endpoint: str + r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" - client_secret_auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuth], - pydantic.Field(alias="clientSecretAuthType"), - ] = None + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - client_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="clientTextSecret") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Select or create a stored text secret""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - certificate_name: Annotated[ - Optional[str], pydantic.Field(alias="certificateName") - ] = None - r"""Select or create a stored certificate""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsAutoSecret], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" - passphrase: Optional[str] = None + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" - oauth_endpoint: Annotated[ - Optional[MicrosoftEntraIDAuthenticationEndpointOptionsSasl], - pydantic.Field(alias="oauthEndpoint"), + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Endpoint used to acquire authentication tokens from Azure""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None - r"""client_id to pass in the OAuth request parameter""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None - r"""Directory ID (tenant identifier) in Azure Active Directory""" + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - scope: Optional[str] = None - r"""Scope to pass in the OAuth request parameter""" + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" - template_mechanism: Annotated[ - Optional[str], pydantic.Field(alias="__template_mechanism") + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") ] = None - r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" - template_oauth_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_oauthEndpoint") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" + r"""Add the Output ID value to staging location""" - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + r"""Remove empty staging directories after moving files""" - template_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" + + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") ] = None - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - @field_serializer("mechanism") - def serialize_mechanism(self, value): - if isinstance(value, str): - try: - return models.SaslMechanismOptionsSaslOauthbearerPlain(value) - except ValueError: - return value - return value + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - @field_serializer("client_secret_auth_type") - def serialize_client_secret_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuth(value) - except ValueError: - return value - return value + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + ] = None + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - @field_serializer("oauth_endpoint") - def serialize_oauth_endpoint(self, value): - if isinstance(value, str): - try: - return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) - except ValueError: - return value - return value + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "mechanism", - "username", - "textSecret", - "clientSecretAuthType", - "clientTextSecret", - "certificateName", - "certPath", - "privKeyPath", - "passphrase", - "oauthEndpoint", - "clientId", - "tenantId", - "scope", - "__template_mechanism", - "__template_oauthEndpoint", - "__template_clientId", - "__template_tenantId", - "__template_scope", - ] - ) - serialized = handler(self) - m = {} + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") + ] = None + r"""Buffer size used to write to a file""" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), + ] = None + r"""How to handle events when all receivers are exerting backpressure""" - return m + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), + ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" -class CreateOutputPqControlsMicrosoftFabricTypedDict(TypedDict): - pass + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + ] = None + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None -class CreateOutputPqControlsMicrosoftFabric(BaseModel): - pass + orphans: Optional[OrphanFileRecoveryType] = None + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" -class CreateOutputOutputMicrosoftFabricTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeMicrosoftFabric - topic: str - r"""Topic name from Fabric Eventstream's endpoint""" - bootstrap_server: str - r"""Bootstrap server from Fabric Eventstream's endpoint""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - ack: NotRequired[AcknowledgmentsOptions] - r"""Control the number of required acknowledgments""" - format_: NotRequired[RecordDataFormatOptions] - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - flush_event_count: NotRequired[float] - r"""Maximum number of events in a batch before forcing a flush""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: NotRequired[CreateOutputAuthenticationTypedDict] - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - tls: NotRequired[TLSSettingsClientSideTypeTypedDict] - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsMicrosoftFabricTypedDict] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_bootstrap_server: NotRequired[str] - r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" - - -class CreateOutputOutputMicrosoftFabric(BaseModel): - id: str - r"""Unique ID for this output""" + storage_class: Annotated[ + Optional[StorageClassOptionsReducedredundancyStandard], + pydantic.Field(alias="storageClass"), + ] = None + r"""Storage class to select for uploaded objects""" - type: CreateOutputTypeMicrosoftFabric + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" - topic: str - r"""Topic name from Fabric Eventstream's endpoint""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - bootstrap_server: str - r"""Bootstrap server from Fabric Eventstream's endpoint""" + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + r"""Compression level to apply before moving files to final destination""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + r"""Determines which data types are supported and how they are represented""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Maximum number of events in a batch before forcing a flush""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""Maximum time to wait for a connection to complete successfully""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""Maximum time to wait for Kafka to respond to a request""" - - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") + ] = None + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""How frequently, in seconds, to clean up empty directories""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - sasl: Optional[CreateOutputAuthentication] = None - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") + ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - tls: Optional[TLSSettingsClientSideType] = None + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") - ] = None - r"""Codec to use to compress the persisted data""" - - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") - ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") - ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputPqControlsMicrosoftFabric], - pydantic.Field(alias="pqControls"), + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_bootstrap_server: Annotated[ - Optional[str], pydantic.Field(alias="__template_bootstrap_server") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - @field_serializer("ack") - def serialize_ack(self, value): + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.AcknowledgmentsOptions(value) + return models.AuthenticationMethodOptionsAutoSecret(value) except ValueError: return value return value @@ -5446,7 +5433,7 @@ def serialize_ack(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.RecordDataFormatOptions(value) + return models.DataFormatOptions(value) except ValueError: return value return value @@ -5455,34 +5442,70 @@ def serialize_format_(self, value): def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.StorageClassOptionsReducedredundancyStandard(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsHTTP(value) + except ValueError: + return value + return value + + @field_serializer("compression_level") + def serialize_compression_level(self, value): + if isinstance(value, str): + try: + return models.CompressionLevelOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): + if isinstance(value, str): + try: + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -5495,40 +5518,66 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", + "awsAuthenticationMethod", + "reuseConnections", + "rejectUnauthorized", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", "format", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "tls", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "storageClass", + "serverSideEncryption", "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_topic", + "__template_bucket", + "__template_destPath", + "__template_partitionExpr", "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_bootstrap_server", + "__template_awsSecretKey", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -5545,457 +5594,503 @@ def serialize_model(self, handler): return m -class CreateOutputTypeDatabricks(str, Enum): - DATABRICKS = "databricks" +class CreateOutputTypeMicrosoftFabric(str, Enum): + MICROSOFT_FABRIC = "microsoft_fabric" -class CreateOutputOutputDatabricksTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeDatabricks - workspace_id: str - r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" - scope: str - r"""OAuth scope for Unity Catalog authentication""" - client_id: str - r"""OAuth client ID for Unity Catalog authentication""" - catalog: str - r"""Name of the Unity Catalog catalog to use for the Destination.""" - schema_: str - r"""Name of the Unity Catalog schema to use for the Destination.""" - events_volume_name: str - r"""Name of the Unity Catalog volume where event data is written.""" - client_text_secret: str - r"""OAuth client secret for Unity Catalog authentication""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - dest_path: NotRequired[str] - r"""Optional path to prepend to files before uploading.""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - workspace_host: NotRequired[str] - r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" - timeout_sec: NotRequired[int] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - - -class CreateOutputOutputDatabricks(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeDatabricks - - workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] - r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" +class CreateOutputAuthenticationTypedDict(TypedDict): + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - scope: str - r"""OAuth scope for Unity Catalog authentication""" + disabled: bool + mechanism: NotRequired[SaslMechanismOptionsSaslOauthbearerPlain] + username: NotRequired[str] + r"""The username for authentication. This should always be $ConnectionString.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" + client_secret_auth_type: NotRequired[AuthenticationMethodOptionsAuth] + client_text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + certificate_name: NotRequired[str] + r"""Select or create a stored certificate""" + cert_path: NotRequired[str] + priv_key_path: NotRequired[str] + passphrase: NotRequired[str] + oauth_endpoint: NotRequired[MicrosoftEntraIDAuthenticationEndpointOptionsSasl] + r"""Endpoint used to acquire authentication tokens from Azure""" + client_id: NotRequired[str] + r"""client_id to pass in the OAuth request parameter""" + tenant_id: NotRequired[str] + r"""Directory ID (tenant identifier) in Azure Active Directory""" + scope: NotRequired[str] + r"""Scope to pass in the OAuth request parameter""" + template_mechanism: NotRequired[str] + r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" + template_oauth_endpoint: NotRequired[str] + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + template_tenant_id: NotRequired[str] + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + template_scope: NotRequired[str] + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - client_id: Annotated[str, pydantic.Field(alias="clientId")] - r"""OAuth client ID for Unity Catalog authentication""" - catalog: str - r"""Name of the Unity Catalog catalog to use for the Destination.""" +class CreateOutputAuthentication(BaseModel): + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - schema_: Annotated[str, pydantic.Field(alias="schema")] - r"""Name of the Unity Catalog schema to use for the Destination.""" + disabled: bool - events_volume_name: Annotated[str, pydantic.Field(alias="eventsVolumeName")] - r"""Name of the Unity Catalog volume where event data is written.""" + mechanism: Optional[SaslMechanismOptionsSaslOauthbearerPlain] = None - client_text_secret: Annotated[str, pydantic.Field(alias="clientTextSecret")] - r"""OAuth client secret for Unity Catalog authentication""" + username: Optional[str] = None + r"""The username for authentication. This should always be $ConnectionString.""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + client_secret_auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuth], + pydantic.Field(alias="clientSecretAuthType"), ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Optional path to prepend to files before uploading.""" - - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + client_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="clientTextSecret") ] = None - r"""Add the Output ID value to staging location""" + r"""Select or create a stored text secret""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + certificate_name: Annotated[ + Optional[str], pydantic.Field(alias="certificateName") ] = None - r"""Remove empty staging directories after moving files""" - - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" + r"""Select or create a stored certificate""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + passphrase: Optional[str] = None - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + oauth_endpoint: Annotated[ + Optional[MicrosoftEntraIDAuthenticationEndpointOptionsSasl], + pydantic.Field(alias="oauthEndpoint"), ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + r"""Endpoint used to acquire authentication tokens from Azure""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") - ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None + r"""client_id to pass in the OAuth request parameter""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None + r"""Directory ID (tenant identifier) in Azure Active Directory""" - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" + scope: Optional[str] = None + r"""Scope to pass in the OAuth request parameter""" - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") + template_mechanism: Annotated[ + Optional[str], pydantic.Field(alias="__template_mechanism") ] = None - r"""Buffer size used to write to a file""" + r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), + template_oauth_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_oauthEndpoint") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientId") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + template_tenant_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tenantId") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + template_scope: Annotated[ + Optional[str], pydantic.Field(alias="__template_scope") ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None + @field_serializer("mechanism") + def serialize_mechanism(self, value): + if isinstance(value, str): + try: + return models.SaslMechanismOptionsSaslOauthbearerPlain(value) + except ValueError: + return value + return value - orphans: Optional[OrphanFileRecoveryType] = None + @field_serializer("client_secret_auth_type") + def serialize_client_secret_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuth(value) + except ValueError: + return value + return value - workspace_host: Annotated[Optional[str], pydantic.Field(alias="workspaceHost")] = ( - None - ) - r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" + @field_serializer("oauth_endpoint") + def serialize_oauth_endpoint(self, value): + if isinstance(value, str): + try: + return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) + except ValueError: + return value + return value - timeout_sec: Annotated[Optional[int], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "mechanism", + "username", + "textSecret", + "clientSecretAuthType", + "clientTextSecret", + "certificateName", + "certPath", + "privKeyPath", + "passphrase", + "oauthEndpoint", + "clientId", + "tenantId", + "scope", + "__template_mechanism", + "__template_oauthEndpoint", + "__template_clientId", + "__template_tenantId", + "__template_scope", + ] + ) + serialized = handler(self) + m = {} - description: Optional[str] = None + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" + return m - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" +class CreateOutputPqControlsMicrosoftFabricTypedDict(TypedDict): + pass - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" +class CreateOutputPqControlsMicrosoftFabric(BaseModel): + pass - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") - ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" +class CreateOutputOutputMicrosoftFabricTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeMicrosoftFabric + topic: str + r"""Topic name from Fabric Eventstream's endpoint""" + bootstrap_server: str + r"""Bootstrap server from Fabric Eventstream's endpoint""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + ack: NotRequired[AcknowledgmentsOptions] + r"""Control the number of required acknowledgments""" + format_: NotRequired[RecordDataFormatOptions] + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + max_record_size_kb: NotRequired[float] + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + flush_event_count: NotRequired[float] + r"""Maximum number of events in a batch before forcing a flush""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + connection_timeout: NotRequired[float] + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + sasl: NotRequired[CreateOutputAuthenticationTypedDict] + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + tls: NotRequired[TLSSettingsClientSideTypeTypedDict] + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputPqControlsMicrosoftFabricTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_bootstrap_server: NotRequired[str] + r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") - ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ +class CreateOutputOutputMicrosoftFabric(BaseModel): + id: str + r"""Unique ID for this output""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + type: CreateOutputTypeMicrosoftFabric - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") - ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + topic: str + r"""Topic name from Fabric Eventstream's endpoint""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") - ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + bootstrap_server: str + r"""Bootstrap server from Fabric Eventstream's endpoint""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") - ] = None - r"""How frequently, in seconds, to clean up empty directories""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") - ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Maximum number of events in a batch before forcing a flush""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Maximum time to wait for a connection to complete successfully""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + r"""Maximum time to wait for Kafka to respond to a request""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") + ] = None + r"""Maximum time to wait for Kafka to respond to an authentication request""" + + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") + ] = None + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + + sasl: Optional[CreateOutputAuthentication] = None + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + + tls: Optional[TLSSettingsClientSideType] = None + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") + ] = None + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" + + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + ] = None + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[CreateOutputPqControlsMicrosoftFabric], + pydantic.Field(alias="pqControls"), + ] = None + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") + ] = None + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + template_bootstrap_server: Annotated[ + Optional[str], pydantic.Field(alias="__template_bootstrap_server") + ] = None + r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" + + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.AcknowledgmentsOptions(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.RecordDataFormatOptions(value) except ValueError: return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsHTTP(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("compression_level") - def serialize_compression_level(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.CompressionLevelOptions(value) + return models.ModeOptions(value) except ValueError: return value return value - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): if isinstance(value, str): try: - return models.ParquetVersionOptions(value) + return models.CompressionOptionsPq(value) except ValueError: return value return value - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -6008,54 +6103,40 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "destPath", - "stagePath", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", + "ack", "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "workspaceHost", - "timeoutSec", "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_partitionExpr", + "__template_topic", "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", + "__template_bootstrap_server", ] ) serialized = handler(self) @@ -6072,69 +6153,28 @@ def serialize_model(self, handler): return m -class CreateOutputTypeChronicle(str, Enum): - CHRONICLE = "chronicle" - - -class CreateOutputAuthenticationMethodChronicle( - str, Enum, metaclass=utils.OpenEnumMeta -): - SERVICE_ACCOUNT = "serviceAccount" - SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" - +class CreateOutputTypeDatabricks(str, Enum): + DATABRICKS = "databricks" -class CreateOutputCustomLabelTypedDict(TypedDict): - key: str - value: str - rbac_enabled: NotRequired[bool] - r"""Designate this label for role-based access control and filtering""" - -class CreateOutputCustomLabel(BaseModel): - key: str - - value: str - - rbac_enabled: Annotated[Optional[bool], pydantic.Field(alias="rbacEnabled")] = None - r"""Designate this label for role-based access control and filtering""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["rbacEnabled"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputPqControlsChronicleTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsChronicle(BaseModel): - pass - - -class CreateOutputOutputChronicleTypedDict(TypedDict): +class CreateOutputOutputDatabricksTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeChronicle - region: str - r"""Regional endpoint to send events to""" - log_type: str - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" - gcp_project_id: str - r"""The Google Cloud Platform (GCP) project ID to send events to""" - gcp_instance: str - r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" + type: CreateOutputTypeDatabricks + workspace_id: str + r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" + scope: str + r"""OAuth scope for Unity Catalog authentication""" + client_id: str + r"""OAuth client ID for Unity Catalog authentication""" + catalog: str + r"""Name of the Unity Catalog catalog to use for the Destination.""" + schema_: str + r"""Name of the Unity Catalog schema to use for the Destination.""" + events_volume_name: str + r"""Name of the Unity Catalog volume where event data is written.""" + client_text_secret: str + r"""OAuth client secret for Unity Catalog authentication""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -6143,120 +6183,128 @@ class CreateOutputOutputChronicleTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - api_version: NotRequired[str] - authentication_method: NotRequired[CreateOutputAuthenticationMethodChronicle] - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] + dest_path: NotRequired[str] + r"""Optional path to prepend to files before uploading.""" + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - ingestion_method: NotRequired[str] - namespace: NotRequired[str] - r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" - log_text_field: NotRequired[str] - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - custom_labels: NotRequired[List[CreateOutputCustomLabelTypedDict]] - r"""Custom labels to be added to every event""" - endpoint: NotRequired[str] - r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + workspace_host: NotRequired[str] + r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" + timeout_sec: NotRequired[int] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" description: NotRequired[str] - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - service_account_credentials_secret: NotRequired[str] - r"""Select or create a stored text secret""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsChronicleTypedDict] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_namespace: NotRequired[str] - r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" - template_log_type: NotRequired[str] - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" - template_log_text_field: NotRequired[str] - r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" - template_gcp_project_id: NotRequired[str] - r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" - template_gcp_instance: NotRequired[str] - r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputChronicle(BaseModel): +class CreateOutputOutputDatabricks(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeChronicle + type: CreateOutputTypeDatabricks - region: str - r"""Regional endpoint to send events to""" + workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] + r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" - log_type: Annotated[str, pydantic.Field(alias="logType")] - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + scope: str + r"""OAuth scope for Unity Catalog authentication""" - gcp_project_id: Annotated[str, pydantic.Field(alias="gcpProjectId")] - r"""The Google Cloud Platform (GCP) project ID to send events to""" + client_id: Annotated[str, pydantic.Field(alias="clientId")] + r"""OAuth client ID for Unity Catalog authentication""" - gcp_instance: Annotated[str, pydantic.Field(alias="gcpInstance")] - r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" + catalog: str + r"""Name of the Unity Catalog catalog to use for the Destination.""" + + schema_: Annotated[str, pydantic.Field(alias="schema")] + r"""Name of the Unity Catalog schema to use for the Destination.""" + + events_volume_name: Annotated[str, pydantic.Field(alias="eventsVolumeName")] + r"""Name of the Unity Catalog volume where event data is written.""" + + client_text_secret: Annotated[str, pydantic.Field(alias="clientTextSecret")] + r"""OAuth client secret for Unity Catalog authentication""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -6272,277 +6320,292 @@ class CreateOutputOutputChronicle(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - api_version: Annotated[Optional[str], pydantic.Field(alias="apiVersion")] = None + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Optional path to prepend to files before uploading.""" - authentication_method: Annotated[ - Optional[CreateOutputAuthenticationMethodChronicle], - pydantic.Field(alias="authenticationMethod"), - ] = None + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Add the Output ID value to staging location""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None + r"""Remove empty staging directories after moving files""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""Headers to add to all events""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" + r"""Buffer size used to write to a file""" on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - ingestion_method: Annotated[ - Optional[str], pydantic.Field(alias="ingestionMethod") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - namespace: Optional[str] = None - r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + ] = None + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = None + + workspace_host: Annotated[Optional[str], pydantic.Field(alias="workspaceHost")] = ( None ) - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - - custom_labels: Annotated[ - Optional[List[CreateOutputCustomLabel]], pydantic.Field(alias="customLabels") - ] = None - r"""Custom labels to be added to every event""" + r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" - endpoint: Optional[str] = None - r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" + timeout_sec: Annotated[Optional[int], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" description: Optional[str] = None + r"""Optional description for this configuration.""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + r"""Compression level to apply before moving files to final destination""" - service_account_credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Select or create a stored text secret""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Determines which data types are supported and how they are represented""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") + ] = None + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""Codec to use to compress the persisted data""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - pq_controls: Annotated[ - Optional[CreateOutputPqControlsChronicle], pydantic.Field(alias="pqControls") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_namespace: Annotated[ - Optional[str], pydantic.Field(alias="__template_namespace") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_log_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_logType") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_log_text_field: Annotated[ - Optional[str], pydantic.Field(alias="__template_logTextField") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_gcp_project_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_gcpProjectId") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_gcp_instance: Annotated[ - Optional[str], pydantic.Field(alias="__template_gcpInstance") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.DataFormatOptions(value) + except ValueError: + return value + return value - @field_serializer("authentication_method") - def serialize_authentication_method(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputAuthenticationMethodChronicle(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.ParquetVersionOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -6555,54 +6618,54 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "useRoundRobinDns", + "destPath", + "stagePath", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", - "totalMemoryLimitKB", - "ingestionMethod", - "namespace", - "logTextField", - "customLabels", - "endpoint", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "workspaceHost", + "timeoutSec", "description", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_region", - "__template_failedRequestLoggingMode", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_namespace", - "__template_logType", - "__template_logTextField", - "__template_gcpProjectId", - "__template_gcpInstance", - "__template_endpoint", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -6619,45 +6682,69 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSentinelOneAiSiem(str, Enum): - SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem" +class CreateOutputTypeChronicle(str, Enum): + CHRONICLE = "chronicle" -class CreateOutputRegion(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" +class CreateOutputAuthenticationMethodChronicle( + str, Enum, metaclass=utils.OpenEnumMeta +): + SERVICE_ACCOUNT = "serviceAccount" + SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" - US = "US" - CA = "CA" - EMEA = "EMEA" - AP = "AP" - APS = "APS" - AU = "AU" - CUSTOM = "Custom" + +class CreateOutputCustomLabelTypedDict(TypedDict): + key: str + value: str + rbac_enabled: NotRequired[bool] + r"""Designate this label for role-based access control and filtering""" -class CreateOutputAISIEMEndpointPath(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" +class CreateOutputCustomLabel(BaseModel): + key: str - ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event" - ROOT_SERVICES_COLLECTOR_RAW = "/services/collector/raw" + value: str + rbac_enabled: Annotated[Optional[bool], pydantic.Field(alias="rbacEnabled")] = None + r"""Designate this label for role-based access control and filtering""" -class CreateOutputPqControlsSentinelOneAiSiemTypedDict(TypedDict): + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["rbacEnabled"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputPqControlsChronicleTypedDict(TypedDict): pass -class CreateOutputPqControlsSentinelOneAiSiem(BaseModel): +class CreateOutputPqControlsChronicle(BaseModel): pass -class CreateOutputOutputSentinelOneAiSiemTypedDict(TypedDict): +class CreateOutputOutputChronicleTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSentinelOneAiSiem - region: CreateOutputRegion - r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" - endpoint: CreateOutputAISIEMEndpointPath - r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" + type: CreateOutputTypeChronicle + region: str + r"""Regional endpoint to send events to""" + log_type: str + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + gcp_project_id: str + r"""The Google Cloud Platform (GCP) project ID to send events to""" + gcp_instance: str + r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -6666,6 +6753,15 @@ class CreateOutputOutputSentinelOneAiSiemTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + api_version: NotRequired[str] + authentication_method: NotRequired[CreateOutputAuthenticationMethodChronicle] + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -6689,52 +6785,27 @@ class CreateOutputOutputSentinelOneAiSiemTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + ingestion_method: NotRequired[str] + namespace: NotRequired[str] + r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + log_text_field: NotRequired[str] + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + custom_labels: NotRequired[List[CreateOutputCustomLabelTypedDict]] + r"""Custom labels to be added to every event""" + endpoint: NotRequired[str] + r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" description: NotRequired[str] - token: NotRequired[str] - r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" - text_secret: NotRequired[str] + r"""Optional description for this configuration.""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + service_account_credentials_secret: NotRequired[str] r"""Select or create a stored text secret""" - base_url: NotRequired[str] - r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" - host_expression: NotRequired[str] - r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - source_expression: NotRequired[str] - r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" - source_type_expression: NotRequired[str] - r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" - data_source_category_expression: NotRequired[str] - r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" - data_source_name_expression: NotRequired[str] - r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" - data_source_vendor_expression: NotRequired[str] - r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" - event_type_expression: NotRequired[str] - r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" - host: NotRequired[str] - r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" - source: NotRequired[str] - r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" - source_type: NotRequired[str] - r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" - data_source_category: NotRequired[str] - r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" - data_source_name: NotRequired[str] - r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" - data_source_vendor: NotRequired[str] - r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" - event_type: NotRequired[str] - r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -6757,26 +6828,46 @@ class CreateOutputOutputSentinelOneAiSiemTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSentinelOneAiSiemTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsChronicleTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_namespace: NotRequired[str] + r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" + template_log_type: NotRequired[str] + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + template_log_text_field: NotRequired[str] + r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" + template_gcp_project_id: NotRequired[str] + r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" + template_gcp_instance: NotRequired[str] + r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" -class CreateOutputOutputSentinelOneAiSiem(BaseModel): +class CreateOutputOutputChronicle(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSentinelOneAiSiem + type: CreateOutputTypeChronicle - region: CreateOutputRegion - r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" + region: str + r"""Regional endpoint to send events to""" - endpoint: CreateOutputAISIEMEndpointPath - r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" + log_type: Annotated[str, pydantic.Field(alias="logType")] + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + + gcp_project_id: Annotated[str, pydantic.Field(alias="gcpProjectId")] + r"""The Google Cloud Platform (GCP) project ID to send events to""" + + gcp_instance: Annotated[str, pydantic.Field(alias="gcpInstance")] + r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -6792,6 +6883,28 @@ class CreateOutputOutputSentinelOneAiSiem(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + api_version: Annotated[Optional[str], pydantic.Field(alias="apiVersion")] = None + + authentication_method: Annotated[ + Optional[CreateOutputAuthenticationMethodChronicle], + pydantic.Field(alias="authenticationMethod"), + ] = None + + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -6841,104 +6954,53 @@ class CreateOutputOutputSentinelOneAiSiem(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - token: Optional[str] = None - r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - base_url: Annotated[Optional[str], pydantic.Field(alias="baseUrl")] = None - r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" - - host_expression: Annotated[ - Optional[str], pydantic.Field(alias="hostExpression") - ] = None - r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - - source_expression: Annotated[ - Optional[str], pydantic.Field(alias="sourceExpression") - ] = None - r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" - - source_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="sourceTypeExpression") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - data_source_category_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceCategoryExpression") + ingestion_method: Annotated[ + Optional[str], pydantic.Field(alias="ingestionMethod") ] = None - r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" - data_source_name_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceNameExpression") - ] = None - r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" + namespace: Optional[str] = None + r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" - data_source_vendor_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceVendorExpression") - ] = None - r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" + log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( + None + ) + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - event_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="eventTypeExpression") + custom_labels: Annotated[ + Optional[List[CreateOutputCustomLabel]], pydantic.Field(alias="customLabels") ] = None - r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" - - host: Optional[str] = None - r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" - - source: Optional[str] = None - r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" + r"""Custom labels to be added to every event""" - source_type: Annotated[Optional[str], pydantic.Field(alias="sourceType")] = None - r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" + endpoint: Optional[str] = None + r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" - data_source_category: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceCategory") - ] = None - r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - data_source_name: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceName") + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") ] = None - r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - data_source_vendor: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceVendor") + service_account_credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") ] = None - r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" - - event_type: Annotated[Optional[str], pydantic.Field(alias="eventType")] = None - r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -6990,8 +7052,7 @@ class CreateOutputOutputSentinelOneAiSiem(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsSentinelOneAiSiem], - pydantic.Field(alias="pqControls"), + Optional[CreateOutputPqControlsChronicle], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -6999,6 +7060,11 @@ class CreateOutputOutputSentinelOneAiSiem(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -7009,20 +7075,41 @@ class CreateOutputOutputSentinelOneAiSiem(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("region") - def serialize_region(self, value): + template_namespace: Annotated[ + Optional[str], pydantic.Field(alias="__template_namespace") + ] = None + r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" + + template_log_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logType") + ] = None + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + + template_log_text_field: Annotated[ + Optional[str], pydantic.Field(alias="__template_logTextField") + ] = None + r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" + + template_gcp_project_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_gcpProjectId") + ] = None + r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" + + template_gcp_instance: Annotated[ + Optional[str], pydantic.Field(alias="__template_gcpInstance") + ] = None + r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" + + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + @field_serializer("authentication_method") + def serialize_authentication_method(self, value): if isinstance(value, str): try: - return models.CreateOutputRegion(value) - except ValueError: - return value - return value - - @field_serializer("endpoint") - def serialize_endpoint(self, value): - if isinstance(value, str): - try: - return models.CreateOutputAISIEMEndpointPath(value) + return models.CreateOutputAuthenticationMethodChronicle(value) except ValueError: return value return value @@ -7036,15 +7123,6 @@ def serialize_failed_request_logging_mode(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -7089,6 +7167,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -7099,29 +7182,17 @@ def serialize_model(self, handler): "extraHttpHeaders", "failedRequestLoggingMode", "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "useRoundRobinDns", "onBackpressure", + "totalMemoryLimitKB", + "ingestionMethod", + "namespace", + "logTextField", + "customLabels", + "endpoint", "description", - "token", - "textSecret", - "baseUrl", - "hostExpression", - "sourceExpression", - "sourceTypeExpression", - "dataSourceCategoryExpression", - "dataSourceNameExpression", - "dataSourceVendorExpression", - "eventTypeExpression", - "host", - "source", - "sourceType", - "dataSourceCategory", - "dataSourceName", - "dataSourceVendor", - "eventType", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -7135,8 +7206,15 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_region", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_namespace", + "__template_logType", + "__template_logTextField", + "__template_gcpProjectId", + "__template_gcpInstance", + "__template_endpoint", ] ) serialized = handler(self) @@ -7153,48 +7231,45 @@ def serialize_model(self, handler): return m -class CreateOutputTypeDynatraceOtlp(str, Enum): - DYNATRACE_OTLP = "dynatrace_otlp" +class CreateOutputTypeSentinelOneAiSiem(str, Enum): + SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem" -class CreateOutputProtocolDynatraceOtlp(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Select a transport option for Dynatrace""" +class CreateOutputRegion(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" - # HTTP - HTTP = "http" + US = "US" + CA = "CA" + EMEA = "EMEA" + AP = "AP" + APS = "APS" + AU = "AU" + CUSTOM = "Custom" -class CreateOutputEndpointType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Select the type of Dynatrace endpoint configured""" +class CreateOutputAISIEMEndpointPath(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" - # SaaS - SAAS = "saas" - # ActiveGate - AG = "ag" + ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event" + ROOT_SERVICES_COLLECTOR_RAW = "/services/collector/raw" -class CreateOutputPqControlsDynatraceOtlpTypedDict(TypedDict): +class CreateOutputPqControlsSentinelOneAiSiemTypedDict(TypedDict): pass -class CreateOutputPqControlsDynatraceOtlp(BaseModel): +class CreateOutputPqControlsSentinelOneAiSiem(BaseModel): pass -class CreateOutputOutputDynatraceOtlpTypedDict(TypedDict): +class CreateOutputOutputSentinelOneAiSiemTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDynatraceOtlp - protocol: CreateOutputProtocolDynatraceOtlp - r"""Select a transport option for Dynatrace""" - endpoint: str - r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - otlp_version: OtlpVersionOptions131 - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - endpoint_type: CreateOutputEndpointType - r"""Select the type of Dynatrace endpoint configured""" - token_secret: str - r"""Select or create a stored text secret""" + type: CreateOutputTypeSentinelOneAiSiem + region: CreateOutputRegion + r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" + endpoint: CreateOutputAISIEMEndpointPath + r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -7203,53 +7278,31 @@ class CreateOutputOutputDynatraceOtlpTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - compress: NotRequired[CompressionOptionsDeflateGzip] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_compress: NotRequired[CompressionOptionsMessages] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_traces_endpoint_override: NotRequired[str] - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_metrics_endpoint_override: NotRequired[str] - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_logs_endpoint_override: NotRequired[str] - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - dynamic_headers_enabled: NotRequired[bool] - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: NotRequired[str] - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - keep_alive_time: NotRequired[float] - r"""How often the sender should ping the peer to keep the connection open""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" - auth_token_name: NotRequired[str] - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -7257,6 +7310,44 @@ class CreateOutputOutputDynatraceOtlpTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + token: NotRequired[str] + r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + base_url: NotRequired[str] + r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" + host_expression: NotRequired[str] + r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" + source_expression: NotRequired[str] + r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" + source_type_expression: NotRequired[str] + r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" + data_source_category_expression: NotRequired[str] + r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" + data_source_name_expression: NotRequired[str] + r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" + data_source_vendor_expression: NotRequired[str] + r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" + event_type_expression: NotRequired[str] + r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" + host: NotRequired[str] + r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" + source: NotRequired[str] + r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" + source_type: NotRequired[str] + r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" + data_source_category: NotRequired[str] + r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" + data_source_name: NotRequired[str] + r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" + data_source_vendor: NotRequired[str] + r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" + event_type: NotRequired[str] + r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -7279,7 +7370,7 @@ class CreateOutputOutputDynatraceOtlpTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsDynatraceOtlpTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsSentinelOneAiSiemTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -7288,28 +7379,17 @@ class CreateOutputOutputDynatraceOtlpTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputDynatraceOtlp(BaseModel): +class CreateOutputOutputSentinelOneAiSiem(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDynatraceOtlp - - protocol: CreateOutputProtocolDynatraceOtlp - r"""Select a transport option for Dynatrace""" - - endpoint: str - r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - - otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + type: CreateOutputTypeSentinelOneAiSiem - endpoint_type: Annotated[ - CreateOutputEndpointType, pydantic.Field(alias="endpointType") - ] - r"""Select the type of Dynatrace endpoint configured""" + region: CreateOutputRegion + r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" - token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] - r"""Select or create a stored text secret""" + endpoint: CreateOutputAISIEMEndpointPath + r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -7325,80 +7405,75 @@ class CreateOutputOutputDynatraceOtlp(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - compress: Optional[CompressionOptionsDeflateGzip] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - http_compress: Annotated[ - Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + r"""Maximum size, in KB, of the request body""" - http_traces_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - http_metrics_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") - ] = None - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - http_logs_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") - ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" - - dynamic_headers_field: Annotated[ - Optional[str], pydantic.Field(alias="dynamicHeadersField") - ] = None - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), ] = None r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""List of headers that are safe to log in plain text""" - keep_alive_time: Annotated[ - Optional[float], pydantic.Field(alias="keepAliveTime") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), ] = None - r"""How often the sender should ping the peer to keep the connection open""" + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( - None - ) + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -7406,45 +7481,78 @@ class CreateOutputOutputDynatraceOtlp(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + token: Optional[str] = None + r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + base_url: Annotated[Optional[str], pydantic.Field(alias="baseUrl")] = None + r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" + + host_expression: Annotated[ + Optional[str], pydantic.Field(alias="hostExpression") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + source_expression: Annotated[ + Optional[str], pydantic.Field(alias="sourceExpression") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + source_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="sourceTypeExpression") ] = None - r"""Headers to add to all events""" + r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + data_source_category_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceCategoryExpression") ] = None - r"""List of headers that are safe to log in plain text""" + r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + data_source_name_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceNameExpression") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + data_source_vendor_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceVendorExpression") ] = None + r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + event_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="eventTypeExpression") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" + + host: Optional[str] = None + r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" + + source: Optional[str] = None + r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" + + source_type: Annotated[Optional[str], pydantic.Field(alias="sourceType")] = None + r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" + + data_source_category: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceCategory") + ] = None + r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" + + data_source_name: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceName") + ] = None + r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" + + data_source_vendor: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceVendor") + ] = None + r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" + + event_type: Annotated[Optional[str], pydantic.Field(alias="eventType")] = None + r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -7496,7 +7604,7 @@ class CreateOutputOutputDynatraceOtlp(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsDynatraceOtlp], + Optional[CreateOutputPqControlsSentinelOneAiSiem], pydantic.Field(alias="pqControls"), ] = None @@ -7515,38 +7623,20 @@ class CreateOutputOutputDynatraceOtlp(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.CreateOutputProtocolDynatraceOtlp(value) - except ValueError: - return value - return value - - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): - if isinstance(value, str): - try: - return models.OtlpVersionOptions131(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("region") + def serialize_region(self, value): if isinstance(value, str): try: - return models.CompressionOptionsDeflateGzip(value) + return models.CreateOutputRegion(value) except ValueError: return value return value - @field_serializer("http_compress") - def serialize_http_compress(self, value): + @field_serializer("endpoint") + def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.CompressionOptionsMessages(value) + return models.CreateOutputAISIEMEndpointPath(value) except ValueError: return value return value @@ -7560,11 +7650,11 @@ def serialize_failed_request_logging_mode(self, value): return value return value - @field_serializer("endpoint_type") - def serialize_endpoint_type(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputEndpointType(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value @@ -7613,32 +7703,39 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "compress", - "httpCompress", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", - "authTokenName", - "onBackpressure", - "description", - "rejectUnauthorized", - "useRoundRobinDns", "extraHttpHeaders", + "failedRequestLoggingMode", "safeHeaders", + "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "baseUrl", + "hostExpression", + "sourceExpression", + "sourceTypeExpression", + "dataSourceCategoryExpression", + "dataSourceNameExpression", + "dataSourceVendorExpression", + "eventTypeExpression", + "host", + "source", + "sourceType", + "dataSourceCategory", + "dataSourceName", + "dataSourceVendor", + "eventType", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -7670,60 +7767,48 @@ def serialize_model(self, handler): return m -class CreateOutputTypeDynatraceHTTP(str, Enum): - DYNATRACE_HTTP = "dynatrace_http" - +class CreateOutputTypeDynatraceOtlp(str, Enum): + DYNATRACE_OTLP = "dynatrace_otlp" -class CreateOutputAuthenticationTypeDynatraceHTTP( - str, Enum, metaclass=utils.OpenEnumMeta -): - # Auth token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" +class CreateOutputProtocolDynatraceOtlp(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Select a transport option for Dynatrace""" -class CreateOutputFormatDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + # HTTP + HTTP = "http" - # JSON - JSON_ARRAY = "json_array" - # Plaintext - PLAINTEXT = "plaintext" +class CreateOutputEndpointType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Select the type of Dynatrace endpoint configured""" -class CreateOutputEndpointDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): - # Cloud - CLOUD = "cloud" + # SaaS + SAAS = "saas" # ActiveGate - ACTIVE_GATE = "activeGate" - # Manual - MANUAL = "manual" - + AG = "ag" -class CreateOutputTelemetryType(str, Enum, metaclass=utils.OpenEnumMeta): - # Logs - LOGS = "logs" - # Metrics - METRICS = "metrics" - -class CreateOutputPqControlsDynatraceHTTPTypedDict(TypedDict): +class CreateOutputPqControlsDynatraceOtlpTypedDict(TypedDict): pass -class CreateOutputPqControlsDynatraceHTTP(BaseModel): +class CreateOutputPqControlsDynatraceOtlp(BaseModel): pass -class CreateOutputOutputDynatraceHTTPTypedDict(TypedDict): +class CreateOutputOutputDynatraceOtlpTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDynatraceHTTP - format_: CreateOutputFormatDynatraceHTTP - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" - endpoint: CreateOutputEndpointDynatraceHTTP - telemetry_type: CreateOutputTelemetryType + type: CreateOutputTypeDynatraceOtlp + protocol: CreateOutputProtocolDynatraceOtlp + r"""Select a transport option for Dynatrace""" + endpoint: str + r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" + otlp_version: OtlpVersionOptions131 + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + endpoint_type: CreateOutputEndpointType + r"""Select the type of Dynatrace endpoint configured""" + token_secret: str + r"""Select or create a stored text secret""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -7732,33 +7817,52 @@ class CreateOutputOutputDynatraceHTTPTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - method: NotRequired[MethodOptions] - r"""The method to use when sending events""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" + compress: NotRequired[CompressionOptionsDeflateGzip] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + http_compress: NotRequired[CompressionOptionsMessages] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + http_traces_endpoint_override: NotRequired[str] + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_metrics_endpoint_override: NotRequired[str] + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_logs_endpoint_override: NotRequired[str] + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + dynamic_headers_enabled: NotRequired[bool] + r"""Batch event data upon dynamic metadata (whether presented or not)""" + dynamic_headers_field: NotRequired[str] + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" + r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + keep_alive_time: NotRequired[float] + r"""How often the sender should ping the peer to keep the connection open""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + auth_token_name: NotRequired[str] + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" use_round_robin_dns: NotRequired[bool] r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" response_retry_settings: NotRequired[ @@ -7768,12 +7872,6 @@ class CreateOutputOutputDynatraceHTTPTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputAuthenticationTypeDynatraceHTTP] - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -7796,41 +7894,37 @@ class CreateOutputOutputDynatraceHTTPTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsDynatraceHTTPTypedDict] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - environment_id: NotRequired[str] - r"""ID of the environment to send to""" - active_gate_domain: NotRequired[str] - r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" - url: NotRequired[str] - r"""URL to send events to. Can be overwritten by an event's __url field.""" + pq_controls: NotRequired[CreateOutputPqControlsDynatraceOtlpTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputOutputDynatraceHTTP(BaseModel): +class CreateOutputOutputDynatraceOtlp(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDynatraceHTTP + type: CreateOutputTypeDynatraceOtlp - format_: Annotated[CreateOutputFormatDynatraceHTTP, pydantic.Field(alias="format")] - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + protocol: CreateOutputProtocolDynatraceOtlp + r"""Select a transport option for Dynatrace""" - endpoint: CreateOutputEndpointDynatraceHTTP + endpoint: str + r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - telemetry_type: Annotated[ - CreateOutputTelemetryType, pydantic.Field(alias="telemetryType") + otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + endpoint_type: Annotated[ + CreateOutputEndpointType, pydantic.Field(alias="endpointType") ] + r"""Select the type of Dynatrace endpoint configured""" + + token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] + r"""Select or create a stored text secret""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -7846,35 +7940,49 @@ class CreateOutputOutputDynatraceHTTP(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - method: Optional[MethodOptions] = None - r"""The method to use when sending events""" + compress: Optional[CompressionOptionsDeflateGzip] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + http_compress: Annotated[ + Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + ] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + http_traces_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + ] = None + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + http_metrics_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") ] = None - r"""Maximum size, in KB, of the request body""" + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + http_logs_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + dynamic_headers_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Batch event data upon dynamic metadata (whether presented or not)""" + + dynamic_headers_field: Annotated[ + Optional[str], pydantic.Field(alias="dynamicHeadersField") + ] = None + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" @@ -7884,22 +7992,55 @@ class CreateOutputOutputDynatraceHTTP(BaseModel): ] = None r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = None + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + + keep_alive_time: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTime") + ] = None + r"""How often the sender should ping the peer to keep the connection open""" + + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" + + auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( + None + ) + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ use_round_robin_dns: Annotated[ Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Headers to add to all events""" safe_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="safeHeaders") @@ -7921,23 +8062,6 @@ class CreateOutputOutputDynatraceHTTP(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - auth_type: Annotated[ - Optional[CreateOutputAuthenticationTypeDynatraceHTTP], - pydantic.Field(alias="authType"), - ] = None - - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - - description: Optional[str] = None - pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -7988,33 +8112,14 @@ class CreateOutputOutputDynatraceHTTP(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsDynatraceHTTP], + Optional[CreateOutputPqControlsDynatraceOtlp], pydantic.Field(alias="pqControls"), ] = None - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - environment_id: Annotated[Optional[str], pydantic.Field(alias="environmentId")] = ( - None - ) - r"""ID of the environment to send to""" - - active_gate_domain: Annotated[ - Optional[str], pydantic.Field(alias="activeGateDomain") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" - - url: Optional[str] = None - r"""URL to send events to. Can be overwritten by an event's __url field.""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -8026,70 +8131,65 @@ class CreateOutputOutputDynatraceHTTP(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - @field_serializer("method") - def serialize_method(self, value): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.MethodOptions(value) + return models.CreateOutputProtocolDynatraceOtlp(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.OtlpVersionOptions131(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptionsDeflateGzip(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("http_compress") + def serialize_http_compress(self, value): if isinstance(value, str): try: - return models.CreateOutputAuthenticationTypeDynatraceHTTP(value) + return models.CompressionOptionsMessages(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CreateOutputFormatDynatraceHTTP(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("endpoint") - def serialize_endpoint(self, value): + @field_serializer("endpoint_type") + def serialize_endpoint_type(self, value): if isinstance(value, str): try: - return models.CreateOutputEndpointDynatraceHTTP(value) + return models.CreateOutputEndpointType(value) except ValueError: return value return value - @field_serializer("telemetry_type") - def serialize_telemetry_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputTelemetryType(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -8129,26 +8229,32 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "method", - "keepAlive", + "compress", + "httpCompress", + "httpTracesEndpointOverride", + "httpMetricsEndpointOverride", + "httpLogsEndpointOverride", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", + "authTokenName", + "onBackpressure", + "description", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", "safeHeaders", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "totalMemoryLimitKB", - "description", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -8161,15 +8267,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "token", - "textSecret", - "environmentId", - "activeGateDomain", - "url", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", ] ) serialized = handler(self) @@ -8186,61 +8286,60 @@ def serialize_model(self, handler): return m -class CreateOutputTypeNetflow(str, Enum): - NETFLOW = "netflow" +class CreateOutputTypeDynatraceHTTP(str, Enum): + DYNATRACE_HTTP = "dynatrace_http" -class CreateOutputHostNetflowTypedDict(TypedDict): - host: str - r"""Destination host""" - port: float - r"""Destination port, default is 2055""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" +class CreateOutputAuthenticationTypeDynatraceHTTP( + str, Enum, metaclass=utils.OpenEnumMeta +): + # Auth token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" -class CreateOutputHostNetflow(BaseModel): - host: str - r"""Destination host""" +class CreateOutputFormatDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" - port: float - r"""Destination port, default is 2055""" + # JSON + JSON_ARRAY = "json_array" + # Plaintext + PLAINTEXT = "plaintext" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" +class CreateOutputEndpointDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): + # Cloud + CLOUD = "cloud" + # ActiveGate + ACTIVE_GATE = "activeGate" + # Manual + MANUAL = "manual" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["__template_host", "__template_port"]) - serialized = handler(self) - m = {} - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) +class CreateOutputTelemetryType(str, Enum, metaclass=utils.OpenEnumMeta): + # Logs + LOGS = "logs" + # Metrics + METRICS = "metrics" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - return m +class CreateOutputPqControlsDynatraceHTTPTypedDict(TypedDict): + pass -class CreateOutputOutputNetflowTypedDict(TypedDict): +class CreateOutputPqControlsDynatraceHTTP(BaseModel): + pass + + +class CreateOutputOutputDynatraceHTTPTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeNetflow - hosts: List[CreateOutputHostNetflowTypedDict] - r"""One or more NetFlow Destinations to forward events to""" + type: CreateOutputTypeDynatraceHTTP + format_: CreateOutputFormatDynatraceHTTP + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + endpoint: CreateOutputEndpointDynatraceHTTP + telemetry_type: CreateOutputTelemetryType pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -8249,242 +8348,106 @@ class CreateOutputOutputNetflowTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" - enable_ip_spoofing: NotRequired[bool] - r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + method: NotRequired[MethodOptions] + r"""The method to use when sending events""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[CreateOutputAuthenticationTypeDynatraceHTTP] + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - max_record_size: NotRequired[float] - r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" + r"""Optional description for this configuration.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputPqControlsDynatraceHTTPTypedDict] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + environment_id: NotRequired[str] + r"""ID of the environment to send to""" + active_gate_domain: NotRequired[str] + r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" + url: NotRequired[str] + r"""URL to send events to. Can be overwritten by an event's __url field.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputOutputNetflow(BaseModel): +class CreateOutputOutputDynatraceHTTP(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeNetflow - - hosts: List[CreateOutputHostNetflow] - r"""One or more NetFlow Destinations to forward events to""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" - - enable_ip_spoofing: Annotated[ - Optional[bool], pydantic.Field(alias="enableIpSpoofing") - ] = None - r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - - description: Optional[str] = None - - max_record_size: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSize") - ] = None - r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "enableIpSpoofing", - "description", - "maxRecordSize", - "__template_streamtags", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeXsiam(str, Enum): - XSIAM = "xsiam" - - -class CreateOutputAuthenticationMethodXsiam(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Enter a token directly, or provide a secret referencing a token""" - - TOKEN = "token" - SECRET = "secret" - - -class CreateOutputURLXsiamTypedDict(TypedDict): - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - -class CreateOutputURLXsiam(BaseModel): - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["weight"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputPqControlsXsiamTypedDict(TypedDict): - pass - + type: CreateOutputTypeDynatraceHTTP -class CreateOutputPqControlsXsiam(BaseModel): - pass + format_: Annotated[CreateOutputFormatDynatraceHTTP, pydantic.Field(alias="format")] + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + endpoint: CreateOutputEndpointDynatraceHTTP -class CreateOutputOutputXsiamTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeXsiam - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[CreateOutputAuthenticationMethodXsiam] - r"""Enter a token directly, or provide a secret referencing a token""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] + telemetry_type: Annotated[ + CreateOutputTelemetryType, pydantic.Field(alias="telemetryType") ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - throttle_rate_req_per_sec: NotRequired[int] - r"""Maximum number of requests to limit to per second""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] - url: NotRequired[str] - r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[CreateOutputURLXsiamTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - token: NotRequired[str] - r"""XSIAM authentication token""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsXsiamTypedDict] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - -class CreateOutputOutputXsiam(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeXsiam pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -8500,10 +8463,11 @@ class CreateOutputOutputXsiam(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + method: Optional[MethodOptions] = None + r"""The method to use when sending events""" + + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -8541,7 +8505,12 @@ class CreateOutputOutputXsiam(BaseModel): Optional[List[ExtraHTTPHeaderConfInputElastic]], pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Headers to add to all events""" + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], @@ -8554,12 +8523,6 @@ class CreateOutputOutputXsiam(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - auth_type: Annotated[ - Optional[CreateOutputAuthenticationMethodXsiam], - pydantic.Field(alias="authType"), - ] = None - r"""Enter a token directly, or provide a secret referencing a token""" - response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -8575,51 +8538,23 @@ class CreateOutputOutputXsiam(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - throttle_rate_req_per_sec: Annotated[ - Optional[int], pydantic.Field(alias="throttleRateReqPerSec") - ] = None - r"""Maximum number of requests to limit to per second""" - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" + auth_type: Annotated[ + Optional[CreateOutputAuthenticationTypeDynatraceHTTP], + pydantic.Field(alias="authType"), + ] = None + total_memory_limit_kb: Annotated[ Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None - - url: Optional[str] = None - r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - urls: Optional[List[CreateOutputURLXsiam]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" - - token: Optional[str] = None - r"""XSIAM authentication token""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -8671,8 +8606,28 @@ class CreateOutputOutputXsiam(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsXsiam], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsDynatraceHTTP], + pydantic.Field(alias="pqControls"), + ] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + environment_id: Annotated[Optional[str], pydantic.Field(alias="environmentId")] = ( + None + ) + r"""ID of the environment to send to""" + + active_gate_domain: Annotated[ + Optional[str], pydantic.Field(alias="activeGateDomain") ] = None + r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" + + url: Optional[str] = None + r"""URL to send events to. Can be overwritten by an event's __url field.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -8694,6 +8649,15 @@ class CreateOutputOutputXsiam(BaseModel): ) r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + @field_serializer("method") + def serialize_method(self, value): + if isinstance(value, str): + try: + return models.MethodOptions(value) + except ValueError: + return value + return value + @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -8703,20 +8667,47 @@ def serialize_failed_request_logging_mode(self, value): return value return value + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + @field_serializer("auth_type") def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputAuthenticationMethodXsiam(value) + return models.CreateOutputAuthenticationTypeDynatraceHTTP(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CreateOutputFormatDynatraceHTTP(value) + except ValueError: + return value + return value + + @field_serializer("endpoint") + def serialize_endpoint(self, value): + if isinstance(value, str): + try: + return models.CreateOutputEndpointDynatraceHTTP(value) + except ValueError: + return value + return value + + @field_serializer("telemetry_type") + def serialize_telemetry_type(self, value): + if isinstance(value, str): + try: + return models.CreateOutputTelemetryType(value) except ValueError: return value return value @@ -8756,7 +8747,8 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", + "method", + "keepAlive", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -8765,24 +8757,16 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "throttleRateReqPerSec", "onBackpressure", + "authType", "totalMemoryLimitKB", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -8795,6 +8779,11 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "token", + "textSecret", + "environmentId", + "activeGateDomain", + "url", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", @@ -8815,114 +8804,41 @@ def serialize_model(self, handler): return m -class CreateOutputTypeLocalSearchStorage(str, Enum): - LOCAL_SEARCH_STORAGE = "local_search_storage" - - -class CreateOutputFormatLocalSearchStorage(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Data format to use when sending data. Defaults to JSON Compact.""" - - # JSONCompactEachRowWithNames - JSON_COMPACT_EACH_ROW_WITH_NAMES = "json-compact-each-row-with-names" - # JSONEachRow - JSON_EACH_ROW = "json-each-row" - - -class CreateOutputMappingType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How event fields are mapped to columns.""" - - # Automatic - AUTOMATIC = "automatic" - # Custom - CUSTOM = "custom" - - -class CreateOutputStatsDestinationTypedDict(TypedDict): - url: NotRequired[str] - database: NotRequired[str] - table_name: NotRequired[str] - auth_type: NotRequired[str] - username: NotRequired[str] - sql_username: NotRequired[str] - password: NotRequired[str] - wait_for_async_inserts: NotRequired[bool] - concurrency: NotRequired[float] - - -class CreateOutputStatsDestination(BaseModel): - url: Optional[str] = None - - database: Optional[str] = None - - table_name: Annotated[Optional[str], pydantic.Field(alias="tableName")] = None - - auth_type: Annotated[Optional[str], pydantic.Field(alias="authType")] = None - - username: Optional[str] = None - - sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None - - password: Optional[str] = None - - wait_for_async_inserts: Annotated[ - Optional[bool], pydantic.Field(alias="waitForAsyncInserts") - ] = None - - concurrency: Optional[float] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "url", - "database", - "tableName", - "authType", - "username", - "sqlUsername", - "password", - "waitForAsyncInserts", - "concurrency", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val +class CreateOutputTypeNetflow(str, Enum): + NETFLOW = "netflow" - return m +class CreateOutputHostNetflowTypedDict(TypedDict): + host: str + r"""Destination host""" + port: float + r"""Destination port, default is 2055""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" -class CreateOutputColumnMappingTypedDict(TypedDict): - column_name: str - r"""Name of the column that will store field value""" - column_value_expression: str - r"""JavaScript expression to compute value to be inserted into the table""" - column_type: NotRequired[str] - r"""Type of the column in the database""" +class CreateOutputHostNetflow(BaseModel): + host: str + r"""Destination host""" -class CreateOutputColumnMapping(BaseModel): - column_name: Annotated[str, pydantic.Field(alias="columnName")] - r"""Name of the column that will store field value""" + port: float + r"""Destination port, default is 2055""" - column_value_expression: Annotated[ - str, pydantic.Field(alias="columnValueExpression") - ] - r"""JavaScript expression to compute value to be inserted into the table""" + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None - r"""Type of the column in the database""" + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["columnType"]) + optional_fields = set(["__template_host", "__template_port"]) serialized = handler(self) m = {} @@ -8937,23 +8853,12 @@ def serialize_model(self, handler): return m -class CreateOutputPqControlsLocalSearchStorageTypedDict(TypedDict): - pass - - -class CreateOutputPqControlsLocalSearchStorage(BaseModel): - pass - - -class CreateOutputOutputLocalSearchStorageTypedDict(TypedDict): +class CreateOutputOutputNetflowTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeLocalSearchStorage - url: str - r"""URL of the database instance. Example: http://localhost:8123/""" - database: str - table_name: str - r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" + type: CreateOutputTypeNetflow + hosts: List[CreateOutputHostNetflowTypedDict] + r"""One or more NetFlow Destinations to forward events to""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -8962,14 +8867,152 @@ class CreateOutputOutputLocalSearchStorageTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[CreateOutputFormatLocalSearchStorage] - r"""Data format to use when sending data. Defaults to JSON Compact.""" - mapping_type: NotRequired[CreateOutputMappingType] - r"""How event fields are mapped to columns.""" - async_inserts: NotRequired[bool] - r"""Collect data into batches for later processing. Disable to write to a table immediately.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" + enable_ip_spoofing: NotRequired[bool] + r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + max_record_size: NotRequired[float] + r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + +class CreateOutputOutputNetflow(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeNetflow + + hosts: List[CreateOutputHostNetflow] + r"""One or more NetFlow Destinations to forward events to""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" + + enable_ip_spoofing: Annotated[ + Optional[bool], pydantic.Field(alias="enableIpSpoofing") + ] = None + r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + max_record_size: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSize") + ] = None + r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "dnsResolvePeriodSec", + "enableIpSpoofing", + "description", + "maxRecordSize", + "__template_streamtags", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputTypeXsiam(str, Enum): + XSIAM = "xsiam" + + +class CreateOutputAuthenticationMethodXsiam(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Enter a token directly, or provide a secret referencing a token""" + + TOKEN = "token" + SECRET = "secret" + + +class CreateOutputURLXsiamTypedDict(TypedDict): + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + +class CreateOutputURLXsiam(BaseModel): + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["weight"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputPqControlsXsiamTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsXsiam(BaseModel): + pass + + +class CreateOutputOutputXsiamTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeXsiam + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -8989,12 +9032,12 @@ class CreateOutputOutputLocalSearchStorageTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" + auth_type: NotRequired[CreateOutputAuthenticationMethodXsiam] + r"""Enter a token directly, or provide a secret referencing a token""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -9002,27 +9045,29 @@ class CreateOutputOutputLocalSearchStorageTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - workload: NotRequired[str] - r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" - dump_format_errors_to_disk: NotRequired[bool] - r"""Log the most recent event that fails to match the table schema""" + throttle_rate_req_per_sec: NotRequired[int] + r"""Maximum number of requests to limit to per second""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - stats_destination: NotRequired[CreateOutputStatsDestinationTypedDict] + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - username: NotRequired[str] - password: NotRequired[str] - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - sql_username: NotRequired[str] - r"""Username for certificate authentication""" - wait_for_async_inserts: NotRequired[bool] - r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" - exclude_mapping_fields: NotRequired[List[str]] - r"""Fields to exclude from sending""" - describe_table: NotRequired[str] - r"""Retrieves the table schema and populates the Column Mapping table""" - column_mappings: NotRequired[List[CreateOutputColumnMappingTypedDict]] + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[CreateOutputURLXsiamTypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + token: NotRequired[str] + r"""XSIAM authentication token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9045,34 +9090,22 @@ class CreateOutputOutputLocalSearchStorageTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsLocalSearchStorageTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsXsiamTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_database: NotRequired[str] - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_table_name: NotRequired[str] - r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputOutputLocalSearchStorage(BaseModel): +class CreateOutputOutputXsiam(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeLocalSearchStorage - - url: str - r"""URL of the database instance. Example: http://localhost:8123/""" - - database: str - - table_name: Annotated[str, pydantic.Field(alias="tableName")] - r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" + type: CreateOutputTypeXsiam pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -9088,26 +9121,10 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - auth_type: Annotated[ - Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") - ] = None - - format_: Annotated[ - Optional[CreateOutputFormatLocalSearchStorage], pydantic.Field(alias="format") - ] = None - r"""Data format to use when sending data. Defaults to JSON Compact.""" - - mapping_type: Annotated[ - Optional[CreateOutputMappingType], pydantic.Field(alias="mappingType") - ] = None - r"""How event fields are mapped to columns.""" - - async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None ) - r"""Collect data into batches for later processing. Disable to write to a table immediately.""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -9147,11 +9164,6 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): ] = None r"""Headers to add to all events""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -9163,6 +9175,12 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" + auth_type: Annotated[ + Optional[CreateOutputAuthenticationMethodXsiam], + pydantic.Field(alias="authType"), + ] = None + r"""Enter a token directly, or provide a secret referencing a token""" + response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -9178,56 +9196,52 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - workload: Optional[str] = None - r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" - - dump_format_errors_to_disk: Annotated[ - Optional[bool], pydantic.Field(alias="dumpFormatErrorsToDisk") + throttle_rate_req_per_sec: Annotated[ + Optional[int], pydantic.Field(alias="throttleRateReqPerSec") ] = None - r"""Log the most recent event that fails to match the table schema""" + r"""Maximum number of requests to limit to per second""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - stats_destination: Annotated[ - Optional[CreateOutputStatsDestination], pydantic.Field(alias="statsDestination") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" - username: Optional[str] = None - - password: Optional[str] = None + url: Optional[str] = None + r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Select or create a secret that references your credentials""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None - r"""Username for certificate authentication""" + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - wait_for_async_inserts: Annotated[ - Optional[bool], pydantic.Field(alias="waitForAsyncInserts") + urls: Optional[List[CreateOutputURLXsiam]] = None + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - exclude_mapping_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeMappingFields") + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""Fields to exclude from sending""" + r"""How far back in time to keep traffic stats for load balancing purposes""" - describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( - None - ) - r"""Retrieves the table schema and populates the Column Mapping table""" + token: Optional[str] = None + r"""XSIAM authentication token""" - column_mappings: Annotated[ - Optional[List[CreateOutputColumnMapping]], - pydantic.Field(alias="columnMappings"), - ] = None + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -9279,8 +9293,7 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsLocalSearchStorage], - pydantic.Field(alias="pqControls"), + Optional[CreateOutputPqControlsXsiam], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -9288,21 +9301,6 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - template_database: Annotated[ - Optional[str], pydantic.Field(alias="__template_database") - ] = None - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - - template_table_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_tableName") - ] = None - r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -9313,38 +9311,25 @@ class CreateOutputOutputLocalSearchStorage(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationTypeOptions(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.CreateOutputFormatLocalSearchStorage(value) - except ValueError: - return value - return value + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - @field_serializer("mapping_type") - def serialize_mapping_type(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CreateOutputMappingType(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CreateOutputAuthenticationMethodXsiam(value) except ValueError: return value return value @@ -9393,11 +9378,7 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "authType", - "format", - "mappingType", - "asyncInserts", - "tls", + "loadBalanced", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -9406,25 +9387,24 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", + "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "workload", - "dumpFormatErrorsToDisk", + "throttleRateReqPerSec", "onBackpressure", - "statsDestination", + "totalMemoryLimitKB", "description", - "username", - "password", - "credentialsSecret", - "sqlUsername", - "waitForAsyncInserts", - "excludeMappingFields", - "describeTable", - "columnMappings", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -9438,11 +9418,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_url", - "__template_database", - "__template_tableName", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_url", ] ) serialized = handler(self) @@ -9459,27 +9437,145 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCustomerMetricsStorage(str, Enum): - CUSTOMER_METRICS_STORAGE = "customer_metrics_storage" +class CreateOutputTypeLocalSearchStorage(str, Enum): + LOCAL_SEARCH_STORAGE = "local_search_storage" -class CreateOutputPqControlsCustomerMetricsStorageTypedDict(TypedDict): +class CreateOutputFormatLocalSearchStorage(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Data format to use when sending data. Defaults to JSON Compact.""" + + # JSONCompactEachRowWithNames + JSON_COMPACT_EACH_ROW_WITH_NAMES = "json-compact-each-row-with-names" + # JSONEachRow + JSON_EACH_ROW = "json-each-row" + + +class CreateOutputMappingType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How event fields are mapped to columns.""" + + # Automatic + AUTOMATIC = "automatic" + # Custom + CUSTOM = "custom" + + +class CreateOutputStatsDestinationTypedDict(TypedDict): + url: NotRequired[str] + database: NotRequired[str] + table_name: NotRequired[str] + auth_type: NotRequired[str] + username: NotRequired[str] + sql_username: NotRequired[str] + password: NotRequired[str] + wait_for_async_inserts: NotRequired[bool] + concurrency: NotRequired[float] + + +class CreateOutputStatsDestination(BaseModel): + url: Optional[str] = None + + database: Optional[str] = None + + table_name: Annotated[Optional[str], pydantic.Field(alias="tableName")] = None + + auth_type: Annotated[Optional[str], pydantic.Field(alias="authType")] = None + + username: Optional[str] = None + + sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None + + password: Optional[str] = None + + wait_for_async_inserts: Annotated[ + Optional[bool], pydantic.Field(alias="waitForAsyncInserts") + ] = None + + concurrency: Optional[float] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "url", + "database", + "tableName", + "authType", + "username", + "sqlUsername", + "password", + "waitForAsyncInserts", + "concurrency", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputColumnMappingTypedDict(TypedDict): + column_name: str + r"""Name of the column that will store field value""" + column_value_expression: str + r"""JavaScript expression to compute value to be inserted into the table""" + column_type: NotRequired[str] + r"""Type of the column in the database""" + + +class CreateOutputColumnMapping(BaseModel): + column_name: Annotated[str, pydantic.Field(alias="columnName")] + r"""Name of the column that will store field value""" + + column_value_expression: Annotated[ + str, pydantic.Field(alias="columnValueExpression") + ] + r"""JavaScript expression to compute value to be inserted into the table""" + + column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None + r"""Type of the column in the database""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["columnType"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputPqControlsLocalSearchStorageTypedDict(TypedDict): pass -class CreateOutputPqControlsCustomerMetricsStorage(BaseModel): +class CreateOutputPqControlsLocalSearchStorage(BaseModel): pass -class CreateOutputOutputCustomerMetricsStorageTypedDict(TypedDict): +class CreateOutputOutputLocalSearchStorageTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCustomerMetricsStorage + type: CreateOutputTypeLocalSearchStorage url: str - r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + r"""URL of the database instance. Example: http://localhost:8123/""" database: str table_name: str - r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" + r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -9489,12 +9585,12 @@ class CreateOutputOutputCustomerMetricsStorageTypedDict(TypedDict): streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[FormatOptions] - r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" - mapping_type: NotRequired[MappingTypeOptions] - r"""How event fields are mapped to ClickHouse columns""" + format_: NotRequired[CreateOutputFormatLocalSearchStorage] + r"""Data format to use when sending data. Defaults to JSON Compact.""" + mapping_type: NotRequired[CreateOutputMappingType] + r"""How event fields are mapped to columns.""" async_inserts: NotRequired[bool] - r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" + r"""Collect data into batches for later processing. Disable to write to a table immediately.""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" @@ -9534,7 +9630,9 @@ class CreateOutputOutputCustomerMetricsStorageTypedDict(TypedDict): r"""Log the most recent event that fails to match the table schema""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + stats_destination: NotRequired[CreateOutputStatsDestinationTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -9542,12 +9640,12 @@ class CreateOutputOutputCustomerMetricsStorageTypedDict(TypedDict): sql_username: NotRequired[str] r"""Username for certificate authentication""" wait_for_async_inserts: NotRequired[bool] - r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" exclude_mapping_fields: NotRequired[List[str]] - r"""Fields to exclude from sending to ClickHouse""" + r"""Fields to exclude from sending""" describe_table: NotRequired[str] - r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" - column_mappings: NotRequired[List[ColumnMappingConfOutputClickHouseTypedDict]] + r"""Retrieves the table schema and populates the Column Mapping table""" + column_mappings: NotRequired[List[CreateOutputColumnMappingTypedDict]] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9570,7 +9668,7 @@ class CreateOutputOutputCustomerMetricsStorageTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsCustomerMetricsStorageTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsLocalSearchStorageTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_url: NotRequired[str] @@ -9585,19 +9683,19 @@ class CreateOutputOutputCustomerMetricsStorageTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputCustomerMetricsStorage(BaseModel): +class CreateOutputOutputLocalSearchStorage(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCustomerMetricsStorage + type: CreateOutputTypeLocalSearchStorage url: str - r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + r"""URL of the database instance. Example: http://localhost:8123/""" database: str table_name: Annotated[str, pydantic.Field(alias="tableName")] - r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" + r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -9617,18 +9715,20 @@ class CreateOutputOutputCustomerMetricsStorage(BaseModel): Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") ] = None - format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None - r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" + format_: Annotated[ + Optional[CreateOutputFormatLocalSearchStorage], pydantic.Field(alias="format") + ] = None + r"""Data format to use when sending data. Defaults to JSON Compact.""" mapping_type: Annotated[ - Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") + Optional[CreateOutputMappingType], pydantic.Field(alias="mappingType") ] = None - r"""How event fields are mapped to ClickHouse columns""" + r"""How event fields are mapped to columns.""" async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( None ) - r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" + r"""Collect data into batches for later processing. Disable to write to a table immediately.""" tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None @@ -9714,7 +9814,12 @@ class CreateOutputOutputCustomerMetricsStorage(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + stats_destination: Annotated[ + Optional[CreateOutputStatsDestination], pydantic.Field(alias="statsDestination") + ] = None + description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -9731,20 +9836,20 @@ class CreateOutputOutputCustomerMetricsStorage(BaseModel): wait_for_async_inserts: Annotated[ Optional[bool], pydantic.Field(alias="waitForAsyncInserts") ] = None - r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" exclude_mapping_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="excludeMappingFields") ] = None - r"""Fields to exclude from sending to ClickHouse""" + r"""Fields to exclude from sending""" describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( None ) - r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" + r"""Retrieves the table schema and populates the Column Mapping table""" column_mappings: Annotated[ - Optional[List[ColumnMappingConfOutputClickHouse]], + Optional[List[CreateOutputColumnMapping]], pydantic.Field(alias="columnMappings"), ] = None @@ -9798,7 +9903,7 @@ class CreateOutputOutputCustomerMetricsStorage(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsCustomerMetricsStorage], + Optional[CreateOutputPqControlsLocalSearchStorage], pydantic.Field(alias="pqControls"), ] = None @@ -9845,7 +9950,7 @@ def serialize_auth_type(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.FormatOptions(value) + return models.CreateOutputFormatLocalSearchStorage(value) except ValueError: return value return value @@ -9854,7 +9959,7 @@ def serialize_format_(self, value): def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.MappingTypeOptions(value) + return models.CreateOutputMappingType(value) except ValueError: return value return value @@ -9934,6 +10039,7 @@ def serialize_model(self, handler): "workload", "dumpFormatErrorsToDisk", "onBackpressure", + "statsDestination", "description", "username", "password", @@ -9977,22 +10083,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypeClickHouse(str, Enum): - CLICK_HOUSE = "click_house" +class CreateOutputTypeCustomerMetricsStorage(str, Enum): + CUSTOMER_METRICS_STORAGE = "customer_metrics_storage" -class CreateOutputPqControlsClickHouseTypedDict(TypedDict): +class CreateOutputPqControlsCustomerMetricsStorageTypedDict(TypedDict): pass -class CreateOutputPqControlsClickHouse(BaseModel): +class CreateOutputPqControlsCustomerMetricsStorage(BaseModel): pass -class CreateOutputOutputClickHouseTypedDict(TypedDict): +class CreateOutputOutputCustomerMetricsStorageTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeClickHouse + type: CreateOutputTypeCustomerMetricsStorage url: str r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" database: str @@ -10053,6 +10159,7 @@ class CreateOutputOutputClickHouseTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -10088,7 +10195,7 @@ class CreateOutputOutputClickHouseTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsClickHouseTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsCustomerMetricsStorageTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_url: NotRequired[str] @@ -10103,11 +10210,11 @@ class CreateOutputOutputClickHouseTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputClickHouse(BaseModel): +class CreateOutputOutputCustomerMetricsStorage(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeClickHouse + type: CreateOutputTypeCustomerMetricsStorage url: str r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" @@ -10233,6 +10340,7 @@ class CreateOutputOutputClickHouse(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -10316,7 +10424,8 @@ class CreateOutputOutputClickHouse(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsClickHouse], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsCustomerMetricsStorage], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -10494,14 +10603,27 @@ def serialize_model(self, handler): return m -class CreateOutputTypeDiskSpool(str, Enum): - DISK_SPOOL = "disk_spool" +class CreateOutputTypeClickHouse(str, Enum): + CLICK_HOUSE = "click_house" -class CreateOutputOutputDiskSpoolTypedDict(TypedDict): +class CreateOutputPqControlsClickHouseTypedDict(TypedDict): + pass + + +class CreateOutputPqControlsClickHouse(BaseModel): + pass + + +class CreateOutputOutputClickHouseTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDiskSpool + type: CreateOutputTypeClickHouse + url: str + r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + database: str + table_name: str + r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -10510,26 +10632,117 @@ class CreateOutputOutputDiskSpoolTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - time_window: NotRequired[str] - r"""Time period for grouping spooled events. Default is 10m.""" - max_data_size: NotRequired[str] - r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" - max_data_time: NotRequired[str] - r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" - compress: NotRequired[CompressionOptionsPersistence] - r"""Data compression format. Default is gzip.""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" + auth_type: NotRequired[AuthenticationTypeOptions] + format_: NotRequired[FormatOptions] + r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" + mapping_type: NotRequired[MappingTypeOptions] + r"""How event fields are mapped to ClickHouse columns""" + async_inserts: NotRequired[bool] + r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + workload: NotRequired[str] + r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" + dump_format_errors_to_disk: NotRequired[bool] + r"""Log the most recent event that fails to match the table schema""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" + username: NotRequired[str] + password: NotRequired[str] + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + sql_username: NotRequired[str] + r"""Username for certificate authentication""" + wait_for_async_inserts: NotRequired[bool] + r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + exclude_mapping_fields: NotRequired[List[str]] + r"""Fields to exclude from sending to ClickHouse""" + describe_table: NotRequired[str] + r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" + column_mappings: NotRequired[List[ColumnMappingConfOutputClickHouseTypedDict]] + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputPqControlsClickHouseTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_database: NotRequired[str] + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" + template_table_name: NotRequired[str] + r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputDiskSpool(BaseModel): +class CreateOutputOutputClickHouse(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDiskSpool + type: CreateOutputTypeClickHouse + + url: str + r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + + database: str + + table_name: Annotated[str, pydantic.Field(alias="tableName")] + r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -10545,479 +10758,293 @@ class CreateOutputOutputDiskSpool(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = None - r"""Time period for grouping spooled events. Default is 10m.""" - - max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None - r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" + auth_type: Annotated[ + Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") + ] = None - max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None - r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" + format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None + r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" - compress: Optional[CompressionOptionsPersistence] = None - r"""Data compression format. Default is gzip.""" + mapping_type: Annotated[ + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") + ] = None + r"""How event fields are mapped to ClickHouse columns""" - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( None ) - r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" + r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" - description: Optional[str] = None + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Maximum size, in KB, of the request body""" - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPersistence(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "timeWindow", - "maxDataSize", - "maxDataTime", - "compress", - "partitionExpr", - "description", - "__template_streamtags", - ] - ) - serialized = handler(self) - m = {} + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - return m + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" -class CreateOutputTypeCriblLake(str, Enum): - CRIBL_LAKE = "cribl_lake" + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" -class CreateOutputFormatCriblLake(str, Enum, metaclass=utils.OpenEnumMeta): - JSON = "json" - PARQUET = "parquet" - RAW = "raw" + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" -class CreateOutputOutputCriblLakeTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeCriblLake - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - dest_path: NotRequired[str] - r"""Lake dataset to send the data to.""" - format_: NotRequired[CreateOutputFormatCriblLake] - dynamic_dataset: NotRequired[bool] - max_closing_files_to_backpressure: NotRequired[float] - max_concurrent_file_parts: NotRequired[float] - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None -class CreateOutputOutputCriblLake(BaseModel): - id: str - r"""Unique ID for this output""" + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - type: CreateOutputTypeCriblLake + workload: Optional[str] = None + r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + dump_format_errors_to_disk: Annotated[ + Optional[bool], pydantic.Field(alias="dumpFormatErrorsToDisk") + ] = None + r"""Log the most recent event that fails to match the table schema""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""How to handle events when all receivers are exerting backpressure""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + username: Optional[str] = None - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + password: Optional[str] = None - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") ] = None - r"""Add the Output ID value to staging location""" + r"""Select or create a secret that references your credentials""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None + r"""Username for certificate authentication""" + + wait_for_async_inserts: Annotated[ + Optional[bool], pydantic.Field(alias="waitForAsyncInserts") ] = None - r"""Remove empty staging directories after moving files""" + r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + exclude_mapping_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeMappingFields") + ] = None + r"""Fields to exclude from sending to ClickHouse""" + + describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( None ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") + column_mappings: Annotated[ + Optional[List[ColumnMappingConfOutputClickHouse]], + pydantic.Field(alias="columnMappings"), ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") - ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" - - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") - ] = None - r"""Buffer size used to write to a file""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") - ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), - ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") - ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None - - orphans: Optional[OrphanFileRecoveryType] = None - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Lake dataset to send the data to.""" - - format_: Annotated[ - Optional[CreateOutputFormatCriblLake], pydantic.Field(alias="format") - ] = None - - dynamic_dataset: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicDataset") - ] = None - - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") - ] = None - - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None - - description: Optional[str] = None - - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" - - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" - - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""Codec to use to compress the persisted data""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + pq_controls: Annotated[ + Optional[CreateOutputPqControlsClickHouse], pydantic.Field(alias="pqControls") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_database: Annotated[ + Optional[str], pydantic.Field(alias="__template_database") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + template_table_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_tableName") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") - ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") - ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationTypeOptions(value) + except ValueError: + return value + return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.FormatOptions(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("mapping_type") + def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.MappingTypeOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CreateOutputFormatCriblLake(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsHTTP(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("compression_level") - def serialize_compression_level(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.CompressionLevelOptions(value) + return models.ModeOptions(value) except ValueError: return value return value - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): if isinstance(value, str): try: - return models.ParquetVersionOptions(value) + return models.CompressionOptionsPq(value) except ValueError: return value return value - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -11030,53 +11057,55 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "stagePath", - "addIdToStagePath", - "removeEmptyDirs", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "destPath", + "authType", "format", - "dynamicDataset", - "maxClosingFilesToBackpressure", - "maxConcurrentFileParts", - "description", + "mappingType", + "asyncInserts", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "workload", + "dumpFormatErrorsToDisk", + "onBackpressure", + "description", + "username", + "password", + "credentialsSecret", + "sqlUsername", + "waitForAsyncInserts", + "excludeMappingFields", + "describeTable", + "columnMappings", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_baseFileName", - "__template_fileNameSuffix", + "__template_url", + "__template_database", + "__template_tableName", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_destPath", - "__template_compress", - "__template_parquetSchema", ] ) serialized = handler(self) @@ -11093,60 +11122,155 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSecurityLake(str, Enum): - SECURITY_LAKE = "security_lake" +class CreateOutputTypeDiskSpool(str, Enum): + DISK_SPOOL = "disk_spool" -class CreateOutputOutputSecurityLakeTypedDict(TypedDict): +class CreateOutputOutputDiskSpoolTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSecurityLake - assume_role_arn: str - r"""Amazon Resource Name (ARN) of the role to assume""" - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - region: str - r"""Region where the Amazon Security Lake is located.""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - account_id: str - r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" - custom_source: str - r"""Name of the custom source configured in Amazon Security Lake""" + type: CreateOutputTypeDiskSpool pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - endpoint: NotRequired[str] - r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access S3""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - max_closing_files_to_backpressure: NotRequired[float] - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + time_window: NotRequired[str] + r"""Time period for grouping spooled events. Default is 10m.""" + max_data_size: NotRequired[str] + r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" + max_data_time: NotRequired[str] + r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" + compress: NotRequired[CompressionOptionsPersistence] + r"""Data compression format. Default is gzip.""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + +class CreateOutputOutputDiskSpool(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeDiskSpool + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = None + r"""Time period for grouping spooled events. Default is 10m.""" + + max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None + r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" + + max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None + r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" + + compress: Optional[CompressionOptionsPersistence] = None + r"""Data compression format. Default is gzip.""" + + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPersistence(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "timeWindow", + "maxDataSize", + "maxDataTime", + "compress", + "partitionExpr", + "description", + "__template_streamtags", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputTypeCriblLake(str, Enum): + CRIBL_LAKE = "cribl_lake" + + +class CreateOutputFormatCriblLake(str, Enum, metaclass=utils.OpenEnumMeta): + JSON = "json" + PARQUET = "parquet" + RAW = "raw" + + +class CreateOutputOutputCriblLakeTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeCriblLake + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" add_id_to_stage_path: NotRequired[bool] r"""Add the Output ID value to staging location""" remove_empty_dirs: NotRequired[bool] r"""Remove empty staging directories after moving files""" base_file_name: NotRequired[str] r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" max_file_size_mb: NotRequired[float] r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" max_file_open_time_sec: NotRequired[float] @@ -11169,20 +11293,25 @@ class CreateOutputOutputSecurityLakeTypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptions] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: NotRequired[str] - r"""ID or ARN of the KMS customer-managed key to use for encryption""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] + dest_path: NotRequired[str] + r"""Lake dataset to send the data to.""" + format_: NotRequired[CreateOutputFormatCriblLake] + dynamic_dataset: NotRequired[bool] + max_closing_files_to_backpressure: NotRequired[float] + max_concurrent_file_parts: NotRequired[float] + description: NotRequired[str] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" parquet_row_group_length: NotRequired[float] r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" @@ -11198,80 +11327,35 @@ class CreateOutputOutputSecurityLakeTypedDict(TypedDict): r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" directory_batch_size: NotRequired[float] r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" deadletter_path: NotRequired[str] r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" max_retry_num: NotRequired[float] r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_base_file_name: NotRequired[str] r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_kms_key_id: NotRequired[str] - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_account_id: NotRequired[str] - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - template_custom_source: NotRequired[str] - r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputSecurityLake(BaseModel): +class CreateOutputOutputCriblLake(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSecurityLake - - assume_role_arn: Annotated[str, pydantic.Field(alias="assumeRoleArn")] - r"""Amazon Resource Name (ARN) of the role to assume""" - - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - - region: str - r"""Region where the Amazon Security Lake is located.""" - - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - - account_id: Annotated[str, pydantic.Field(alias="accountId")] - r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" - - custom_source: Annotated[str, pydantic.Field(alias="customSource")] - r"""Name of the custom source configured in Amazon Security Lake""" + type: CreateOutputTypeCriblLake pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -11279,7 +11363,7 @@ class CreateOutputOutputSecurityLake(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -11287,54 +11371,8 @@ class CreateOutputOutputSecurityLake(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - endpoint: Optional[str] = None - r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" - - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") - ] = None - r"""Use Assume Role credentials to access S3""" - - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" - - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") - ] = None - 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).""" - - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None - r"""Reuse connections between requests, which can improve performance""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") - ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" - - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") - ] = None - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" add_id_to_stage_path: Annotated[ Optional[bool], pydantic.Field(alias="addIdToStagePath") @@ -11351,6 +11389,11 @@ class CreateOutputOutputSecurityLake(BaseModel): ) r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: Annotated[ Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None @@ -11407,34 +11450,46 @@ class CreateOutputOutputSecurityLake(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Lake dataset to send the data to.""" - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + format_: Annotated[ + Optional[CreateOutputFormatCriblLake], pydantic.Field(alias="format") ] = None - r"""Object ACL to assign to uploaded objects""" - storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + dynamic_dataset: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicDataset") ] = None - r"""Storage class to select for uploaded objects""" - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") ] = None - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None - r"""ID or ARN of the KMS customer-managed key to use for encryption""" + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" automatic_schema: Annotated[ Optional[bool], pydantic.Field(alias="automaticSchema") ] = None r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: Annotated[ Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None @@ -11481,14 +11536,6 @@ class CreateOutputOutputSecurityLake(BaseModel): ] = None r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - empty_dir_cleanup_sec: Annotated[ Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None @@ -11499,11 +11546,6 @@ class CreateOutputOutputSecurityLake(BaseModel): ] = None r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - deadletter_path: Annotated[ Optional[str], pydantic.Field(alias="deadletterPath") ] = None @@ -11519,103 +11561,44 @@ class CreateOutputOutputSecurityLake(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") - ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") - ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_base_file_name: Annotated[ Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") - ] = None - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - - template_account_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_accountId") - ] = None - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - - template_custom_source: Annotated[ - Optional[str], pydantic.Field(alias="__template_customSource") - ] = None - r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" - - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") - ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptionsBlockDrop(value) - except ValueError: - return value - return value + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptionsBlockDrop(value) + except ValueError: + return value + return value @field_serializer("on_disk_full_backpressure") def serialize_on_disk_full_backpressure(self, value): @@ -11626,29 +11609,29 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.ObjectACLOptions(value) + return models.CreateOutputFormatCriblLake(value) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.StorageClassOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.ServerSideEncryptionForUploadedObjectsOptions(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value @@ -11679,19 +11662,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleExternalId", - "durationSeconds", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", + "stagePath", "addIdToStagePath", "removeEmptyDirs", "baseFileName", + "fileNameSuffix", "maxFileSizeMB", "maxFileOpenTimeSec", "maxFileIdleTimeSec", @@ -11704,12 +11679,16 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", + "destPath", + "format", + "dynamicDataset", + "maxClosingFilesToBackpressure", + "maxConcurrentFileParts", + "description", + "compress", + "compressionLevel", "automaticSchema", + "parquetSchema", "parquetVersion", "parquetDataPageVersion", "parquetRowGroupLength", @@ -11719,30 +11698,16 @@ def serialize_model(self, handler): "enableStatistics", "enableWritePageIndex", "enablePageChecksum", - "description", - "awsApiKey", - "awsSecret", "emptyDirCleanupSec", "directoryBatchSize", - "parquetSchema", "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_bucket", - "__template_region", "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", - "__template_accountId", - "__template_customSource", - "__template_awsApiKey", + "__template_destPath", + "__template_compress", "__template_parquetSchema", ] ) @@ -11760,32 +11725,38 @@ def serialize_model(self, handler): return m -class CreateOutputTypeDlS3(str, Enum): - DL_S3 = "dl_s3" +class CreateOutputTypeSecurityLake(str, Enum): + SECURITY_LAKE = "security_lake" -class CreateOutputOutputDlS3TypedDict(TypedDict): +class CreateOutputOutputSecurityLakeTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDlS3 + type: CreateOutputTypeSecurityLake + assume_role_arn: str + r"""Amazon Resource Name (ARN) of the role to assume""" bucket: str r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + region: str + r"""Region where the Amazon Security Lake is located.""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + account_id: str + r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" + custom_source: str + r"""Name of the custom source configured in Amazon Security Lake""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" endpoint: NotRequired[str] - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" enable_assume_role: NotRequired[bool] r"""Use Assume Role credentials to access S3""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" assume_role_external_id: NotRequired[str] r"""External ID to use when assuming role""" duration_seconds: NotRequired[float] @@ -11796,10 +11767,6 @@ class CreateOutputOutputDlS3TypedDict(TypedDict): r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the S3 bucket is located""" - dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" verify_permissions: NotRequired[bool] @@ -11810,12 +11777,8 @@ class CreateOutputOutputDlS3TypedDict(TypedDict): r"""Add the Output ID value to staging location""" remove_empty_dirs: NotRequired[bool] r"""Remove empty staging directories after moving files""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" base_file_name: NotRequired[str] r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" max_file_size_mb: NotRequired[float] r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" max_file_open_time_sec: NotRequired[float] @@ -11839,7 +11802,6 @@ class CreateOutputOutputDlS3TypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" object_acl: NotRequired[ObjectACLOptions] r"""Object ACL to assign to uploaded objects""" storage_class: NotRequired[StorageClassOptions] @@ -11848,21 +11810,8 @@ class CreateOutputOutputDlS3TypedDict(TypedDict): r"""Server-side encryption to use for uploaded objects""" kms_key_id: NotRequired[str] r"""ID or ARN of the KMS customer-managed key to use for encryption""" - partitioning_fields: NotRequired[List[str]] - r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" - description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" automatic_schema: NotRequired[bool] r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" parquet_version: NotRequired[ParquetVersionOptions] r"""Determines which data types are supported and how they are represented""" parquet_data_page_version: NotRequired[DataPageVersionOptions] @@ -11881,10 +11830,18 @@ class CreateOutputOutputDlS3TypedDict(TypedDict): r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" directory_batch_size: NotRequired[float] r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" deadletter_path: NotRequired[str] r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" max_retry_num: NotRequired[float] @@ -11901,14 +11858,8 @@ class CreateOutputOutputDlS3TypedDict(TypedDict): r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_base_file_name: NotRequired[str] r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" template_aws_secret_key: NotRequired[str] @@ -11921,35 +11872,47 @@ class CreateOutputOutputDlS3TypedDict(TypedDict): r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" template_kms_key_id: NotRequired[str] r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_partitioning_fields: NotRequired[str] - r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" + template_account_id: NotRequired[str] + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" + template_custom_source: NotRequired[str] + r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" template_aws_api_key: NotRequired[str] r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputOutputDlS3(BaseModel): +class CreateOutputOutputSecurityLake(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDlS3 + type: CreateOutputTypeSecurityLake + + assume_role_arn: Annotated[str, pydantic.Field(alias="assumeRoleArn")] + r"""Amazon Resource Name (ARN) of the role to assume""" bucket: str r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + region: str + r"""Region where the Amazon Security Lake is located.""" + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + account_id: Annotated[str, pydantic.Field(alias="accountId")] + r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" + + custom_source: Annotated[str, pydantic.Field(alias="customSource")] + r"""Name of the custom source configured in Amazon Security Lake""" + pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -11958,18 +11921,13 @@ class CreateOutputOutputDlS3(BaseModel): r"""Tags for filtering and grouping in @{product}""" endpoint: Optional[str] = None - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" enable_assume_role: Annotated[ Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None r"""Use Assume Role credentials to access S3""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: Annotated[ Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None @@ -11996,12 +11954,6 @@ class CreateOutputOutputDlS3(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: Optional[str] = None - r"""Region where the S3 bucket is located""" - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - max_concurrent_file_parts: Annotated[ Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = None @@ -12027,21 +11979,11 @@ class CreateOutputOutputDlS3(BaseModel): ] = None r"""Remove empty staging directories after moving files""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( None ) r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: Annotated[ Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None @@ -12101,7 +12043,6 @@ class CreateOutputOutputDlS3(BaseModel): aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( None ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" object_acl: Annotated[ Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") @@ -12122,37 +12063,11 @@ class CreateOutputOutputDlS3(BaseModel): kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None r"""ID or ARN of the KMS customer-managed key to use for encryption""" - partitioning_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="partitioningFields") - ] = None - r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" - - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" - - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" - automatic_schema: Annotated[ Optional[bool], pydantic.Field(alias="automaticSchema") ] = None r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: Annotated[ Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None @@ -12199,6 +12114,15 @@ class CreateOutputOutputDlS3(BaseModel): ] = None r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + empty_dir_cleanup_sec: Annotated[ Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None @@ -12209,6 +12133,11 @@ class CreateOutputOutputDlS3(BaseModel): ] = None r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + deadletter_path: Annotated[ Optional[str], pydantic.Field(alias="deadletterPath") ] = None @@ -12249,25 +12178,10 @@ class CreateOutputOutputDlS3(BaseModel): ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") - ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") - ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") @@ -12299,21 +12213,21 @@ class CreateOutputOutputDlS3(BaseModel): ] = None r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_partitioning_fields: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitioningFields") + template_account_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_accountId") ] = None - r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" + + template_custom_source: Annotated[ + Optional[str], pydantic.Field(alias="__template_customSource") + ] = None + r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" template_aws_api_key: Annotated[ Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: Annotated[ Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None @@ -12328,15 +12242,6 @@ def serialize_aws_authentication_method(self, value): return value return value - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value - @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -12382,24 +12287,6 @@ def serialize_server_side_encryption(self, value): return value return value - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsHTTP(value) - except ValueError: - return value - return value - - @field_serializer("compression_level") - def serialize_compression_level(self, value): - if isinstance(value, str): - try: - return models.CompressionLevelOptions(value) - except ValueError: - return value - return value - @field_serializer("parquet_version") def serialize_parquet_version(self, value): if isinstance(value, str): @@ -12428,22 +12315,17 @@ def serialize_model(self, handler): "streamtags", "endpoint", "enableAssumeRole", - "assumeRoleArn", "assumeRoleExternalId", "durationSeconds", "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", - "destPath", "maxConcurrentFileParts", "verifyPermissions", "maxClosingFilesToBackpressure", "addIdToStagePath", "removeEmptyDirs", - "format", "baseFileName", - "fileNameSuffix", "maxFileSizeMB", "maxFileOpenTimeSec", "maxFileIdleTimeSec", @@ -12461,14 +12343,7 @@ def serialize_model(self, handler): "storageClass", "serverSideEncryption", "kmsKeyId", - "partitioningFields", - "description", - "awsApiKey", - "awsSecret", - "compress", - "compressionLevel", "automaticSchema", - "parquetSchema", "parquetVersion", "parquetDataPageVersion", "parquetRowGroupLength", @@ -12478,8 +12353,12 @@ def serialize_model(self, handler): "enableStatistics", "enableWritePageIndex", "enablePageChecksum", + "description", + "awsApiKey", + "awsSecret", "emptyDirCleanupSec", "directoryBatchSize", + "parquetSchema", "deadletterPath", "maxRetryNum", "__template_streamtags", @@ -12488,19 +12367,16 @@ def serialize_model(self, handler): "__template_assumeRoleExternalId", "__template_bucket", "__template_region", - "__template_destPath", - "__template_format", "__template_baseFileName", - "__template_fileNameSuffix", "__template_onBackpressure", "__template_awsSecretKey", "__template_objectACL", "__template_storageClass", "__template_serverSideEncryption", "__template_kmsKeyId", - "__template_partitioningFields", + "__template_accountId", + "__template_customSource", "__template_awsApiKey", - "__template_compress", "__template_parquetSchema", ] ) @@ -12518,303 +12394,572 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCrowdstrikeNextGenSiem(str, Enum): - CROWDSTRIKE_NEXT_GEN_SIEM = "crowdstrike_next_gen_siem" +class CreateOutputTypeDlS3(str, Enum): + DL_S3 = "dl_s3" + + +class CreateOutputOutputDlS3TypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeDlS3 + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + endpoint: NotRequired[str] + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access S3""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the S3 bucket is located""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptions] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: NotRequired[str] + r"""ID or ARN of the KMS customer-managed key to use for encryption""" + partitioning_fields: NotRequired[List[str]] + r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_kms_key_id: NotRequired[str] + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + template_partitioning_fields: NotRequired[str] + r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + +class CreateOutputOutputDlS3(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeDlS3 + + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + endpoint: Optional[str] = None + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access S3""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + region: Optional[str] = None + r"""Region where the S3 bucket is located""" + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" + + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + ] = None + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" + + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + ] = None + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") + ] = None + r"""Buffer size used to write to a file""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), + ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + ] = None + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None -class CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict(TypedDict): - pass + orphans: Optional[OrphanFileRecoveryType] = None + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" -class CreateOutputPqControlsCrowdstrikeNextGenSiem(BaseModel): - pass + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" + storage_class: Annotated[ + Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + ] = None + r"""Storage class to select for uploaded objects""" -class CreateOutputOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeCrowdstrikeNextGenSiem - url: str - r"""URL provided from a CrowdStrike data connector. - Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector - """ - format_: RequestFormatOptions - r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] - token: NotRequired[str] - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptions], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None + r"""ID or ARN of the KMS customer-managed key to use for encryption""" -class CreateOutputOutputCrowdstrikeNextGenSiem(BaseModel): - id: str - r"""Unique ID for this output""" + partitioning_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="partitioningFields") + ] = None + r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" - type: CreateOutputTypeCrowdstrikeNextGenSiem + description: Optional[str] = None + r"""Optional description for this configuration.""" - url: str - r"""URL provided from a CrowdStrike data connector. - Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector - """ + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - format_: Annotated[RequestFormatOptions, pydantic.Field(alias="format")] - r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + r"""Compression level to apply before moving files to final destination""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Determines which data types are supported and how they are represented""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""Headers to add to all events""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""List of headers that are safe to log in plain text""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + r"""How frequently, in seconds, to clean up empty directories""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - token: Optional[str] = None + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") + ] = None + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") ] = None - r"""Codec to use to compress the persisted data""" + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - pq_controls: Annotated[ - Optional[CreateOutputPqControlsCrowdstrikeNextGenSiem], - pydantic.Field(alias="pqControls"), + template_kms_key_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_kmsKeyId") ] = None + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_partitioning_fields: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitioningFields") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -12823,52 +12968,88 @@ def serialize_failed_request_logging_mode(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.RequestFormatOptions(value) + return models.DataFormatOptions(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("object_acl") + def serialize_object_acl(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.ObjectACLOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.StorageClassOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ServerSideEncryptionForUploadedObjectsOptions(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsHTTP(value) + except ValueError: + return value + return value + + @field_serializer("compression_level") + def serialize_compression_level(self, value): + if isinstance(value, str): + try: + return models.CompressionLevelOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): + if isinstance(value, str): + try: + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -12881,41 +13062,82 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", + "endpoint", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "awsAuthenticationMethod", + "reuseConnections", "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "region", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", - "description", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", + "partitioningFields", + "description", + "awsApiKey", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__template_bucket", + "__template_region", + "__template_destPath", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_awsSecretKey", + "__template_objectACL", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", + "__template_partitioningFields", + "__template_awsApiKey", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -12932,24 +13154,26 @@ def serialize_model(self, handler): return m -class CreateOutputTypeHumioHec(str, Enum): - HUMIO_HEC = "humio_hec" +class CreateOutputTypeCrowdstrikeNextGenSiem(str, Enum): + CROWDSTRIKE_NEXT_GEN_SIEM = "crowdstrike_next_gen_siem" -class CreateOutputPqControlsHumioHecTypedDict(TypedDict): +class CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict(TypedDict): pass -class CreateOutputPqControlsHumioHec(BaseModel): +class CreateOutputPqControlsCrowdstrikeNextGenSiem(BaseModel): pass -class CreateOutputOutputHumioHecTypedDict(TypedDict): +class CreateOutputOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeHumioHec + type: CreateOutputTypeCrowdstrikeNextGenSiem url: str - r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + r"""URL provided from a CrowdStrike data connector. + Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector + """ format_: RequestFormatOptions r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" pipeline: NotRequired[str] @@ -12997,8 +13221,8 @@ class CreateOutputOutputHumioHecTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] - r"""CrowdStrike Falcon LogScale authentication token""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] @@ -13023,7 +13247,7 @@ class CreateOutputOutputHumioHecTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsHumioHecTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsCrowdstrikeNextGenSiemTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_url: NotRequired[str] @@ -13034,14 +13258,16 @@ class CreateOutputOutputHumioHecTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputHumioHec(BaseModel): +class CreateOutputOutputCrowdstrikeNextGenSiem(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeHumioHec + type: CreateOutputTypeCrowdstrikeNextGenSiem url: str - r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + r"""URL provided from a CrowdStrike data connector. + Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector + """ format_: Annotated[RequestFormatOptions, pydantic.Field(alias="format")] r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" @@ -13141,9 +13367,9 @@ class CreateOutputOutputHumioHec(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None - r"""CrowdStrike Falcon LogScale authentication token""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -13198,7 +13424,8 @@ class CreateOutputOutputHumioHec(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsHumioHec], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsCrowdstrikeNextGenSiem], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -13343,22 +13570,26 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCriblSearchEngine(str, Enum): - CRIBL_SEARCH_ENGINE = "cribl_search_engine" +class CreateOutputTypeHumioHec(str, Enum): + HUMIO_HEC = "humio_hec" -class CreateOutputPqControlsCriblSearchEngineTypedDict(TypedDict): +class CreateOutputPqControlsHumioHecTypedDict(TypedDict): pass -class CreateOutputPqControlsCriblSearchEngine(BaseModel): +class CreateOutputPqControlsHumioHec(BaseModel): pass -class CreateOutputOutputCriblSearchEngineTypedDict(TypedDict): +class CreateOutputOutputHumioHecTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblSearchEngine + type: CreateOutputTypeHumioHec + url: str + r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + format_: RequestFormatOptions + r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13367,21 +13598,14 @@ class CreateOutputOutputCriblSearchEngineTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] - token_ttl_minutes: NotRequired[float] - r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" - exclude_fields: NotRequired[List[str]] - r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" - compression: NotRequired[CompressionOptionsGzipNone] - r"""Codec to use to compress the data before sending""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] r"""Maximum size, in KB, of the request body""" max_payload_events: NotRequired[float] r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -13393,12 +13617,14 @@ class CreateOutputOutputCriblSearchEngineTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -13406,22 +13632,14 @@ class CreateOutputOutputCriblSearchEngineTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - auth_tokens: NotRequired[List[AuthTokenConfOutputCriblHTTPTypedDict]] - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" description: NotRequired[str] - url: NotRequired[str] - r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[URLConfOutputCriblHTTPTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Optional description for this configuration.""" + token: NotRequired[str] + r"""CrowdStrike Falcon LogScale authentication token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -13444,22 +13662,28 @@ class CreateOutputOutputCriblSearchEngineTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsCriblSearchEngineTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsHumioHecTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputOutputCriblSearchEngine(BaseModel): +class CreateOutputOutputHumioHec(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblSearchEngine + type: CreateOutputTypeHumioHec + + url: str + r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + + format_: Annotated[RequestFormatOptions, pydantic.Field(alias="format")] + r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -13475,26 +13699,6 @@ class CreateOutputOutputCriblSearchEngine(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - - token_ttl_minutes: Annotated[ - Optional[float], pydantic.Field(alias="tokenTTLMinutes") - ] = None - r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" - - exclude_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeFields") - ] = None - r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" - - compression: Optional[CompressionOptionsGzipNone] = None - r"""Codec to use to compress the data before sending""" - concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -13508,6 +13712,9 @@ class CreateOutputOutputCriblSearchEngine(BaseModel): ] = None r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None @@ -13530,6 +13737,11 @@ class CreateOutputOutputCriblSearchEngine(BaseModel): ] = None r"""Headers to add to all events""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -13541,10 +13753,11 @@ class CreateOutputOutputCriblSearchEngine(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], @@ -13561,40 +13774,19 @@ class CreateOutputOutputCriblSearchEngine(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - auth_tokens: Annotated[ - Optional[List[AuthTokenConfOutputCriblHTTP]], pydantic.Field(alias="authTokens") - ] = None - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" - url: Optional[str] = None - r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - urls: Optional[List[URLConfOutputCriblHTTP]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + token: Optional[str] = None + r"""CrowdStrike Falcon LogScale authentication token""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -13646,8 +13838,7 @@ class CreateOutputOutputCriblSearchEngine(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsCriblSearchEngine], - pydantic.Field(alias="pqControls"), + Optional[CreateOutputPqControlsHumioHec], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -13655,6 +13846,11 @@ class CreateOutputOutputCriblSearchEngine(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -13665,25 +13861,29 @@ class CreateOutputOutputCriblSearchEngine(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipNone(value) + return models.RequestFormatOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value @@ -13732,33 +13932,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", - "tls", - "tokenTTLMinutes", - "excludeFields", - "compression", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", + "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "throttleRatePerSec", + "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "authTokens", "onBackpressure", - "useRoundRobinDns", "description", - "url", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -13772,9 +13964,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", ] ) serialized = handler(self) @@ -13791,22 +13983,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCriblHTTP(str, Enum): - CRIBL_HTTP = "cribl_http" +class CreateOutputTypeCriblSearchEngine(str, Enum): + CRIBL_SEARCH_ENGINE = "cribl_search_engine" -class CreateOutputPqControlsCriblHTTPTypedDict(TypedDict): +class CreateOutputPqControlsCriblSearchEngineTypedDict(TypedDict): pass -class CreateOutputPqControlsCriblHTTP(BaseModel): +class CreateOutputPqControlsCriblSearchEngine(BaseModel): pass -class CreateOutputOutputCriblHTTPTypedDict(TypedDict): +class CreateOutputOutputCriblSearchEngineTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblHTTP + type: CreateOutputTypeCriblSearchEngine pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13855,14 +14047,15 @@ class CreateOutputOutputCriblHTTPTypedDict(TypedDict): response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" auth_tokens: NotRequired[List[AuthTokenConfOutputCriblHTTPTypedDict]] - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" description: NotRequired[str] + r"""Optional description for this configuration.""" url: NotRequired[str] r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" urls: NotRequired[List[URLConfOutputCriblHTTPTypedDict]] @@ -13892,7 +14085,7 @@ class CreateOutputOutputCriblHTTPTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsCriblHTTPTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsCriblSearchEngineTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -13903,11 +14096,11 @@ class CreateOutputOutputCriblHTTPTypedDict(TypedDict): r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputOutputCriblHTTP(BaseModel): +class CreateOutputOutputCriblSearchEngine(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblHTTP + type: CreateOutputTypeCriblSearchEngine pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14012,23 +14205,24 @@ class CreateOutputOutputCriblHTTP(BaseModel): auth_tokens: Annotated[ Optional[List[AuthTokenConfOutputCriblHTTP]], pydantic.Field(alias="authTokens") ] = None - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - url: Optional[str] = None - r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - use_round_robin_dns: Annotated[ Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + url: Optional[str] = None + r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" @@ -14094,7 +14288,8 @@ class CreateOutputOutputCriblHTTP(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsCriblHTTP], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsCriblSearchEngine], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -14199,9 +14394,9 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "authTokens", "onBackpressure", + "useRoundRobinDns", "description", "url", - "useRoundRobinDns", "excludeSelf", "urls", "dnsResolvePeriodSec", @@ -14238,22 +14433,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypeCriblTCP(str, Enum): - CRIBL_TCP = "cribl_tcp" +class CreateOutputTypeCriblHTTP(str, Enum): + CRIBL_HTTP = "cribl_http" -class CreateOutputPqControlsCriblTCPTypedDict(TypedDict): +class CreateOutputPqControlsCriblHTTPTypedDict(TypedDict): pass -class CreateOutputPqControlsCriblTCP(BaseModel): +class CreateOutputPqControlsCriblHTTP(BaseModel): pass -class CreateOutputOutputCriblTCPTypedDict(TypedDict): +class CreateOutputOutputCriblHTTPTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblTCP + type: CreateOutputTypeCriblHTTP pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -14263,41 +14458,61 @@ class CreateOutputOutputCriblTCPTypedDict(TypedDict): streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" load_balanced: NotRequired[bool] - r"""Use load-balanced destinations""" - compression: NotRequired[CompressionOptionsGzipNone] - r"""Codec to use to compress the data before sending""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" token_ttl_minutes: NotRequired[float] - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - auth_tokens: NotRequired[List[AuthTokenConfInputCriblTCPTypedDict]] - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" + r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" exclude_fields: NotRequired[List[str]] r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" + compression: NotRequired[CompressionOptionsGzipNone] + r"""Codec to use to compress the data before sending""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + auth_tokens: NotRequired[List[AuthTokenConfOutputCriblHTTPTypedDict]] + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - host: NotRequired[str] - r"""The hostname of the receiver""" - port: NotRequired[float] - r"""The port to connect to on the provided host""" + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] - r"""Set of hosts to load-balance data to""" + urls: NotRequired[List[URLConfOutputCriblHTTPTypedDict]] dns_resolve_period_sec: NotRequired[float] r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" load_balance_stats_period_sec: NotRequired[float] r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14320,22 +14535,22 @@ class CreateOutputOutputCriblTCPTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsCriblTCPTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsCriblHTTPTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputOutputCriblTCP(BaseModel): +class CreateOutputOutputCriblHTTP(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeCriblTCP + type: CreateOutputTypeCriblHTTP pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14354,47 +14569,93 @@ class CreateOutputOutputCriblTCP(BaseModel): load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None ) - r"""Use load-balanced destinations""" + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + token_ttl_minutes: Annotated[ + Optional[float], pydantic.Field(alias="tokenTTLMinutes") + ] = None + r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" + + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") + ] = None + r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" compression: Optional[CompressionOptionsGzipNone] = None r"""Codec to use to compress the data before sending""" - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Use to troubleshoot issues with sending data""" + r"""Maximum size, in KB, of the request body""" + + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - token_ttl_minutes: Annotated[ - Optional[float], pydantic.Field(alias="tokenTTLMinutes") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - auth_tokens: Annotated[ - Optional[List[AuthTokenConfInputCriblTCP]], pydantic.Field(alias="authTokens") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - exclude_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeFields") + auth_tokens: Annotated[ + Optional[List[AuthTokenConfOutputCriblHTTP]], pydantic.Field(alias="authTokens") ] = None - r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -14402,18 +14663,20 @@ class CreateOutputOutputCriblTCP(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - host: Optional[str] = None - r"""The hostname of the receiver""" + url: Optional[str] = None + r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - port: Optional[float] = None - r"""The port to connect to on the provided host""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: Optional[List[HostConfOutputSyslog]] = None - r"""Set of hosts to load-balance data to""" + urls: Optional[List[URLConfOutputCriblHTTP]] = None dns_resolve_period_sec: Annotated[ Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") @@ -14425,11 +14688,6 @@ class CreateOutputOutputCriblTCP(BaseModel): ] = None r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") - ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" - pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -14480,7 +14738,7 @@ class CreateOutputOutputCriblTCP(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsCriblTCP], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsCriblHTTP], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -14488,20 +14746,20 @@ class CreateOutputOutputCriblTCP(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" @field_serializer("compression") def serialize_compression(self, value): @@ -14512,6 +14770,15 @@ def serialize_compression(self, value): return value return value + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value + @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -14557,24 +14824,32 @@ def serialize_model(self, handler): "environment", "streamtags", "loadBalanced", - "compression", - "logFailedRequests", - "throttleRatePerSec", "tls", - "connectionTimeout", - "writeTimeout", "tokenTTLMinutes", - "authTokens", "excludeFields", + "compression", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "throttleRatePerSec", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "authTokens", "onBackpressure", "description", - "host", - "port", + "url", + "useRoundRobinDns", "excludeSelf", - "hosts", + "urls", "dnsResolvePeriodSec", "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14588,9 +14863,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_host", - "__template_port", + "__template_url", ] ) serialized = handler(self) @@ -14607,52 +14882,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypeDataset(str, Enum): - DATASET = "dataset" - - -class CreateOutputSeverityDataset(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - - # 0 - finest - FINEST = "finest" - # 1 - finer - FINER = "finer" - # 2 - fine - FINE = "fine" - # 3 - info - INFO = "info" - # 4 - warning - WARNING = "warning" - # 5 - error - ERROR = "error" - # 6 - fatal - FATAL = "fatal" - - -class CreateOutputDataSetSite(str, Enum, metaclass=utils.OpenEnumMeta): - r"""DataSet site to which events should be sent""" - - # US - US = "us" - # Europe - EU = "eu" - # Custom - CUSTOM = "custom" +class CreateOutputTypeCriblTCP(str, Enum): + CRIBL_TCP = "cribl_tcp" -class CreateOutputPqControlsDatasetTypedDict(TypedDict): +class CreateOutputPqControlsCriblTCPTypedDict(TypedDict): pass -class CreateOutputPqControlsDataset(BaseModel): +class CreateOutputPqControlsCriblTCP(BaseModel): pass -class CreateOutputOutputDatasetTypedDict(TypedDict): +class CreateOutputOutputCriblTCPTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDataset + type: CreateOutputTypeCriblTCP pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -14661,58 +14906,43 @@ class CreateOutputOutputDatasetTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - message_field: NotRequired[str] - r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" + load_balanced: NotRequired[bool] + r"""Use load-balanced destinations""" + compression: NotRequired[CompressionOptionsGzipNone] + r"""Codec to use to compress the data before sending""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + token_ttl_minutes: NotRequired[float] + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" + auth_tokens: NotRequired[List[AuthTokenConfInputCriblTCPTypedDict]] + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" exclude_fields: NotRequired[List[str]] - r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" - server_host_field: NotRequired[str] - r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" - timestamp_field: NotRequired[str] - r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" - default_severity: NotRequired[CreateOutputSeverityDataset] - r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - site: NotRequired[CreateOutputDataSetSite] - r"""DataSet site to which events should be sent""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" + r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - custom_url: NotRequired[str] + r"""Optional description for this configuration.""" + host: NotRequired[str] + r"""The hostname of the receiver""" + port: NotRequired[float] + r"""The port to connect to on the provided host""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] + r"""Set of hosts to load-balance data to""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14735,26 +14965,22 @@ class CreateOutputOutputDatasetTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsDatasetTypedDict] - api_key: NotRequired[str] - r"""A 'Log Write Access' API key for the DataSet account""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[CreateOutputPqControlsCriblTCPTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: NotRequired[str] - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" -class CreateOutputOutputDataset(BaseModel): +class CreateOutputOutputCriblTCP(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDataset + type: CreateOutputTypeCriblTCP pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14770,119 +14996,85 @@ class CreateOutputOutputDataset(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None - r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" - - exclude_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeFields") - ] = None - r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" - - server_host_field: Annotated[ - Optional[str], pydantic.Field(alias="serverHostField") - ] = None - r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" - - timestamp_field: Annotated[ - Optional[str], pydantic.Field(alias="timestampField") - ] = None - r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" - - default_severity: Annotated[ - Optional[CreateOutputSeverityDataset], pydantic.Field(alias="defaultSeverity") - ] = None - r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - - site: Optional[CreateOutputDataSetSite] = None - r"""DataSet site to which events should be sent""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Headers to add to all events""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + + token_ttl_minutes: Annotated[ + Optional[float], pydantic.Field(alias="tokenTTLMinutes") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCriblTCP]], pydantic.Field(alias="authTokens") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") ] = None - r"""List of headers that are safe to log in plain text""" + r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") - ] = None - r"""Enter API key directly, or select a stored secret""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + host: Optional[str] = None + r"""The hostname of the receiver""" + + port: Optional[float] = None + r"""The port to connect to on the provided host""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + hosts: Optional[List[HostConfOutputSyslog]] = None + r"""Set of hosts to load-balance data to""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - description: Optional[str] = None + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") + ] = None + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -14934,58 +15126,34 @@ class CreateOutputOutputDataset(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsDataset], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsCriblTCP], pydantic.Field(alias="pqControls") ] = None - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""A 'Log Write Access' API key for the DataSet account""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_customUrl") - ] = None - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" - - @field_serializer("default_severity") - def serialize_default_severity(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSeverityDataset(value) - except ValueError: - return value - return value + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - @field_serializer("site") - def serialize_site(self, value): - if isinstance(value, str): - try: - return models.CreateOutputDataSetSite(value) - except ValueError: - return value - return value + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("compression") + def serialize_compression(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CompressionOptionsGzipNone(value) except ValueError: return value return value @@ -14999,15 +15167,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAPI(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -15043,31 +15202,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "messageField", + "loadBalanced", + "compression", + "logFailedRequests", + "throttleRatePerSec", + "tls", + "connectionTimeout", + "writeTimeout", + "tokenTTLMinutes", + "authTokens", "excludeFields", - "serverHostField", - "timestampField", - "defaultSeverity", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "site", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", "onBackpressure", - "authType", - "totalMemoryLimitKB", "description", - "customUrl", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15080,12 +15233,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", - "textSecret", "__template_streamtags", - "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_customUrl", + "__template_host", + "__template_port", ] ) serialized = handler(self) @@ -15102,93 +15253,113 @@ def serialize_model(self, handler): return m -class CreateOutputTypeServiceNow(str, Enum): - SERVICE_NOW = "service_now" +class CreateOutputTypeDataset(str, Enum): + DATASET = "dataset" -class CreateOutputPqControlsServiceNowTypedDict(TypedDict): +class CreateOutputSeverityDataset(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" + + # 0 - finest + FINEST = "finest" + # 1 - finer + FINER = "finer" + # 2 - fine + FINE = "fine" + # 3 - info + INFO = "info" + # 4 - warning + WARNING = "warning" + # 5 - error + ERROR = "error" + # 6 - fatal + FATAL = "fatal" + + +class CreateOutputDataSetSite(str, Enum, metaclass=utils.OpenEnumMeta): + r"""DataSet site to which events should be sent""" + + # US + US = "us" + # Europe + EU = "eu" + # Custom + CUSTOM = "custom" + + +class CreateOutputPqControlsDatasetTypedDict(TypedDict): pass -class CreateOutputPqControlsServiceNow(BaseModel): +class CreateOutputPqControlsDataset(BaseModel): pass -class CreateOutputOutputServiceNowTypedDict(TypedDict): +class CreateOutputOutputDatasetTypedDict(TypedDict): id: str - r"""Unique ID for this output""" - type: CreateOutputTypeServiceNow - endpoint: str - r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - token_secret: str - r"""Select or create a stored text secret""" - otlp_version: OtlpVersionOptions131 - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - protocol: ProtocolOptions - r"""Select a transport option for OpenTelemetry""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - auth_token_name: NotRequired[str] - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - compress: NotRequired[CompressionOptionsDeflateGzip] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_compress: NotRequired[CompressionOptionsMessages] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_traces_endpoint_override: NotRequired[str] - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_metrics_endpoint_override: NotRequired[str] - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_logs_endpoint_override: NotRequired[str] - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - dynamic_headers_enabled: NotRequired[bool] - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: NotRequired[str] - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + r"""Unique ID for this output""" + type: CreateOutputTypeDataset + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + message_field: NotRequired[str] + r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" + exclude_fields: NotRequired[List[str]] + r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" + server_host_field: NotRequired[str] + r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" + timestamp_field: NotRequired[str] + r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" + default_severity: NotRequired[CreateOutputSeverityDataset] + r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + site: NotRequired[CreateOutputDataSetSite] + r"""DataSet site to which events should be sent""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - keep_alive_time: NotRequired[float] - r"""How often the sender should ping the peer to keep the connection open""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -15211,32 +15382,26 @@ class CreateOutputOutputServiceNowTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsServiceNowTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsDatasetTypedDict] + api_key: NotRequired[str] + r"""A 'Log Write Access' API key for the DataSet account""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_custom_url: NotRequired[str] + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" -class CreateOutputOutputServiceNow(BaseModel): +class CreateOutputOutputDataset(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeServiceNow - - endpoint: str - r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - - token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] - r"""Select or create a stored text secret""" - - otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - - protocol: ProtocolOptions - r"""Select a transport option for OpenTelemetry""" + type: CreateOutputTypeDataset pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -15252,87 +15417,62 @@ class CreateOutputOutputServiceNow(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( - None - ) + message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None + r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") ] = None - r"""Maximum size, in KB, of the request body""" - - compress: Optional[CompressionOptionsDeflateGzip] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" - http_compress: Annotated[ - Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + server_host_field: Annotated[ + Optional[str], pydantic.Field(alias="serverHostField") ] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" - http_traces_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + timestamp_field: Annotated[ + Optional[str], pydantic.Field(alias="timestampField") ] = None - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" - http_metrics_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") + default_severity: Annotated[ + Optional[CreateOutputSeverityDataset], pydantic.Field(alias="defaultSeverity") ] = None - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - http_logs_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - - metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: Annotated[ - Optional[str], pydantic.Field(alias="dynamicHeadersField") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + site: Optional[CreateOutputDataSetSite] = None + r"""DataSet site to which events should be sent""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - keep_alive_time: Annotated[ - Optional[float], pydantic.Field(alias="keepAliveTime") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""How often the sender should ping the peer to keep the connection open""" - - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + r"""Maximum size, in KB, of the request body""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - description: Optional[str] = None + compress: Optional[bool] = None + r"""Compress the payload body before sending""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -15342,10 +15482,13 @@ class CreateOutputOutputServiceNow(BaseModel): that value will take precedence. """ - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -15353,27 +15496,41 @@ class CreateOutputOutputServiceNow(BaseModel): ] = None r"""Headers to add to all events""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None r"""List of headers that are safe to log in plain text""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""How to handle events when all receivers are exerting backpressure""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") ] = None + r"""Enter API key directly, or select a stored secret""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - tls: Optional[TLSSettingsClientSideTypeExtended] = None + description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -15425,9 +15582,15 @@ class CreateOutputOutputServiceNow(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsServiceNow], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsDataset], pydantic.Field(alias="pqControls") ] = None + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""A 'Log Write Access' API key for the DataSet account""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None @@ -15438,43 +15601,30 @@ class CreateOutputOutputServiceNow(BaseModel): ] = None r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): - if isinstance(value, str): - try: - return models.OtlpVersionOptions131(value) - except ValueError: - return value - return value + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.ProtocolOptions(value) - except ValueError: - return value - return value + template_custom_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_customUrl") + ] = None + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("default_severity") + def serialize_default_severity(self, value): if isinstance(value, str): try: - return models.CompressionOptionsDeflateGzip(value) + return models.CreateOutputSeverityDataset(value) except ValueError: return value return value - @field_serializer("http_compress") - def serialize_http_compress(self, value): + @field_serializer("site") + def serialize_site(self, value): if isinstance(value, str): try: - return models.CompressionOptionsMessages(value) + return models.CreateOutputDataSetSite(value) except ValueError: return value return value @@ -15497,6 +15647,15 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAPI(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -15532,33 +15691,31 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "authTokenName", + "messageField", + "excludeFields", + "serverHostField", + "timestampField", + "defaultSeverity", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "site", + "concurrency", "maxPayloadSizeKB", + "maxPayloadEvents", "compress", - "httpCompress", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", - "concurrency", + "rejectUnauthorized", "timeoutSec", "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", + "safeHeaders", "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", - "rejectUnauthorized", - "useRoundRobinDns", - "extraHttpHeaders", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "tls", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15571,9 +15728,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_customUrl", ] ) serialized = handler(self) @@ -15590,50 +15750,30 @@ def serialize_model(self, handler): return m -class CreateOutputTypeOpenTelemetry(str, Enum): - OPEN_TELEMETRY = "open_telemetry" - - -class CreateOutputOTLPVersionOpenTelemetry(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - - # 0.10.0 - ZERO_DOT_10_DOT_0 = "0.10.0" - # 1.3.1 - ONE_DOT_3_DOT_1 = "1.3.1" - - -class CreateOutputAuthenticationTypeOpenTelemetry( - str, Enum, metaclass=utils.OpenEnumMeta -): - # None - NONE = "none" - # Basic - BASIC = "basic" - # Basic (credentials secret) - CREDENTIALS_SECRET = "credentialsSecret" - # Token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" - # OAuth (text secret) - OAUTH_SECRET = "oauthSecret" +class CreateOutputTypeServiceNow(str, Enum): + SERVICE_NOW = "service_now" -class CreateOutputPqControlsOpenTelemetryTypedDict(TypedDict): +class CreateOutputPqControlsServiceNowTypedDict(TypedDict): pass -class CreateOutputPqControlsOpenTelemetry(BaseModel): +class CreateOutputPqControlsServiceNow(BaseModel): pass -class CreateOutputOutputOpenTelemetryTypedDict(TypedDict): +class CreateOutputOutputServiceNowTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeOpenTelemetry + type: CreateOutputTypeServiceNow endpoint: str - r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" + r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" + token_secret: str + r"""Select or create a stored text secret""" + otlp_version: OtlpVersionOptions131 + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + protocol: ProtocolOptions + r"""Select a transport option for OpenTelemetry""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -15642,15 +15782,13 @@ class CreateOutputOutputOpenTelemetryTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - protocol: NotRequired[ProtocolOptions] - r"""Select a transport option for OpenTelemetry""" - otlp_version: NotRequired[CreateOutputOTLPVersionOpenTelemetry] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + auth_token_name: NotRequired[str] + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" compress: NotRequired[CompressionOptionsDeflateGzip] r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" http_compress: NotRequired[CompressionOptionsMessages] r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - auth_type: NotRequired[CreateOutputAuthenticationTypeOpenTelemetry] http_traces_endpoint_override: NotRequired[str] r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" http_metrics_endpoint_override: NotRequired[str] @@ -15665,8 +15803,6 @@ class CreateOutputOutputOpenTelemetryTypedDict(TypedDict): r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] @@ -15682,30 +15818,7 @@ class CreateOutputOutputOpenTelemetryTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - login_url: NotRequired[str] - r"""URL for OAuth""" - secret_param_name: NotRequired[str] - r"""Secret parameter name to pass in request body""" - oauth_text_secret: NotRequired[str] - r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" - token_attribute_name: NotRequired[str] - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - auth_header_expr: NotRequired[str] - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - token_timeout_secs: NotRequired[float] - r"""How often the OAuth token should be refreshed.""" - oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" - oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] - 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.""" + r"""Optional description for this configuration.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -15747,25 +15860,32 @@ class CreateOutputOutputOpenTelemetryTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsOpenTelemetryTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsServiceNowTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_login_url: NotRequired[str] - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" -class CreateOutputOutputOpenTelemetry(BaseModel): +class CreateOutputOutputServiceNow(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeOpenTelemetry + type: CreateOutputTypeServiceNow endpoint: str - r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" + r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" + + token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] + r"""Select or create a stored text secret""" + + otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + protocol: ProtocolOptions + r"""Select a transport option for OpenTelemetry""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -15781,14 +15901,14 @@ class CreateOutputOutputOpenTelemetry(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - protocol: Optional[ProtocolOptions] = None - r"""Select a transport option for OpenTelemetry""" + auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( + None + ) - otlp_version: Annotated[ - Optional[CreateOutputOTLPVersionOpenTelemetry], - pydantic.Field(alias="otlpVersion"), + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + r"""Maximum size, in KB, of the request body""" compress: Optional[CompressionOptionsDeflateGzip] = None r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" @@ -15798,11 +15918,6 @@ class CreateOutputOutputOpenTelemetry(BaseModel): ] = None r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - auth_type: Annotated[ - Optional[CreateOutputAuthenticationTypeOpenTelemetry], - pydantic.Field(alias="authType"), - ] = None - http_traces_endpoint_override: Annotated[ Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") ] = None @@ -15834,11 +15949,6 @@ class CreateOutputOutputOpenTelemetry(BaseModel): concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" @@ -15864,69 +15974,15 @@ class CreateOutputOutputOpenTelemetry(BaseModel): r"""How often the sender should ping the peer to keep the connection open""" keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None - - username: Optional[str] = None - - password: Optional[str] = None - - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") - ] = None - r"""Select or create a secret that references your credentials""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None - r"""URL for OAuth""" - - secret_param_name: Annotated[ - Optional[str], pydantic.Field(alias="secretParamName") - ] = None - r"""Secret parameter name to pass in request body""" - - oauth_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="oauthTextSecret") - ] = None - r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" - - token_attribute_name: Annotated[ - Optional[str], pydantic.Field(alias="tokenAttributeName") - ] = None - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - - auth_header_expr: Annotated[ - Optional[str], pydantic.Field(alias="authHeaderExpr") - ] = None - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - - token_timeout_secs: Annotated[ - Optional[float], pydantic.Field(alias="tokenTimeoutSecs") - ] = None - r"""How often the OAuth token should be refreshed.""" - - oauth_params: Annotated[ - Optional[List[OauthParamConfInputServicenowTable]], - pydantic.Field(alias="oauthParams"), - ] = None - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + r"""Disable to close the connection immediately after sending the outgoing request""" - oauth_headers: Annotated[ - Optional[List[OauthHeaderConfInputServicenowTable]], - pydantic.Field(alias="oauthHeaders"), + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - 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.""" + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -16019,8 +16075,7 @@ class CreateOutputOutputOpenTelemetry(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsOpenTelemetry], - pydantic.Field(alias="pqControls"), + Optional[CreateOutputPqControlsServiceNow], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -16038,25 +16093,20 @@ class CreateOutputOutputOpenTelemetry(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_login_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_loginUrl") - ] = None - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - - @field_serializer("protocol") - def serialize_protocol(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.ProtocolOptions(value) + return models.OtlpVersionOptions131(value) except ValueError: return value return value - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.CreateOutputOTLPVersionOpenTelemetry(value) + return models.ProtocolOptions(value) except ValueError: return value return value @@ -16079,15 +16129,6 @@ def serialize_http_compress(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputAuthenticationTypeOpenTelemetry(value) - except ValueError: - return value - return value - @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -16141,226 +16182,47 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "protocol", - "otlpVersion", - "compress", - "httpCompress", - "authType", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", - "concurrency", + "authTokenName", "maxPayloadSizeKB", - "timeoutSec", - "flushPeriodSec", - "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", - "onBackpressure", - "description", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "loginUrl", - "secretParamName", - "oauthTextSecret", - "tokenAttributeName", - "authHeaderExpr", - "tokenTimeoutSecs", - "oauthParams", - "oauthHeaders", - "rejectUnauthorized", - "useRoundRobinDns", - "extraHttpHeaders", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "tls", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_loginUrl", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeRing(str, Enum): - RING = "ring" - - -class CreateOutputDataFormatRing(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Format of the output data.""" - - JSON = "json" - RAW = "raw" - - -class CreateOutputOutputRingTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeRing - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - format_: NotRequired[CreateOutputDataFormatRing] - r"""Format of the output data.""" - partition_expr: NotRequired[str] - r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" - max_data_size: NotRequired[str] - r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" - max_data_time: NotRequired[str] - r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" - compress: NotRequired[DataCompressionFormatOptionsPersistence] - dest_path: NotRequired[str] - r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - -class CreateOutputOutputRing(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeRing - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - format_: Annotated[ - Optional[CreateOutputDataFormatRing], pydantic.Field(alias="format") - ] = None - r"""Format of the output data.""" - - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" - - max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None - r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" - - max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None - r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" - - compress: Optional[DataCompressionFormatOptionsPersistence] = None - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.CreateOutputDataFormatRing(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.DataCompressionFormatOptionsPersistence(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptionsBlockDrop(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "format", - "partitionExpr", - "maxDataSize", - "maxDataTime", "compress", - "destPath", + "httpCompress", + "httpTracesEndpointOverride", + "httpMetricsEndpointOverride", + "httpLogsEndpointOverride", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", + "concurrency", + "timeoutSec", + "flushPeriodSec", + "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", "onBackpressure", "description", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "tls", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", ] ) @@ -16378,13 +16240,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypePrometheus(str, Enum): - PROMETHEUS = "prometheus" +class CreateOutputTypeOpenTelemetry(str, Enum): + OPEN_TELEMETRY = "open_telemetry" -class CreateOutputAuthenticationTypePrometheus(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Remote Write authentication type""" +class CreateOutputOTLPVersionOpenTelemetry(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + # 0.10.0 + ZERO_DOT_10_DOT_0 = "0.10.0" + # 1.3.1 + ONE_DOT_3_DOT_1 = "1.3.1" + +class CreateOutputAuthenticationTypeOpenTelemetry( + str, Enum, metaclass=utils.OpenEnumMeta +): # None NONE = "none" # Basic @@ -16395,59 +16266,106 @@ class CreateOutputAuthenticationTypePrometheus(str, Enum, metaclass=utils.OpenEn TOKEN = "token" # Token (text secret) TEXT_SECRET = "textSecret" - # AWS Signature v4 - AWS_SIGV4 = "aws_sigv4" + # OAuth (text secret) + OAUTH_SECRET = "oauthSecret" -class CreateOutputPqControlsPrometheusTypedDict(TypedDict): +class CreateOutputPqControlsOpenTelemetryTypedDict(TypedDict): pass -class CreateOutputPqControlsPrometheus(BaseModel): +class CreateOutputPqControlsOpenTelemetry(BaseModel): pass -class CreateOutputOutputPrometheusTypedDict(TypedDict): +class CreateOutputOutputOpenTelemetryTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypePrometheus - url: str - r"""The endpoint to send metrics to""" + type: CreateOutputTypeOpenTelemetry + endpoint: str + r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - metric_rename_expr: NotRequired[str] - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - send_metadata: NotRequired[bool] - r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" - use_prometheus_histogram_bucket_suffix: NotRequired[bool] - r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" + protocol: NotRequired[ProtocolOptions] + r"""Select a transport option for OpenTelemetry""" + otlp_version: NotRequired[CreateOutputOTLPVersionOpenTelemetry] + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + compress: NotRequired[CompressionOptionsDeflateGzip] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + http_compress: NotRequired[CompressionOptionsMessages] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + auth_type: NotRequired[CreateOutputAuthenticationTypeOpenTelemetry] + http_traces_endpoint_override: NotRequired[str] + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_metrics_endpoint_override: NotRequired[str] + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_logs_endpoint_override: NotRequired[str] + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + dynamic_headers_enabled: NotRequired[bool] + r"""Batch event data upon dynamic metadata (whether presented or not)""" + dynamic_headers_field: NotRequired[str] + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + keep_alive_time: NotRequired[float] + r"""How often the sender should ping the peer to keep the connection open""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + login_url: NotRequired[str] + r"""URL for OAuth""" + secret_param_name: NotRequired[str] + r"""Secret parameter name to pass in request body""" + oauth_text_secret: NotRequired[str] + r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" + token_attribute_name: NotRequired[str] + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + auth_header_expr: NotRequired[str] + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + token_timeout_secs: NotRequired[float] + r"""How often the OAuth token should be refreshed.""" + oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] + 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.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" response_retry_settings: NotRequired[ @@ -16457,13 +16375,7 @@ class CreateOutputOutputPrometheusTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputAuthenticationTypePrometheus] - r"""Remote Write authentication type""" - description: NotRequired[str] - metrics_flush_period_sec: NotRequired[float] - r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" + tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -16486,99 +16398,187 @@ class CreateOutputOutputPrometheusTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsPrometheusTypedDict] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - region: NotRequired[str] - r"""AWS region used to sign Remote Write requests""" - aws_service: NotRequired[str] - r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access Prometheus""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" + pq_controls: NotRequired[CreateOutputPqControlsOpenTelemetryTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_aws_service: NotRequired[str] - r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_login_url: NotRequired[str] + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" + + +class CreateOutputOutputOpenTelemetry(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeOpenTelemetry + + endpoint: str + r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + protocol: Optional[ProtocolOptions] = None + r"""Select a transport option for OpenTelemetry""" + + otlp_version: Annotated[ + Optional[CreateOutputOTLPVersionOpenTelemetry], + pydantic.Field(alias="otlpVersion"), + ] = None + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + compress: Optional[CompressionOptionsDeflateGzip] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + + http_compress: Annotated[ + Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + ] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + + auth_type: Annotated[ + Optional[CreateOutputAuthenticationTypeOpenTelemetry], + pydantic.Field(alias="authType"), + ] = None + + http_traces_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + ] = None + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + + http_metrics_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") + ] = None + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + + http_logs_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") + ] = None + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + + metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + dynamic_headers_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") + ] = None + r"""Batch event data upon dynamic metadata (whether presented or not)""" -class CreateOutputOutputPrometheus(BaseModel): - id: str - r"""Unique ID for this output""" + dynamic_headers_field: Annotated[ + Optional[str], pydantic.Field(alias="dynamicHeadersField") + ] = None + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - type: CreateOutputTypePrometheus + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - url: str - r"""The endpoint to send metrics to""" + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = None + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - metric_rename_expr: Annotated[ - Optional[str], pydantic.Field(alias="metricRenameExpr") + keep_alive_time: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTime") ] = None - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" + r"""How often the sender should ping the peer to keep the connection open""" - send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( - None - ) - r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" - use_prometheus_histogram_bucket_suffix: Annotated[ - Optional[bool], pydantic.Field(alias="usePrometheusHistogramBucketSuffix") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" + r"""How to handle events when all receivers are exerting backpressure""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Select or create a secret that references your credentials""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None + r"""URL for OAuth""" + + secret_param_name: Annotated[ + Optional[str], pydantic.Field(alias="secretParamName") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Secret parameter name to pass in request body""" + + oauth_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="oauthTextSecret") + ] = None + r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" + + token_attribute_name: Annotated[ + Optional[str], pydantic.Field(alias="tokenAttributeName") + ] = None + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + + auth_header_expr: Annotated[ + Optional[str], pydantic.Field(alias="authHeaderExpr") + ] = None + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + + token_timeout_secs: Annotated[ + Optional[float], pydantic.Field(alias="tokenTimeoutSecs") + ] = None + r"""How often the OAuth token should be refreshed.""" + + oauth_params: Annotated[ + Optional[List[OauthParamConfInputServicenowTable]], + pydantic.Field(alias="oauthParams"), + ] = None + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + + oauth_headers: Annotated[ + Optional[List[OauthHeaderConfInputServicenowTable]], + pydantic.Field(alias="oauthHeaders"), + ] = None + 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.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -16588,13 +16588,10 @@ class CreateOutputOutputPrometheus(BaseModel): that value will take precedence. """ - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -16602,17 +16599,6 @@ class CreateOutputOutputPrometheus(BaseModel): ] = None r"""Headers to add to all events""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None @@ -16633,23 +16619,7 @@ class CreateOutputOutputPrometheus(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - auth_type: Annotated[ - Optional[CreateOutputAuthenticationTypePrometheus], - pydantic.Field(alias="authType"), - ] = None - r"""Remote Write authentication type""" - - description: Optional[str] = None - - metrics_flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="metricsFlushPeriodSec") - ] = None - r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" + tls: Optional[TLSSettingsClientSideTypeExtended] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -16701,69 +16671,15 @@ class CreateOutputOutputPrometheus(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsPrometheus], pydantic.Field(alias="pqControls") - ] = None - - username: Optional[str] = None - - password: Optional[str] = None - - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") - ] = None - r"""Select or create a secret that references your credentials""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsAutoSecret], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - region: Optional[str] = None - r"""AWS region used to sign Remote Write requests""" - - aws_service: Annotated[Optional[str], pydantic.Field(alias="awsService")] = None - r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" - - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") - ] = None - r"""Use Assume Role credentials to access Prometheus""" - - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" - - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" - - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + Optional[CreateOutputPqControlsOpenTelemetry], + pydantic.Field(alias="pqControls"), ] = None - 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).""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -16774,40 +16690,43 @@ class CreateOutputOutputPrometheus(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_aws_service: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsService") - ] = None - r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" - - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + template_login_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_loginUrl") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + @field_serializer("protocol") + def serialize_protocol(self, value): + if isinstance(value, str): + try: + return models.ProtocolOptions(value) + except ValueError: + return value + return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): + if isinstance(value, str): + try: + return models.CreateOutputOTLPVersionOpenTelemetry(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CompressionOptionsDeflateGzip(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("http_compress") + def serialize_http_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptionsMessages(value) except ValueError: return value return value @@ -16816,7 +16735,25 @@ def serialize_on_backpressure(self, value): def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputAuthenticationTypePrometheus(value) + return models.CreateOutputAuthenticationTypeOpenTelemetry(value) + except ValueError: + return value + return value + + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -16848,15 +16785,6 @@ def serialize_pq_on_backpressure(self, value): return value return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAutoSecret(value) - except ValueError: - return value - return value - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -16865,59 +16793,229 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "metricRenameExpr", - "sendMetadata", - "usePrometheusHistogramBucketSuffix", + "protocol", + "otlpVersion", + "compress", + "httpCompress", + "authType", + "httpTracesEndpointOverride", + "httpMetricsEndpointOverride", + "httpLogsEndpointOverride", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", - "maxPayloadEvents", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", + "onBackpressure", + "description", + "username", + "password", + "token", + "credentialsSecret", + "textSecret", + "loginUrl", + "secretParamName", + "oauthTextSecret", + "tokenAttributeName", + "authHeaderExpr", + "tokenTimeoutSecs", + "oauthParams", + "oauthHeaders", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", "safeHeaders", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "tls", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_loginUrl", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputTypeRing(str, Enum): + RING = "ring" + + +class CreateOutputDataFormatRing(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Format of the output data.""" + + JSON = "json" + RAW = "raw" + + +class CreateOutputOutputRingTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeRing + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + format_: NotRequired[CreateOutputDataFormatRing] + r"""Format of the output data.""" + partition_expr: NotRequired[str] + r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" + max_data_size: NotRequired[str] + r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" + max_data_time: NotRequired[str] + r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" + compress: NotRequired[DataCompressionFormatOptionsPersistence] + dest_path: NotRequired[str] + r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + +class CreateOutputOutputRing(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeRing + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + format_: Annotated[ + Optional[CreateOutputDataFormatRing], pydantic.Field(alias="format") + ] = None + r"""Format of the output data.""" + + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" + + max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None + r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" + + max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None + r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" + + compress: Optional[DataCompressionFormatOptionsPersistence] = None + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.CreateOutputDataFormatRing(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.DataCompressionFormatOptionsPersistence(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptionsBlockDrop(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "format", + "partitionExpr", + "maxDataSize", + "maxDataTime", + "compress", + "destPath", "onBackpressure", - "authType", "description", - "metricsFlushPeriodSec", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "awsAuthenticationMethod", - "awsSecret", - "region", - "awsService", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_region", - "__template_awsService", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", ] ) serialized = handler(self) @@ -16934,47 +17032,61 @@ def serialize_model(self, handler): return m -class CreateOutputTypeLoki(str, Enum): - LOKI = "loki" +class CreateOutputTypePrometheus(str, Enum): + PROMETHEUS = "prometheus" -class CreateOutputPqControlsLokiTypedDict(TypedDict): +class CreateOutputAuthenticationTypePrometheus(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Remote Write authentication type""" + + # None + NONE = "none" + # Basic + BASIC = "basic" + # Basic (credentials secret) + CREDENTIALS_SECRET = "credentialsSecret" + # Token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" + # AWS Signature v4 + AWS_SIGV4 = "aws_sigv4" + + +class CreateOutputPqControlsPrometheusTypedDict(TypedDict): pass -class CreateOutputPqControlsLoki(BaseModel): +class CreateOutputPqControlsPrometheus(BaseModel): pass -class CreateOutputOutputLokiTypedDict(TypedDict): +class CreateOutputOutputPrometheusTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeLoki + type: CreateOutputTypePrometheus url: str - r"""The endpoint to send logs to""" + r"""The endpoint to send metrics to""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - message: NotRequired[str] - r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - message_format: NotRequired[MessageFormatOptions] - r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - labels: NotRequired[List[HTTPDiscoveryHeaderConfInputPrometheusTypedDict]] - r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - auth_type: NotRequired[ - AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret - ] + metric_rename_expr: NotRequired[str] + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" + send_metadata: NotRequired[bool] + r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" + use_prometheus_histogram_bucket_suffix: NotRequired[bool] + r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -16983,7 +17095,7 @@ class CreateOutputOutputLokiTypedDict(TypedDict): timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] @@ -16999,25 +17111,14 @@ class CreateOutputOutputLokiTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - enable_dynamic_headers: NotRequired[bool] - r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + auth_type: NotRequired[CreateOutputAuthenticationTypePrometheus] + r"""Remote Write authentication type""" description: NotRequired[str] - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - token: NotRequired[str] - r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - username: NotRequired[str] - r"""Username for authentication""" - password: NotRequired[str] - r"""Password (API key in Grafana Cloud domain) for authentication""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" + r"""Optional description for this configuration.""" + metrics_flush_period_sec: NotRequired[float] + r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -17040,23 +17141,57 @@ class CreateOutputOutputLokiTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsLokiTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsPrometheusTypedDict] + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + region: NotRequired[str] + r"""AWS region used to sign Remote Write requests""" + aws_service: NotRequired[str] + r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access Prometheus""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_aws_service: NotRequired[str] + r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" -class CreateOutputOutputLoki(BaseModel): +class CreateOutputOutputPrometheus(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeLoki + type: CreateOutputTypePrometheus url: str - r"""The endpoint to send logs to""" + r"""The endpoint to send metrics to""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17064,7 +17199,7 @@ class CreateOutputOutputLoki(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -17072,34 +17207,33 @@ class CreateOutputOutputLoki(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - message: Optional[str] = None - r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - - message_format: Annotated[ - Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + metric_rename_expr: Annotated[ + Optional[str], pydantic.Field(alias="metricRenameExpr") ] = None - r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - labels: Optional[List[HTTPDiscoveryHeaderConfInputPrometheus]] = None - r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" + send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( + None + ) + r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" - auth_type: Annotated[ - Optional[AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret], - pydantic.Field(alias="authType"), + use_prometheus_histogram_bucket_suffix: Annotated[ + Optional[bool], pydantic.Field(alias="usePrometheusHistogramBucketSuffix") ] = None + r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -17115,7 +17249,7 @@ class CreateOutputOutputLoki(BaseModel): flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -17154,42 +17288,24 @@ class CreateOutputOutputLoki(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - enable_dynamic_headers: Annotated[ - Optional[bool], pydantic.Field(alias="enableDynamicHeaders") - ] = None - r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + auth_type: Annotated[ + Optional[CreateOutputAuthenticationTypePrometheus], + pydantic.Field(alias="authType"), ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""Remote Write authentication type""" description: Optional[str] = None + r"""Optional description for this configuration.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" - - token: Optional[str] = None - r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - username: Optional[str] = None - r"""Username for authentication""" - - password: Optional[str] = None - r"""Password (API key in Grafana Cloud domain) for authentication""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + metrics_flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="metricsFlushPeriodSec") ] = None - r"""Select or create a secret that references your credentials""" + r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17233,22 +17349,77 @@ class CreateOutputOutputLoki(BaseModel): pq_on_backpressure: Annotated[ Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[CreateOutputPqControlsPrometheus], pydantic.Field(alias="pqControls") + ] = None + + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsAutoSecret], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + region: Optional[str] = None + r"""AWS region used to sign Remote Write requests""" + + aws_service: Annotated[Optional[str], pydantic.Field(alias="awsService")] = None + r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access Prometheus""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""External ID to use when assuming role""" - pq_controls: Annotated[ - Optional[CreateOutputPqControlsLoki], pydantic.Field(alias="pqControls") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = None + 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).""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -17259,25 +17430,25 @@ class CreateOutputOutputLoki(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("message_format") - def serialize_message_format(self, value): - if isinstance(value, str): - try: - return models.MessageFormatOptions(value) - except ValueError: - return value - return value + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret( - value - ) - except ValueError: - return value - return value + template_aws_service: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsService") + ] = None + r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): @@ -17297,6 +17468,15 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.CreateOutputAuthenticationTypePrometheus(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -17324,6 +17504,15 @@ def serialize_pq_on_backpressure(self, value): return value return value + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAutoSecret(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -17332,10 +17521,9 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "message", - "messageFormat", - "labels", - "authType", + "metricRenameExpr", + "sendMetadata", + "usePrometheusHistogramBucketSuffix", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -17349,16 +17537,10 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "enableDynamicHeaders", "onBackpressure", - "totalMemoryLimitKB", + "authType", "description", - "compress", - "token", - "textSecret", - "username", - "password", - "credentialsSecret", + "metricsFlushPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17371,9 +17553,27 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "username", + "password", + "token", + "credentialsSecret", + "textSecret", + "awsAuthenticationMethod", + "awsSecret", + "region", + "awsService", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", "__template_streamtags", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_region", + "__template_awsService", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", ] ) serialized = handler(self) @@ -17390,50 +17590,47 @@ def serialize_model(self, handler): return m -class CreateOutputOutputGrafanaCloudType2(str, Enum): - GRAFANA_CLOUD = "grafana_cloud" +class CreateOutputTypeLoki(str, Enum): + LOKI = "loki" -class CreateOutputOutputGrafanaCloudPqControls2TypedDict(TypedDict): +class CreateOutputPqControlsLokiTypedDict(TypedDict): pass -class CreateOutputOutputGrafanaCloudPqControls2(BaseModel): +class CreateOutputPqControlsLoki(BaseModel): pass -class CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): +class CreateOutputOutputLokiTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputOutputGrafanaCloudType2 - prometheus_url: str - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + type: CreateOutputTypeLoki + url: str + r"""The endpoint to send logs to""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - loki_url: NotRequired[str] - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" message: NotRequired[str] r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" message_format: NotRequired[MessageFormatOptions] r"""Format to use when sending logs to Loki (Protobuf or JSON)""" labels: NotRequired[List[HTTPDiscoveryHeaderConfInputPrometheusTypedDict]] r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - metric_rename_expr: NotRequired[str] - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - prometheus_auth: NotRequired[PrometheusAuthTypeTypedDict] - loki_auth: NotRequired[PrometheusAuthTypeTypedDict] + auth_type: NotRequired[ + AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret + ] concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -17442,7 +17639,7 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] @@ -17458,11 +17655,26 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + enable_dynamic_headers: NotRequired[bool] + r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[bool] - r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" + r"""Compress the payload body before sending""" + token: NotRequired[str] + r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + username: NotRequired[str] + r"""Username for authentication""" + password: NotRequired[str] + r"""Password (API key in Grafana Cloud domain) for authentication""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -17485,27 +17697,23 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputOutputGrafanaCloudPqControls2TypedDict] + pq_controls: NotRequired[CreateOutputPqControlsLokiTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_loki_url: NotRequired[str] - r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" - template_prometheus_url: NotRequired[str] - r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): +class CreateOutputOutputLoki(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputOutputGrafanaCloudType2 + type: CreateOutputTypeLoki - prometheus_url: Annotated[str, pydantic.Field(alias="prometheusUrl")] - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + url: str + r"""The endpoint to send logs to""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17513,7 +17721,7 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -17521,9 +17729,6 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - loki_url: Annotated[Optional[str], pydantic.Field(alias="lokiUrl")] = None - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" - message: Optional[str] = None r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" @@ -17535,31 +17740,23 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): labels: Optional[List[HTTPDiscoveryHeaderConfInputPrometheus]] = None r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - metric_rename_expr: Annotated[ - Optional[str], pydantic.Field(alias="metricRenameExpr") - ] = None - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - - prometheus_auth: Annotated[ - Optional[PrometheusAuthType], pydantic.Field(alias="prometheusAuth") - ] = None - - loki_auth: Annotated[ - Optional[PrometheusAuthType], pydantic.Field(alias="lokiAuth") + auth_type: Annotated[ + Optional[AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret], + pydantic.Field(alias="authType"), ] = None concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -17575,7 +17772,7 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -17614,15 +17811,43 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + enable_dynamic_headers: Annotated[ + Optional[bool], pydantic.Field(alias="enableDynamicHeaders") + ] = None + r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" + on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[bool] = None - r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" + r"""Compress the payload body before sending""" + + token: Optional[str] = None + r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + username: Optional[str] = None + r"""Username for authentication""" + + password: Optional[str] = None + r"""Password (API key in Grafana Cloud domain) for authentication""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17674,8 +17899,7 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputOutputGrafanaCloudPqControls2], - pydantic.Field(alias="pqControls"), + Optional[CreateOutputPqControlsLoki], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -17683,16 +17907,6 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_loki_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_lokiUrl") - ] = None - r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" - - template_prometheus_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_prometheusUrl") - ] = None - r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -17703,11 +17917,22 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("message_format") - def serialize_message_format(self, value): + @field_serializer("message_format") + def serialize_message_format(self, value): + if isinstance(value, str): + try: + return models.MessageFormatOptions(value) + except ValueError: + return value + return value + + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.MessageFormatOptions(value) + return models.AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret( + value + ) except ValueError: return value return value @@ -17765,13 +17990,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "lokiUrl", "message", "messageFormat", "labels", - "metricRenameExpr", - "prometheusAuth", - "lokiAuth", + "authType", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -17785,9 +18007,16 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "enableDynamicHeaders", "onBackpressure", + "totalMemoryLimitKB", "description", "compress", + "token", + "textSecret", + "username", + "password", + "credentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17801,8 +18030,6 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_lokiUrl", - "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -17821,24 +18048,24 @@ def serialize_model(self, handler): return m -class CreateOutputOutputGrafanaCloudType1(str, Enum): +class CreateOutputOutputGrafanaCloudType2(str, Enum): GRAFANA_CLOUD = "grafana_cloud" -class CreateOutputOutputGrafanaCloudPqControls1TypedDict(TypedDict): +class CreateOutputOutputGrafanaCloudPqControls2TypedDict(TypedDict): pass -class CreateOutputOutputGrafanaCloudPqControls1(BaseModel): +class CreateOutputOutputGrafanaCloudPqControls2(BaseModel): pass -class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): +class CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputOutputGrafanaCloudType1 - loki_url: str - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" + type: CreateOutputOutputGrafanaCloudType2 + prometheus_url: str + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -17847,8 +18074,8 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - prometheus_url: NotRequired[str] - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + loki_url: NotRequired[str] + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" message: NotRequired[str] r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" message_format: NotRequired[MessageFormatOptions] @@ -17892,6 +18119,7 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[bool] r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: NotRequired[bool] @@ -17916,7 +18144,7 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputOutputGrafanaCloudPqControls1TypedDict] + pq_controls: NotRequired[CreateOutputOutputGrafanaCloudPqControls2TypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_loki_url: NotRequired[str] @@ -17929,14 +18157,14 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputGrafanaCloudGrafanaCloud1(BaseModel): +class CreateOutputOutputGrafanaCloudGrafanaCloud2(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputOutputGrafanaCloudType1 + type: CreateOutputOutputGrafanaCloudType2 - loki_url: Annotated[str, pydantic.Field(alias="lokiUrl")] - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" + prometheus_url: Annotated[str, pydantic.Field(alias="prometheusUrl")] + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17952,10 +18180,8 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - prometheus_url: Annotated[Optional[str], pydantic.Field(alias="prometheusUrl")] = ( - None - ) - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + loki_url: Annotated[Optional[str], pydantic.Field(alias="lokiUrl")] = None + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" message: Optional[str] = None r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" @@ -18053,6 +18279,7 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[bool] = None r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" @@ -18107,7 +18334,7 @@ class CreateOutputOutputGrafanaCloudGrafanaCloud1(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputOutputGrafanaCloudPqControls1], + Optional[CreateOutputOutputGrafanaCloudPqControls2], pydantic.Field(alias="pqControls"), ] = None @@ -18198,7 +18425,7 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "prometheusUrl", + "lokiUrl", "message", "messageFormat", "labels", @@ -18254,127 +18481,50 @@ def serialize_model(self, handler): return m -CreateOutputOutputGrafanaCloudUnionTypedDict = TypeAliasType( - "CreateOutputOutputGrafanaCloudUnionTypedDict", - Union[ - CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict, - CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict, - ], -) - - -CreateOutputOutputGrafanaCloudUnion = TypeAliasType( - "CreateOutputOutputGrafanaCloudUnion", - Union[ - CreateOutputOutputGrafanaCloudGrafanaCloud1, - CreateOutputOutputGrafanaCloudGrafanaCloud2, - ], -) - - -class CreateOutputTypeDatadog(str, Enum): - DATADOG = "datadog" - - -class CreateOutputSendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The content type to use when sending logs""" - - # text/plain - TEXT = "text" - # application/json - JSON = "json" - - -class CreateOutputSeverityDatadog(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" - - # emergency - EMERGENCY = "emergency" - # alert - ALERT = "alert" - # critical - CRITICAL = "critical" - # error - ERROR = "error" - # warning - WARNING = "warning" - # notice - NOTICE = "notice" - # info - INFO = "info" - # debug - DEBUG = "debug" - - -class CreateOutputDatadogSite(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Datadog site to which events should be sent""" - - # US - US = "us" - # US3 - US3 = "us3" - # US5 - US5 = "us5" - # Europe - EU = "eu" - # US1-FED - FED1 = "fed1" - # AP1 - AP1 = "ap1" - # Custom - CUSTOM = "custom" +class CreateOutputOutputGrafanaCloudType1(str, Enum): + GRAFANA_CLOUD = "grafana_cloud" -class CreateOutputPqControlsDatadogTypedDict(TypedDict): +class CreateOutputOutputGrafanaCloudPqControls1TypedDict(TypedDict): pass -class CreateOutputPqControlsDatadog(BaseModel): +class CreateOutputOutputGrafanaCloudPqControls1(BaseModel): pass -class CreateOutputOutputDatadogTypedDict(TypedDict): +class CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDatadog + type: CreateOutputOutputGrafanaCloudType1 + loki_url: str + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - content_type: NotRequired[CreateOutputSendLogsAs] - r"""The content type to use when sending logs""" + prometheus_url: NotRequired[str] + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" message: NotRequired[str] r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - source: NotRequired[str] - r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" - host: NotRequired[str] - r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" - service: NotRequired[str] - r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" - tags: NotRequired[List[str]] - r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" - batch_by_tags: NotRequired[bool] - r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" - allow_api_key_from_events: NotRequired[bool] - r"""Allow API key to be set from the event's '__agent_api_key' field""" - severity: NotRequired[CreateOutputSeverityDatadog] - r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" - site: NotRequired[CreateOutputDatadogSite] - r"""Datadog site to which events should be sent""" - send_counters_as_count: NotRequired[bool] - r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" + message_format: NotRequired[MessageFormatOptions] + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + labels: NotRequired[List[HTTPDiscoveryHeaderConfInputPrometheusTypedDict]] + r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" + metric_rename_expr: NotRequired[str] + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" + prometheus_auth: NotRequired[PrometheusAuthTypeTypedDict] + loki_auth: NotRequired[PrometheusAuthTypeTypedDict] concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -18383,7 +18533,7 @@ class CreateOutputOutputDatadogTypedDict(TypedDict): timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] @@ -18401,12 +18551,10 @@ class CreateOutputOutputDatadogTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - custom_url: NotRequired[str] + r"""Optional description for this configuration.""" + compress: NotRequired[bool] + r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -18429,26 +18577,27 @@ class CreateOutputOutputDatadogTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsDatadogTypedDict] - api_key: NotRequired[str] - r"""Organization's API key in Datadog""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[CreateOutputOutputGrafanaCloudPqControls1TypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_tags: NotRequired[str] - r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" + template_loki_url: NotRequired[str] + r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" + template_prometheus_url: NotRequired[str] + r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputDatadog(BaseModel): +class CreateOutputOutputGrafanaCloudGrafanaCloud1(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeDatadog + type: CreateOutputOutputGrafanaCloudType1 + + loki_url: Annotated[str, pydantic.Field(alias="lokiUrl")] + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -18456,7 +18605,7 @@ class CreateOutputOutputDatadog(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -18464,60 +18613,47 @@ class CreateOutputOutputDatadog(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - content_type: Annotated[ - Optional[CreateOutputSendLogsAs], pydantic.Field(alias="contentType") - ] = None - r"""The content type to use when sending logs""" + prometheus_url: Annotated[Optional[str], pydantic.Field(alias="prometheusUrl")] = ( + None + ) + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" message: Optional[str] = None r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - source: Optional[str] = None - r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" - - host: Optional[str] = None - r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" - - service: Optional[str] = None - r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" - - tags: Optional[List[str]] = None - r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" + message_format: Annotated[ + Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + ] = None + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - batch_by_tags: Annotated[Optional[bool], pydantic.Field(alias="batchByTags")] = None - r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" + labels: Optional[List[HTTPDiscoveryHeaderConfInputPrometheus]] = None + r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - allow_api_key_from_events: Annotated[ - Optional[bool], pydantic.Field(alias="allowApiKeyFromEvents") + metric_rename_expr: Annotated[ + Optional[str], pydantic.Field(alias="metricRenameExpr") ] = None - r"""Allow API key to be set from the event's '__agent_api_key' field""" - - severity: Optional[CreateOutputSeverityDatadog] = None - r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - site: Optional[CreateOutputDatadogSite] = None - r"""Datadog site to which events should be sent""" + prometheus_auth: Annotated[ + Optional[PrometheusAuthType], pydantic.Field(alias="prometheusAuth") + ] = None - send_counters_as_count: Annotated[ - Optional[bool], pydantic.Field(alias="sendCountersAsCount") + loki_auth: Annotated[ + Optional[PrometheusAuthType], pydantic.Field(alias="lokiAuth") ] = None - r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -18533,7 +18669,7 @@ class CreateOutputOutputDatadog(BaseModel): flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -18577,19 +18713,11 @@ class CreateOutputOutputDatadog(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") - ] = None - r"""Enter API key directly, or select a stored secret""" - - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None + compress: Optional[bool] = None + r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -18641,24 +18769,24 @@ class CreateOutputOutputDatadog(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsDatadog], pydantic.Field(alias="pqControls") + Optional[CreateOutputOutputGrafanaCloudPqControls1], + pydantic.Field(alias="pqControls"), ] = None - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""Organization's API key in Datadog""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_tags: Annotated[Optional[str], pydantic.Field(alias="__template_tags")] = ( - None - ) - r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" + template_loki_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_lokiUrl") + ] = None + r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" + + template_prometheus_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_prometheusUrl") + ] = None + r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -18670,29 +18798,11 @@ class CreateOutputOutputDatadog(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("content_type") - def serialize_content_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSendLogsAs(value) - except ValueError: - return value - return value - - @field_serializer("severity") - def serialize_severity(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSeverityDatadog(value) - except ValueError: - return value - return value - - @field_serializer("site") - def serialize_site(self, value): + @field_serializer("message_format") + def serialize_message_format(self, value): if isinstance(value, str): try: - return models.CreateOutputDatadogSite(value) + return models.MessageFormatOptions(value) except ValueError: return value return value @@ -18715,15 +18825,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAPI(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -18759,21 +18860,16 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "contentType", + "prometheusUrl", "message", - "source", - "host", - "service", - "tags", - "batchByTags", - "allowApiKeyFromEvents", - "severity", - "site", - "sendCountersAsCount", + "messageFormat", + "labels", + "metricRenameExpr", + "prometheusAuth", + "lokiAuth", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", @@ -18785,10 +18881,8 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", - "authType", - "totalMemoryLimitKB", "description", - "customUrl", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -18801,10 +18895,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", - "textSecret", "__template_streamtags", - "__template_tags", + "__template_lokiUrl", + "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -18823,33 +18916,89 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSumoLogic(str, Enum): - SUMO_LOGIC = "sumo_logic" +CreateOutputOutputGrafanaCloudUnionTypedDict = TypeAliasType( + "CreateOutputOutputGrafanaCloudUnionTypedDict", + Union[ + CreateOutputOutputGrafanaCloudGrafanaCloud1TypedDict, + CreateOutputOutputGrafanaCloudGrafanaCloud2TypedDict, + ], +) -class CreateOutputDataFormatSumoLogic(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Preserve the raw event format instead of JSONifying it""" +CreateOutputOutputGrafanaCloudUnion = TypeAliasType( + "CreateOutputOutputGrafanaCloudUnion", + Union[ + CreateOutputOutputGrafanaCloudGrafanaCloud1, + CreateOutputOutputGrafanaCloudGrafanaCloud2, + ], +) - # JSON + +class CreateOutputTypeDatadog(str, Enum): + DATADOG = "datadog" + + +class CreateOutputSendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The content type to use when sending logs""" + + # text/plain + TEXT = "text" + # application/json JSON = "json" - # Raw - RAW = "raw" -class CreateOutputPqControlsSumoLogicTypedDict(TypedDict): +class CreateOutputSeverityDatadog(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + + # emergency + EMERGENCY = "emergency" + # alert + ALERT = "alert" + # critical + CRITICAL = "critical" + # error + ERROR = "error" + # warning + WARNING = "warning" + # notice + NOTICE = "notice" + # info + INFO = "info" + # debug + DEBUG = "debug" + + +class CreateOutputDatadogSite(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Datadog site to which events should be sent""" + + # US + US = "us" + # US3 + US3 = "us3" + # US5 + US5 = "us5" + # Europe + EU = "eu" + # US1-FED + FED1 = "fed1" + # AP1 + AP1 = "ap1" + # Custom + CUSTOM = "custom" + + +class CreateOutputPqControlsDatadogTypedDict(TypedDict): pass -class CreateOutputPqControlsSumoLogic(BaseModel): +class CreateOutputPqControlsDatadog(BaseModel): pass -class CreateOutputOutputSumoLogicTypedDict(TypedDict): +class CreateOutputOutputDatadogTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSumoLogic - url: str - r"""Sumo Logic HTTP collector URL to which events should be sent""" + type: CreateOutputTypeDatadog pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -18858,12 +19007,28 @@ class CreateOutputOutputSumoLogicTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - custom_source: NotRequired[str] - r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" - custom_category: NotRequired[str] - r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" - format_: NotRequired[CreateOutputDataFormatSumoLogic] - r"""Preserve the raw event format instead of JSONifying it""" + content_type: NotRequired[CreateOutputSendLogsAs] + r"""The content type to use when sending logs""" + message: NotRequired[str] + r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" + source: NotRequired[str] + r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" + host: NotRequired[str] + r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" + service: NotRequired[str] + r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" + tags: NotRequired[List[str]] + r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" + batch_by_tags: NotRequired[bool] + r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" + allow_api_key_from_events: NotRequired[bool] + r"""Allow API key to be set from the event's '__agent_api_key' field""" + severity: NotRequired[CreateOutputSeverityDatadog] + r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + site: NotRequired[CreateOutputDatadogSite] + r"""Datadog site to which events should be sent""" + send_counters_as_count: NotRequired[bool] + r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -18898,9 +19063,13 @@ class CreateOutputOutputSumoLogicTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -18923,25 +19092,26 @@ class CreateOutputOutputSumoLogicTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSumoLogicTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsDatadogTypedDict] + api_key: NotRequired[str] + r"""Organization's API key in Datadog""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_tags: NotRequired[str] + r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputSumoLogic(BaseModel): +class CreateOutputOutputDatadog(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSumoLogic - - url: str - r"""Sumo Logic HTTP collector URL to which events should be sent""" + type: CreateOutputTypeDatadog pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -18951,24 +19121,50 @@ class CreateOutputOutputSumoLogic(BaseModel): ] = None r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + content_type: Annotated[ + Optional[CreateOutputSendLogsAs], pydantic.Field(alias="contentType") + ] = None + r"""The content type to use when sending logs""" + + message: Optional[str] = None + r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" + + source: Optional[str] = None + r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" + + host: Optional[str] = None + r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" + + service: Optional[str] = None + r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + tags: Optional[List[str]] = None + r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" - custom_source: Annotated[Optional[str], pydantic.Field(alias="customSource")] = None - r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" + batch_by_tags: Annotated[Optional[bool], pydantic.Field(alias="batchByTags")] = None + r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" - custom_category: Annotated[ - Optional[str], pydantic.Field(alias="customCategory") + allow_api_key_from_events: Annotated[ + Optional[bool], pydantic.Field(alias="allowApiKeyFromEvents") ] = None - r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" + r"""Allow API key to be set from the event's '__agent_api_key' field""" - format_: Annotated[ - Optional[CreateOutputDataFormatSumoLogic], pydantic.Field(alias="format") + severity: Optional[CreateOutputSeverityDatadog] = None + r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + + site: Optional[CreateOutputDatadogSite] = None + r"""Datadog site to which events should be sent""" + + send_counters_as_count: Annotated[ + Optional[bool], pydantic.Field(alias="sendCountersAsCount") ] = None - r"""Preserve the raw event format instead of JSONifying it""" + r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -19044,12 +19240,20 @@ class CreateOutputOutputSumoLogic(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + ] = None + r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: Annotated[ Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -19101,18 +19305,24 @@ class CreateOutputOutputSumoLogic(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsSumoLogic], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsDatadog], pydantic.Field(alias="pqControls") ] = None + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""Organization's API key in Datadog""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + template_tags: Annotated[Optional[str], pydantic.Field(alias="__template_tags")] = ( None ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -19124,11 +19334,29 @@ class CreateOutputOutputSumoLogic(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("content_type") + def serialize_content_type(self, value): if isinstance(value, str): try: - return models.CreateOutputDataFormatSumoLogic(value) + return models.CreateOutputSendLogsAs(value) + except ValueError: + return value + return value + + @field_serializer("severity") + def serialize_severity(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSeverityDatadog(value) + except ValueError: + return value + return value + + @field_serializer("site") + def serialize_site(self, value): + if isinstance(value, str): + try: + return models.CreateOutputDatadogSite(value) except ValueError: return value return value @@ -19151,6 +19379,15 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAPI(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -19186,9 +19423,17 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "customSource", - "customCategory", - "format", + "contentType", + "message", + "source", + "host", + "service", + "tags", + "batchByTags", + "allowApiKeyFromEvents", + "severity", + "site", + "sendCountersAsCount", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -19204,172 +19449,28 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", + "authType", "totalMemoryLimitKB", "description", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", "pqMaxBufferSize", "pqMaxBackpressureSec", "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeSnmp(str, Enum): - SNMP = "snmp" - - -class CreateOutputHostSnmpTypedDict(TypedDict): - host: str - r"""Destination host""" - port: float - r"""Destination port, default is 162""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - - -class CreateOutputHostSnmp(BaseModel): - host: str - r"""Destination host""" - - port: float - r"""Destination port, default is 162""" - - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["__template_host", "__template_port"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputOutputSnmpTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeSnmp - hosts: List[CreateOutputHostSnmpTypedDict] - r"""One or more SNMP destinations to forward traps to""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" - enable_ip_spoofing: NotRequired[bool] - r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - description: NotRequired[str] - max_record_size: NotRequired[float] - r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - -class CreateOutputOutputSnmp(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeSnmp - - hosts: List[CreateOutputHostSnmp] - r"""One or more SNMP destinations to forward traps to""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" - - enable_ip_spoofing: Annotated[ - Optional[bool], pydantic.Field(alias="enableIpSpoofing") - ] = None - r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - - description: Optional[str] = None - - max_record_size: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSize") - ] = None - r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "enableIpSpoofing", - "description", - "maxRecordSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "apiKey", + "textSecret", "__template_streamtags", + "__template_tags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", ] ) serialized = handler(self) @@ -19386,35 +19487,33 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSqs(str, Enum): - SQS = "sqs" +class CreateOutputTypeSumoLogic(str, Enum): + SUMO_LOGIC = "sumo_logic" -class CreateOutputQueueType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The queue type used (or created). Defaults to Standard.""" +class CreateOutputDataFormatSumoLogic(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Preserve the raw event format instead of JSONifying it""" - # Standard - STANDARD = "standard" - # FIFO - FIFO = "fifo" + # JSON + JSON = "json" + # Raw + RAW = "raw" -class CreateOutputPqControlsSqsTypedDict(TypedDict): +class CreateOutputPqControlsSumoLogicTypedDict(TypedDict): pass -class CreateOutputPqControlsSqs(BaseModel): +class CreateOutputPqControlsSumoLogic(BaseModel): pass -class CreateOutputOutputSqsTypedDict(TypedDict): +class CreateOutputOutputSumoLogicTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSqs - queue_name: str - r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" - queue_type: CreateOutputQueueType - r"""The queue type used (or created). Defaults to Standard.""" + type: CreateOutputTypeSumoLogic + url: str + r"""Sumo Logic HTTP collector URL to which events should be sent""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -19423,45 +19522,50 @@ class CreateOutputOutputSqsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_account_id: NotRequired[str] - r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" - message_group_id: NotRequired[str] - r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" - create_queue: NotRequired[bool] - r"""Create queue if it does not exist.""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret_key: NotRequired[str] - region: NotRequired[str] - r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" - endpoint: NotRequired[str] - r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" + custom_source: NotRequired[str] + r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" + custom_category: NotRequired[str] + r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" + format_: NotRequired[CreateOutputDataFormatSumoLogic] + r"""Preserve the raw event format instead of JSONifying it""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access SQS""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - max_queue_size: NotRequired[float] - r"""Maximum number of queued batches before blocking.""" - max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - max_in_progress: NotRequired[float] - r"""The maximum number of in-progress API requests before backpressure is applied.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -19484,44 +19588,25 @@ class CreateOutputOutputSqsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSqsTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsSumoLogicTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_queue_name: NotRequired[str] - r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" - template_queue_type: NotRequired[str] - r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" - template_aws_account_id: NotRequired[str] - r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" - template_message_group_id: NotRequired[str] - r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputOutputSqs(BaseModel): +class CreateOutputOutputSumoLogic(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSqs - - queue_name: Annotated[str, pydantic.Field(alias="queueName")] - r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" + type: CreateOutputTypeSumoLogic - queue_type: Annotated[CreateOutputQueueType, pydantic.Field(alias="queueType")] - r"""The queue type used (or created). Defaults to Standard.""" + url: str + r"""Sumo Logic HTTP collector URL to which events should be sent""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -19537,96 +19622,100 @@ class CreateOutputOutputSqs(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - aws_account_id: Annotated[Optional[str], pydantic.Field(alias="awsAccountId")] = ( - None - ) - r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" + custom_source: Annotated[Optional[str], pydantic.Field(alias="customSource")] = None + r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" - message_group_id: Annotated[ - Optional[str], pydantic.Field(alias="messageGroupId") + custom_category: Annotated[ + Optional[str], pydantic.Field(alias="customCategory") ] = None - r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" - - create_queue: Annotated[Optional[bool], pydantic.Field(alias="createQueue")] = None - r"""Create queue if it does not exist.""" + r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + format_: Annotated[ + Optional[CreateOutputDataFormatSumoLogic], pydantic.Field(alias="format") ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + r"""Preserve the raw event format instead of JSONifying it""" - region: Optional[str] = None - r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - endpoint: Optional[str] = None - r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Use Assume Role credentials to access SQS""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""External ID to use when assuming role""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - 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).""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( - None - ) - r"""Maximum number of queued batches before blocking.""" + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - max_in_progress: Annotated[ - Optional[float], pydantic.Field(alias="maxInProgress") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""The maximum number of in-progress API requests before backpressure is applied.""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -19678,7 +19767,7 @@ class CreateOutputOutputSqs(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsSqs], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsSumoLogic], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -19686,114 +19775,255 @@ class CreateOutputOutputSqs(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_queue_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_queueName") - ] = None - r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_queue_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_queueType") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_aws_account_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsAccountId") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_message_group_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_messageGroupId") - ] = None - r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.CreateOutputDataFormatSumoLogic(value) + except ValueError: + return value + return value - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") - ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "customSource", + "customCategory", + "format", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "totalMemoryLimitKB", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_url", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + ] + ) + serialized = handler(self) + m = {} - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputTypeSnmp(str, Enum): + SNMP = "snmp" + + +class CreateOutputHostSnmpTypedDict(TypedDict): + host: str + r"""Destination host""" + port: float + r"""Destination port, default is 162""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + + +class CreateOutputHostSnmp(BaseModel): + host: str + r"""Destination host""" + + port: float + r"""Destination port, default is 162""" + + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["__template_host", "__template_port"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputOutputSnmpTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeSnmp + hosts: List[CreateOutputHostSnmpTypedDict] + r"""One or more SNMP destinations to forward traps to""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" + enable_ip_spoofing: NotRequired[bool] + r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + max_record_size: NotRequired[float] + r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + +class CreateOutputOutputSnmp(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeSnmp + + hosts: List[CreateOutputHostSnmp] + r"""One or more SNMP destinations to forward traps to""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - @field_serializer("queue_type") - def serialize_queue_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputQueueType(value) - except ValueError: - return value - return value + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value + enable_ip_spoofing: Annotated[ + Optional[bool], pydantic.Field(alias="enableIpSpoofing") + ] = None + r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value + description: Optional[str] = None + r"""Optional description for this configuration.""" - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value + max_record_size: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSize") + ] = None + r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -19803,51 +20033,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAccountId", - "messageGroupId", - "createQueue", - "awsAuthenticationMethod", - "awsSecretKey", - "region", - "endpoint", - "reuseConnections", - "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "maxQueueSize", - "maxRecordSizeKB", - "flushPeriodSec", - "maxInProgress", - "onBackpressure", + "dnsResolvePeriodSec", + "enableIpSpoofing", "description", - "awsApiKey", - "awsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "maxRecordSize", "__template_streamtags", - "__template_queueName", - "__template_queueType", - "__template_awsAccountId", - "__template_messageGroupId", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_onBackpressure", - "__template_awsApiKey", ] ) serialized = handler(self) @@ -19864,26 +20054,35 @@ def serialize_model(self, handler): return m -class CreateOutputTypeSns(str, Enum): - SNS = "sns" +class CreateOutputTypeSqs(str, Enum): + SQS = "sqs" -class CreateOutputPqControlsSnsTypedDict(TypedDict): +class CreateOutputQueueType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The queue type used (or created). Defaults to Standard.""" + + # Standard + STANDARD = "standard" + # FIFO + FIFO = "fifo" + + +class CreateOutputPqControlsSqsTypedDict(TypedDict): pass -class CreateOutputPqControlsSns(BaseModel): +class CreateOutputPqControlsSqs(BaseModel): pass -class CreateOutputOutputSnsTypedDict(TypedDict): +class CreateOutputOutputSqsTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSns - topic_arn: str - r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" - message_group_id: str - r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" + type: CreateOutputTypeSqs + queue_name: str + r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" + queue_type: CreateOutputQueueType + r"""The queue type used (or created). Defaults to Standard.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -19892,30 +20091,43 @@ class CreateOutputOutputSnsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - max_retries: NotRequired[float] - r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" + aws_account_id: NotRequired[str] + r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" + message_group_id: NotRequired[str] + r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" + create_queue: NotRequired[bool] + r"""Create queue if it does not exist.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] r"""AWS authentication method. Choose Auto to use IAM roles.""" aws_secret_key: NotRequired[str] region: NotRequired[str] - r"""Region where the SNS is located""" + r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" endpoint: NotRequired[str] - r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access SNS""" + r"""Use Assume Role credentials to access SQS""" assume_role_arn: NotRequired[str] r"""Amazon Resource Name (ARN) of the role to assume""" assume_role_external_id: NotRequired[str] r"""External ID to use when assuming role""" duration_seconds: NotRequired[float] 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).""" + max_queue_size: NotRequired[float] + r"""Maximum number of queued batches before blocking.""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + max_in_progress: NotRequired[float] + r"""The maximum number of in-progress API requests before backpressure is applied.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -19941,11 +20153,15 @@ class CreateOutputOutputSnsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsSnsTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsSqsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_arn: NotRequired[str] - r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + template_queue_name: NotRequired[str] + r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" + template_queue_type: NotRequired[str] + r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" + template_aws_account_id: NotRequired[str] + r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" template_message_group_id: NotRequired[str] r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" template_aws_secret_key: NotRequired[str] @@ -19964,17 +20180,17 @@ class CreateOutputOutputSnsTypedDict(TypedDict): r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputOutputSns(BaseModel): +class CreateOutputOutputSqs(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeSns + type: CreateOutputTypeSqs - topic_arn: Annotated[str, pydantic.Field(alias="topicArn")] - r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" + queue_name: Annotated[str, pydantic.Field(alias="queueName")] + r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" - message_group_id: Annotated[str, pydantic.Field(alias="messageGroupId")] - r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" + queue_type: Annotated[CreateOutputQueueType, pydantic.Field(alias="queueType")] + r"""The queue type used (or created). Defaults to Standard.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -19990,8 +20206,18 @@ class CreateOutputOutputSns(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" + aws_account_id: Annotated[Optional[str], pydantic.Field(alias="awsAccountId")] = ( + None + ) + r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" + + message_group_id: Annotated[ + Optional[str], pydantic.Field(alias="messageGroupId") + ] = None + r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" + + create_queue: Annotated[Optional[bool], pydantic.Field(alias="createQueue")] = None + r"""Create queue if it does not exist.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsS3CollectorConf], @@ -20004,10 +20230,10 @@ class CreateOutputOutputSns(BaseModel): ) region: Optional[str] = None - r"""Region where the SNS is located""" + r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" endpoint: Optional[str] = None - r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" reuse_connections: Annotated[ Optional[bool], pydantic.Field(alias="reuseConnections") @@ -20022,7 +20248,7 @@ class CreateOutputOutputSns(BaseModel): enable_assume_role: Annotated[ Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Use Assume Role credentials to access SNS""" + r"""Use Assume Role credentials to access SQS""" assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( None @@ -20039,12 +20265,33 @@ class CreateOutputOutputSns(BaseModel): ] = None 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).""" + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking.""" + + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") + ] = None + r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + + max_in_progress: Annotated[ + Optional[float], pydantic.Field(alias="maxInProgress") + ] = None + r"""The maximum number of in-progress API requests before backpressure is applied.""" + on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -20101,7 +20348,7 @@ class CreateOutputOutputSns(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsSns], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsSqs], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -20109,10 +20356,20 @@ class CreateOutputOutputSns(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_topicArn") + template_queue_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_queueName") ] = None - r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" + + template_queue_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_queueType") + ] = None + r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" + + template_aws_account_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsAccountId") + ] = None + r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" template_message_group_id: Annotated[ Optional[str], pydantic.Field(alias="__template_messageGroupId") @@ -20154,6 +20411,15 @@ class CreateOutputOutputSns(BaseModel): ] = None r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + @field_serializer("queue_type") + def serialize_queue_type(self, value): + if isinstance(value, str): + try: + return models.CreateOutputQueueType(value) + except ValueError: + return value + return value + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -20207,7 +20473,9 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "maxRetries", + "awsAccountId", + "messageGroupId", + "createQueue", "awsAuthenticationMethod", "awsSecretKey", "region", @@ -20218,6 +20486,10 @@ def serialize_model(self, handler): "assumeRoleArn", "assumeRoleExternalId", "durationSeconds", + "maxQueueSize", + "maxRecordSizeKB", + "flushPeriodSec", + "maxInProgress", "onBackpressure", "description", "awsApiKey", @@ -20235,7 +20507,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_topicArn", + "__template_queueName", + "__template_queueType", + "__template_awsAccountId", "__template_messageGroupId", "__template_awsSecretKey", "__template_region", @@ -20260,148 +20534,26 @@ def serialize_model(self, handler): return m -class CreateOutputTypeRouter(str, Enum): - ROUTER = "router" - - -class CreateOutputRuleTypedDict(TypedDict): - filter_: str - r"""JavaScript expression to select events to send to output""" - output: str - r"""Output to send matching events to""" - description: NotRequired[str] - r"""Description of this rule's purpose""" - final: NotRequired[bool] - r"""Flag to control whether to stop the event from being checked against other rules""" - - -class CreateOutputRule(BaseModel): - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""JavaScript expression to select events to send to output""" - - output: str - r"""Output to send matching events to""" - - description: Optional[str] = None - r"""Description of this rule's purpose""" - - final: Optional[bool] = None - r"""Flag to control whether to stop the event from being checked against other rules""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["description", "final"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputOutputRouterTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputTypeRouter - rules: List[CreateOutputRuleTypedDict] - r"""Event routing rules""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - description: NotRequired[str] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - -class CreateOutputOutputRouter(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputTypeRouter - - rules: List[CreateOutputRule] - r"""Event routing rules""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - description: Optional[str] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "description", - "__template_streamtags", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputTypeGraphite(str, Enum): - GRAPHITE = "graphite" +class CreateOutputTypeSns(str, Enum): + SNS = "sns" -class CreateOutputPqControlsGraphiteTypedDict(TypedDict): +class CreateOutputPqControlsSnsTypedDict(TypedDict): pass -class CreateOutputPqControlsGraphite(BaseModel): +class CreateOutputPqControlsSns(BaseModel): pass -class CreateOutputOutputGraphiteTypedDict(TypedDict): +class CreateOutputOutputSnsTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGraphite - protocol: DestinationProtocolOptions - r"""Protocol to use when communicating with the destination.""" - host: str - r"""The hostname of the destination.""" - port: float - r"""Destination port.""" + type: CreateOutputTypeSns + topic_arn: str + r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" + message_group_id: str + r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -20410,21 +20562,34 @@ class CreateOutputOutputGraphiteTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - mtu: NotRequired[float] - r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" - flush_period_sec: NotRequired[float] - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" - dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" - description: NotRequired[str] - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + max_retries: NotRequired[float] + r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret_key: NotRequired[str] + region: NotRequired[str] + r"""Region where the SNS is located""" + endpoint: NotRequired[str] + r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access SNS""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -20447,27 +20612,40 @@ class CreateOutputOutputGraphiteTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsGraphiteTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsSnsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_topic_arn: NotRequired[str] + r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + template_message_group_id: NotRequired[str] + r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputOutputGraphite(BaseModel): +class CreateOutputOutputSns(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeGraphite - - protocol: DestinationProtocolOptions - r"""Protocol to use when communicating with the destination.""" + type: CreateOutputTypeSns - host: str - r"""The hostname of the destination.""" + topic_arn: Annotated[str, pydantic.Field(alias="topicArn")] + r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" - port: float - r"""Destination port.""" + message_group_id: Annotated[str, pydantic.Field(alias="messageGroupId")] + r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -20483,41 +20661,68 @@ class CreateOutputOutputGraphite(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - mtu: Optional[float] = None - r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + r"""AWS authentication method. Choose Auto to use IAM roles.""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) - description: Optional[str] = None + region: Optional[str] = None + r"""Region where the SNS is located""" + + endpoint: Optional[str] = None + r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Use Assume Role credentials to access SNS""" - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( None ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -20568,7 +20773,7 @@ class CreateOutputOutputGraphite(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsGraphite], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsSns], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -20576,16 +20781,56 @@ class CreateOutputOutputGraphite(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_topic_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_topicArn") + ] = None + r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + + template_message_group_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_messageGroupId") + ] = None + r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" + + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("protocol") - def serialize_protocol(self, value): + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.DestinationProtocolOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -20634,14 +20879,21 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "mtu", - "flushPeriodSec", - "dnsResolvePeriodSec", - "description", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", + "maxRetries", + "awsAuthenticationMethod", + "awsSecretKey", + "region", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", "onBackpressure", + "description", + "awsApiKey", + "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -20655,7 +20907,15 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_topicArn", + "__template_messageGroupId", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_onBackpressure", + "__template_awsApiKey", ] ) serialized = handler(self) @@ -20672,22 +20932,144 @@ def serialize_model(self, handler): return m -class CreateOutputTypeStatsdExt(str, Enum): - STATSD_EXT = "statsd_ext" +class CreateOutputTypeRouter(str, Enum): + ROUTER = "router" -class CreateOutputPqControlsStatsdExtTypedDict(TypedDict): +class CreateOutputRuleTypedDict(TypedDict): + filter_: str + r"""JavaScript expression to select events to send to output""" + output: str + r"""Output to send matching events to""" + description: NotRequired[str] + r"""Description of this rule's purpose""" + final: NotRequired[bool] + r"""Flag to control whether to stop the event from being checked against other rules""" + + +class CreateOutputRule(BaseModel): + filter_: Annotated[str, pydantic.Field(alias="filter")] + r"""JavaScript expression to select events to send to output""" + + output: str + r"""Output to send matching events to""" + + description: Optional[str] = None + r"""Description of this rule's purpose""" + + final: Optional[bool] = None + r"""Flag to control whether to stop the event from being checked against other rules""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["description", "final"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputOutputRouterTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputTypeRouter + rules: List[CreateOutputRuleTypedDict] + r"""Event routing rules""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + +class CreateOutputOutputRouter(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputTypeRouter + + rules: List[CreateOutputRule] + r"""Event routing rules""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "description", + "__template_streamtags", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputTypeGraphite(str, Enum): + GRAPHITE = "graphite" + + +class CreateOutputPqControlsGraphiteTypedDict(TypedDict): pass -class CreateOutputPqControlsStatsdExt(BaseModel): +class CreateOutputPqControlsGraphite(BaseModel): pass -class CreateOutputOutputStatsdExtTypedDict(TypedDict): +class CreateOutputOutputGraphiteTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputTypeStatsdExt + type: CreateOutputTypeGraphite protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" host: str @@ -20709,6 +21091,7 @@ class CreateOutputOutputStatsdExtTypedDict(TypedDict): dns_resolve_period_sec: NotRequired[float] r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] + r"""Optional description for this configuration.""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" connection_timeout: NotRequired[float] @@ -20739,18 +21122,18 @@ class CreateOutputOutputStatsdExtTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputPqControlsStatsdExtTypedDict] + pq_controls: NotRequired[CreateOutputPqControlsGraphiteTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputOutputStatsdExt(BaseModel): +class CreateOutputOutputGraphite(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputTypeStatsdExt + type: CreateOutputTypeGraphite protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" @@ -20789,6 +21172,7 @@ class CreateOutputOutputStatsdExt(BaseModel): r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: Optional[str] = None + r"""Optional description for this configuration.""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") @@ -20860,7 +21244,7 @@ class CreateOutputOutputStatsdExt(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputPqControlsStatsdExt], pydantic.Field(alias="pqControls") + Optional[CreateOutputPqControlsGraphite], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -20964,18 +21348,22 @@ def serialize_model(self, handler): return m -class CreateOutputTypeStatsd(str, Enum): - STATSD = "statsd" +class CreateOutputTypeStatsdExt(str, Enum): + STATSD_EXT = "statsd_ext" -class CreateOutputPqControlsStatsdTypedDict(TypedDict): +class CreateOutputPqControlsStatsdExtTypedDict(TypedDict): pass -class CreateOutputPqControlsStatsd(BaseModel): +class CreateOutputPqControlsStatsdExt(BaseModel): pass +try: + CreateOutputOutputIbmCloudS3.model_rebuild() +except NameError: + pass try: CreateOutputOutputAlibabaCloudS3.model_rebuild() except NameError: @@ -21176,7 +21564,3 @@ class CreateOutputPqControlsStatsd(BaseModel): CreateOutputOutputGraphite.model_rebuild() except NameError: pass -try: - CreateOutputOutputStatsdExt.model_rebuild() -except NameError: - pass diff --git a/src/cribl_control_plane/models/createoutput_request.py b/src/cribl_control_plane/models/createoutput_request.py index 93a12c609..ab54aacdf 100644 --- a/src/cribl_control_plane/models/createoutput_request.py +++ b/src/cribl_control_plane/models/createoutput_request.py @@ -1,7 +1,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .createoutput_outputwebhook_webhook_1 import ( +from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .compressionoptionspq import CompressionOptionsPq +from .createoutput_outputwebhook_authentication_type_1 import ( CreateOutputOutputAzureBlob, CreateOutputOutputAzureBlobTypedDict, CreateOutputOutputAzureDataExplorer, @@ -63,6 +65,8 @@ CreateOutputOutputSplunkLbTypedDict, CreateOutputOutputSplunkTypedDict, CreateOutputOutputStatsd, + CreateOutputOutputStatsdExt, + CreateOutputOutputStatsdExtTypedDict, CreateOutputOutputStatsdTypedDict, CreateOutputOutputSyslog, CreateOutputOutputSyslogTypedDict, @@ -70,14 +74,15 @@ CreateOutputOutputTcpjsonTypedDict, CreateOutputOutputWavefront, CreateOutputOutputWavefrontTypedDict, - CreateOutputOutputWebhookWebhook1, - CreateOutputOutputWebhookWebhook1TypedDict, + CreateOutputOutputWebhookAuthenticationType1, + CreateOutputOutputWebhookFormat1, + CreateOutputOutputWebhookType1, CreateOutputOutputWebhookWebhook2, CreateOutputOutputWebhookWebhook2TypedDict, CreateOutputOutputWizHec, CreateOutputOutputWizHecTypedDict, ) -from .createoutput_pqcontrols_statsd import ( +from .createoutput_pqcontrols_statsdext import ( CreateOutputOutputAlibabaCloudS3, CreateOutputOutputAlibabaCloudS3TypedDict, CreateOutputOutputAlphasocS3, @@ -124,6 +129,8 @@ CreateOutputOutputGraphiteTypedDict, CreateOutputOutputHumioHec, CreateOutputOutputHumioHecTypedDict, + CreateOutputOutputIbmCloudS3, + CreateOutputOutputIbmCloudS3TypedDict, CreateOutputOutputLocalSearchStorage, CreateOutputOutputLocalSearchStorageTypedDict, CreateOutputOutputLoki, @@ -156,8 +163,6 @@ CreateOutputOutputSnsTypedDict, CreateOutputOutputSqs, CreateOutputOutputSqsTypedDict, - CreateOutputOutputStatsdExt, - CreateOutputOutputStatsdExtTypedDict, CreateOutputOutputStorjS3, CreateOutputOutputStorjS3TypedDict, CreateOutputOutputSumoLogic, @@ -165,15 +170,720 @@ CreateOutputOutputXsiam, CreateOutputOutputXsiamTypedDict, ) +from .extrahttpheaderconfinputelastic import ( + ExtraHTTPHeaderConfInputElastic, + ExtraHTTPHeaderConfInputElasticTypedDict, +) +from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .methodoptions import MethodOptions +from .modeoptions import ModeOptions +from .oauthheaderconfinputservicenowtable import ( + OauthHeaderConfInputServicenowTable, + OauthHeaderConfInputServicenowTableTypedDict, +) +from .oauthparamconfinputservicenowtable import ( + OauthParamConfInputServicenowTable, + OauthParamConfInputServicenowTableTypedDict, +) +from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .responseretrysettingconfoutputwebhook import ( + ResponseRetrySettingConfOutputWebhook, + ResponseRetrySettingConfOutputWebhookTypedDict, +) +from .timeoutretrysettingstype import ( + TimeoutRetrySettingsType, + TimeoutRetrySettingsTypeTypedDict, +) +from .tlssettingsclientsidetypecapathcertpathextended import ( + TLSSettingsClientSideTypeCaPathCertPathExtended, + TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, +) +from cribl_control_plane import models from cribl_control_plane.types import BaseModel, Nullable, UNSET_SENTINEL from cribl_control_plane.utils import get_discriminator from enum import Enum import pydantic -from pydantic import Discriminator, Tag, model_serializer +from pydantic import Discriminator, Tag, field_serializer, model_serializer from typing import List, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +class CreateOutputOutputWebhookPqControls1TypedDict(TypedDict): + pass + + +class CreateOutputOutputWebhookPqControls1(BaseModel): + pass + + +class CreateOutputOutputWebhookURL1TypedDict(TypedDict): + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + +class CreateOutputOutputWebhookURL1(BaseModel): + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["weight", "__template_url"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputOutputWebhookWebhook1TypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputOutputWebhookType1 + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + method: NotRequired[MethodOptions] + r"""The method to use when sending events""" + format_: NotRequired[CreateOutputOutputWebhookFormat1] + r"""How to format events before sending out""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[CreateOutputOutputWebhookAuthenticationType1] + r"""Authentication method to use for the HTTP request""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_source_expression: NotRequired[str] + r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" + custom_drop_when_null: NotRequired[bool] + r"""Whether to drop events when the source expression evaluates to null""" + custom_event_delimiter: NotRequired[str] + r"""Delimiter string to insert between individual events. Defaults to newline character.""" + custom_content_type: NotRequired[str] + r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" + custom_payload_expression: NotRequired[str] + r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" + advanced_content_type: NotRequired[str] + r"""HTTP content-type header value""" + format_event_code: NotRequired[str] + r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + format_payload_code: NotRequired[str] + r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputOutputWebhookPqControls1TypedDict] + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + login_url: NotRequired[str] + r"""URL for OAuth""" + secret_param_name: NotRequired[str] + r"""Secret parameter name to pass in request body""" + secret: NotRequired[str] + r"""Secret parameter value to pass in request body""" + token_attribute_name: NotRequired[str] + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + auth_header_expr: NotRequired[str] + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + token_timeout_secs: NotRequired[float] + r"""How often the OAuth token should be refreshed.""" + oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] + 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.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[CreateOutputOutputWebhookURL1TypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_login_url: NotRequired[str] + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" + template_secret: NotRequired[str] + r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + +class CreateOutputOutputWebhookWebhook1(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputOutputWebhookType1 + + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + method: Optional[MethodOptions] = None + r"""The method to use when sending events""" + + format_: Annotated[ + Optional[CreateOutputOutputWebhookFormat1], pydantic.Field(alias="format") + ] = None + r"""How to format events before sending out""" + + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" + + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body""" + + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" + + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + auth_type: Annotated[ + Optional[CreateOutputOutputWebhookAuthenticationType1], + pydantic.Field(alias="authType"), + ] = None + r"""Authentication method to use for the HTTP request""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_source_expression: Annotated[ + Optional[str], pydantic.Field(alias="customSourceExpression") + ] = None + r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" + + custom_drop_when_null: Annotated[ + Optional[bool], pydantic.Field(alias="customDropWhenNull") + ] = None + r"""Whether to drop events when the source expression evaluates to null""" + + custom_event_delimiter: Annotated[ + Optional[str], pydantic.Field(alias="customEventDelimiter") + ] = None + r"""Delimiter string to insert between individual events. Defaults to newline character.""" + + custom_content_type: Annotated[ + Optional[str], pydantic.Field(alias="customContentType") + ] = None + r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" + + custom_payload_expression: Annotated[ + Optional[str], pydantic.Field(alias="customPayloadExpression") + ] = None + r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" + + advanced_content_type: Annotated[ + Optional[str], pydantic.Field(alias="advancedContentType") + ] = None + r"""HTTP content-type header value""" + + format_event_code: Annotated[ + Optional[str], pydantic.Field(alias="formatEventCode") + ] = None + r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + + format_payload_code: Annotated[ + Optional[str], pydantic.Field(alias="formatPayloadCode") + ] = None + r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") + ] = None + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" + + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + ] = None + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[CreateOutputOutputWebhookPqControls1], + pydantic.Field(alias="pqControls"), + ] = None + + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None + r"""URL for OAuth""" + + secret_param_name: Annotated[ + Optional[str], pydantic.Field(alias="secretParamName") + ] = None + r"""Secret parameter name to pass in request body""" + + secret: Optional[str] = None + r"""Secret parameter value to pass in request body""" + + token_attribute_name: Annotated[ + Optional[str], pydantic.Field(alias="tokenAttributeName") + ] = None + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + + auth_header_expr: Annotated[ + Optional[str], pydantic.Field(alias="authHeaderExpr") + ] = None + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + + token_timeout_secs: Annotated[ + Optional[float], pydantic.Field(alias="tokenTimeoutSecs") + ] = None + r"""How often the OAuth token should be refreshed.""" + + oauth_params: Annotated[ + Optional[List[OauthParamConfInputServicenowTable]], + pydantic.Field(alias="oauthParams"), + ] = None + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + + oauth_headers: Annotated[ + Optional[List[OauthHeaderConfInputServicenowTable]], + pydantic.Field(alias="oauthHeaders"), + ] = None + 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.""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + urls: Optional[List[CreateOutputOutputWebhookURL1]] = None + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + ] = None + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + template_login_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_loginUrl") + ] = None + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" + + template_secret: Annotated[ + Optional[str], pydantic.Field(alias="__template_secret") + ] = None + r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + @field_serializer("method") + def serialize_method(self, value): + if isinstance(value, str): + try: + return models.MethodOptions(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.CreateOutputOutputWebhookFormat1(value) + except ValueError: + return value + return value + + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.CreateOutputOutputWebhookAuthenticationType1(value) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "method", + "format", + "keepAlive", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "tls", + "totalMemoryLimitKB", + "loadBalanced", + "description", + "customSourceExpression", + "customDropWhenNull", + "customEventDelimiter", + "customContentType", + "customPayloadExpression", + "advancedContentType", + "formatEventCode", + "formatPayloadCode", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "username", + "password", + "token", + "credentialsSecret", + "textSecret", + "loginUrl", + "secretParamName", + "secret", + "tokenAttributeName", + "authHeaderExpr", + "tokenTimeoutSecs", + "oauthParams", + "oauthHeaders", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_loginUrl", + "__template_secret", + "__template_url", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + CreateOutputOutputWebhookUnionTypedDict = TypeAliasType( "CreateOutputOutputWebhookUnionTypedDict", Union[ @@ -337,6 +1047,7 @@ def serialize_model(self, handler): CreateOutputOutputDatabricksTypedDict, CreateOutputOutputMskTypedDict, CreateOutputOutputAlphasocS3TypedDict, + CreateOutputOutputIbmCloudS3TypedDict, CreateOutputOutputStorjS3TypedDict, CreateOutputOutputOpenTelemetryTypedDict, CreateOutputOutputAlibabaCloudS3TypedDict, @@ -450,12 +1161,21 @@ def serialize_model(self, handler): Annotated[CreateOutputOutputCloudianS3, Tag("cloudian_s3")], Annotated[CreateOutputOutputScalityS3, Tag("scality_s3")], Annotated[CreateOutputOutputAlibabaCloudS3, Tag("alibaba_cloud_s3")], + Annotated[CreateOutputOutputIbmCloudS3, Tag("ibm_cloud_s3")], ], Discriminator(lambda m: get_discriminator(m, "type", "type")), ] r"""Output object.""" +try: + CreateOutputOutputWebhookURL1.model_rebuild() +except NameError: + pass +try: + CreateOutputOutputWebhookWebhook1.model_rebuild() +except NameError: + pass try: CreateOutputOutputDefault.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_webhook_1.py b/src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_authentication_type_1.py similarity index 97% rename from src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_webhook_1.py rename to src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_authentication_type_1.py index 68ee12473..796c348b2 100644 --- a/src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_webhook_1.py +++ b/src/cribl_control_plane/models/createoutputsystembypack_outputwebhook_authentication_type_1.py @@ -29,10 +29,10 @@ from .compressionoptionsgzipnone import CompressionOptionsGzipNone from .compressionoptionshttp import CompressionOptionsHTTP from .compressionoptionspq import CompressionOptionsPq -from .createoutputsystembypack_pqcontrols_statsd import ( - CreateOutputSystemByPackPqControlsStatsd, - CreateOutputSystemByPackPqControlsStatsdTypedDict, - CreateOutputSystemByPackTypeStatsd, +from .createoutputsystembypack_pqcontrols_statsdext import ( + CreateOutputSystemByPackPqControlsStatsdExt, + CreateOutputSystemByPackPqControlsStatsdExtTypedDict, + CreateOutputSystemByPackTypeStatsdExt, ) from .dataformatoptions import DataFormatOptions from .datapageversionoptions import DataPageVersionOptions @@ -134,10 +134,10 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class CreateOutputSystemByPackOutputStatsdTypedDict(TypedDict): +class CreateOutputSystemByPackOutputStatsdExtTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeStatsd + type: CreateOutputSystemByPackTypeStatsdExt protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" host: str @@ -159,6 +159,7 @@ class CreateOutputSystemByPackOutputStatsdTypedDict(TypedDict): dns_resolve_period_sec: NotRequired[float] r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] + r"""Optional description for this configuration.""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" connection_timeout: NotRequired[float] @@ -189,18 +190,18 @@ class CreateOutputSystemByPackOutputStatsdTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsStatsdTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsStatsdExtTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputStatsd(BaseModel): +class CreateOutputSystemByPackOutputStatsdExt(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeStatsd + type: CreateOutputSystemByPackTypeStatsdExt protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" @@ -239,6 +240,7 @@ class CreateOutputSystemByPackOutputStatsd(BaseModel): r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: Optional[str] = None + r"""Optional description for this configuration.""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") @@ -310,7 +312,7 @@ class CreateOutputSystemByPackOutputStatsd(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsStatsd], + Optional[CreateOutputSystemByPackPqControlsStatsdExt], pydantic.Field(alias="pqControls"), ] = None @@ -415,20 +417,28 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeMinio(str, Enum): - MINIO = "minio" +class CreateOutputSystemByPackTypeStatsd(str, Enum): + STATSD = "statsd" -class CreateOutputSystemByPackOutputMinioTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsStatsdTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsStatsd(BaseModel): + pass + + +class CreateOutputSystemByPackOutputStatsdTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeMinio - bucket: str - r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""MinIO service url (e.g. http://minioHost:9000)""" + type: CreateOutputSystemByPackTypeStatsd + protocol: DestinationProtocolOptions + r"""Protocol to use when communicating with the destination.""" + host: str + r"""The hostname of the destination.""" + port: float + r"""Destination port.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -437,153 +447,65 @@ class CreateOutputSystemByPackOutputMinioTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the MinIO bucket is located""" - dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - max_closing_files_to_backpressure: NotRequired[float] - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ - ServerSideEncryptionForUploadedObjectsOptionsAes256 - ] - r"""Server-side encryption to use for uploaded objects""" + mtu: NotRequired[float] + r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" + flush_period_sec: NotRequired[float] + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + r"""Optional description for this configuration.""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsStatsdTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputMinio(BaseModel): +class CreateOutputSystemByPackOutputStatsd(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeMinio + type: CreateOutputSystemByPackTypeStatsd - bucket: str - r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + protocol: DestinationProtocolOptions + r"""Protocol to use when communicating with the destination.""" - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + host: str + r"""The hostname of the destination.""" - endpoint: str - r"""MinIO service url (e.g. http://minioHost:9000)""" + port: float + r"""Destination port.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -599,819 +521,700 @@ class CreateOutputSystemByPackOutputMinio(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + mtu: Optional[float] = None + r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - - region: Optional[str] = None - r"""Region where the MinIO bucket is located""" + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") - ] = None - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Add the Output ID value to staging location""" + r"""How to handle events when all receivers are exerting backpressure""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Remove empty staging directories after moving files""" - - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" - - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Buffer size used to write to a file""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") - ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Codec to use to compress the persisted data""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - orphans: Optional[OrphanFileRecoveryType] = None - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackPqControlsStatsd], + pydantic.Field(alias="pqControls"), ] = None - r"""Object ACL to assign to uploaded objects""" - storage_class: Annotated[ - Optional[StorageClassOptionsReducedredundancyStandard], - pydantic.Field(alias="storageClass"), + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Storage class to select for uploaded objects""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], - pydantic.Field(alias="serverSideEncryption"), + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Server-side encryption to use for uploaded objects""" - - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + @field_serializer("protocol") + def serialize_protocol(self, value): + if isinstance(value, str): + try: + return models.DestinationProtocolOptions(value) + except ValueError: + return value + return value - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "mtu", + "flushPeriodSec", + "dnsResolvePeriodSec", + "description", + "throttleRatePerSec", + "connectionTimeout", + "writeTimeout", + "onBackpressure", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_onBackpressure", + ] + ) + serialized = handler(self) + m = {} - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") - ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + return m - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") - ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ +class CreateOutputSystemByPackTypeMinio(str, Enum): + MINIO = "minio" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") - ] = None +class CreateOutputSystemByPackOutputMinioTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeMinio + bucket: str + r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""MinIO service url (e.g. http://minioHost:9000)""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the MinIO bucket is located""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ + ServerSideEncryptionForUploadedObjectsOptionsAes256 + ] + r"""Server-side encryption to use for uploaded objects""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") - ] = None + enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") - ] = None + empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" - - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") - ] = None + directory_batch_size: NotRequired[float] r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") - ] = None + deadletter_path: NotRequired[str] r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) + max_retry_num: NotRequired[float] r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None + template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") - ] = None + template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None + template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") - ] = None + template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") - ] = None + template_partition_expr: NotRequired[str] r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None + template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") - ] = None + template_base_file_name: NotRequired[str] r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") - ] = None + template_file_name_suffix: NotRequired[str] r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None + template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None + template_aws_secret_key: NotRequired[str] r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None + template_object_acl: NotRequired[str] r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None + template_storage_class: NotRequired[str] r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") - ] = None + template_server_side_encryption: NotRequired[str] r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None + template_aws_api_key: NotRequired[str] r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None + template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") - ] = None + template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value +class CreateOutputSystemByPackOutputMinio(BaseModel): + id: str + r"""Unique ID for this output""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptionsBlockDrop(value) - except ValueError: - return value - return value + type: CreateOutputSystemByPackTypeMinio - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): - if isinstance(value, str): - try: - return models.DiskSpaceProtectionOptions(value) - except ValueError: - return value - return value + bucket: str + r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - @field_serializer("object_acl") - def serialize_object_acl(self, value): - if isinstance(value, str): - try: - return models.ObjectACLOptions(value) - except ValueError: - return value - return value + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.StorageClassOptionsReducedredundancyStandard(value) - except ValueError: - return value - return value + endpoint: str + r"""MinIO service url (e.g. http://minioHost:9000)""" - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) - except ValueError: - return value - return value + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsHTTP(value) - except ValueError: - return value - return value + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - @field_serializer("compression_level") - def serialize_compression_level(self, value): - if isinstance(value, str): - try: - return models.CompressionLevelOptions(value) - except ValueError: - return value - return value + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): - if isinstance(value, str): - try: - return models.ParquetVersionOptions(value) - except ValueError: - return value - return value + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): - if isinstance(value, str): - try: - return models.DataPageVersionOptions(value) - except ValueError: - return value - return value + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "region", - "destPath", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "description", - "awsApiKey", - "awsSecret", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "__template_streamtags", - "__template_bucket", - "__template_region", - "__template_destPath", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_awsApiKey", - "__template_compress", - "__template_parquetSchema", - ] - ) - serialized = handler(self) - m = {} + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val + region: Optional[str] = None + r"""Region where the MinIO bucket is located""" - return m + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" -class CreateOutputSystemByPackTypeCloudwatch(str, Enum): - CLOUDWATCH = "cloudwatch" + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + ] = None + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" -class CreateOutputSystemByPackPqControlsCloudwatchTypedDict(TypedDict): - pass + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" -class CreateOutputSystemByPackPqControlsCloudwatch(BaseModel): - pass + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" -class CreateOutputSystemByPackOutputCloudwatchTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCloudwatch - log_group_name: str - r"""CloudWatch log group to associate events with""" - log_stream_name: str - r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" - region: str - r"""Region where the CloudWatchLogs is located""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret_key: NotRequired[str] - endpoint: NotRequired[str] - r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access CloudWatchLogs""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - max_queue_size: NotRequired[float] - r"""Maximum number of queued batches before blocking""" - max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsCloudwatchTypedDict] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_log_group_name: NotRequired[str] - r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" - template_log_stream_name: NotRequired[str] - r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - -class CreateOutputSystemByPackOutputCloudwatch(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeCloudwatch - - log_group_name: Annotated[str, pydantic.Field(alias="logGroupName")] - r"""CloudWatch log group to associate events with""" - - log_stream_name: Annotated[str, pydantic.Field(alias="logStreamName")] - r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" - - region: str - r"""Region where the CloudWatchLogs is located""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( None ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - endpoint: Optional[str] = None - r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Buffer size used to write to a file""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""How to handle events when all receivers are exerting backpressure""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Use Assume Role credentials to access CloudWatchLogs""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), + ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") ] = None - r"""External ID to use when assuming role""" + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - 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).""" - max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + orphans: Optional[OrphanFileRecoveryType] = None + + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( None ) - r"""Maximum number of queued batches before blocking""" + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") ] = None - r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" + r"""Object ACL to assign to uploaded objects""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + storage_class: Annotated[ + Optional[StorageClassOptionsReducedredundancyStandard], + pydantic.Field(alias="storageClass"), ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + r"""Storage class to select for uploaded objects""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], + pydantic.Field(alias="serverSideEncryption"), ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Server-side encryption to use for uploaded objects""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Compression level to apply before moving files to final destination""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Determines which data types are supported and how they are represented""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") ] = None - r"""Codec to use to compress the persisted data""" + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsCloudwatch], - pydantic.Field(alias="pqControls"), + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - template_log_group_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_logGroupName") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - template_log_stream_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_logStreamName") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" + r"""How frequently, in seconds, to clean up empty directories""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") + ] = None + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") + ] = None + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") + ] = None + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_aws_api_key: Annotated[ Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -1421,38 +1224,92 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.DataFormatOptions(value) + except ValueError: + return value + return value + @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("object_acl") + def serialize_object_acl(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.ObjectACLOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.StorageClassOptionsReducedredundancyStandard(value) + except ValueError: + return value + return value + + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): + if isinstance(value, str): + try: + return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsHTTP(value) + except ValueError: + return value + return value + + @field_serializer("compression_level") + def serialize_compression_level(self, value): + if isinstance(value, str): + try: + return models.CompressionLevelOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): + if isinstance(value, str): + try: + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -1466,43 +1323,71 @@ def serialize_model(self, handler): "environment", "streamtags", "awsAuthenticationMethod", - "awsSecretKey", - "endpoint", "reuseConnections", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "maxQueueSize", - "maxRecordSizeKB", - "flushPeriodSec", + "region", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", "description", "awsApiKey", "awsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_logGroupName", - "__template_logStreamName", - "__template_awsSecretKey", + "__template_bucket", "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_destPath", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_awsSecretKey", + "__template_objectACL", + "__template_storageClass", + "__template_serverSideEncryption", "__template_awsApiKey", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -1519,60 +1404,28 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeInfluxdb(str, Enum): - INFLUXDB = "influxdb" - +class CreateOutputSystemByPackTypeCloudwatch(str, Enum): + CLOUDWATCH = "cloudwatch" -class CreateOutputSystemByPackTimestampPrecision( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" - # Nanoseconds - NS = "ns" - # Microseconds - U = "u" - # Milliseconds - MS = "ms" - # Seconds - S = "s" - # Minutes - M = "m" - # Hours - H = "h" +class CreateOutputSystemByPackPqControlsCloudwatchTypedDict(TypedDict): + pass -class CreateOutputSystemByPackAuthenticationTypeInfluxdb( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""InfluxDB authentication type""" - - # None - NONE = "none" - # Basic - BASIC = "basic" - # Basic (credentials secret) - CREDENTIALS_SECRET = "credentialsSecret" - # Token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" - - -class CreateOutputSystemByPackPqControlsInfluxdbTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsInfluxdb(BaseModel): +class CreateOutputSystemByPackPqControlsCloudwatch(BaseModel): pass -class CreateOutputSystemByPackOutputInfluxdbTypedDict(TypedDict): +class CreateOutputSystemByPackOutputCloudwatchTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeInfluxdb - url: str - r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" + type: CreateOutputSystemByPackTypeCloudwatch + log_group_name: str + r"""CloudWatch log group to associate events with""" + log_stream_name: str + r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" + region: str + r"""Region where the CloudWatchLogs is located""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -1581,57 +1434,36 @@ class CreateOutputSystemByPackOutputInfluxdbTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - use_v2_api: NotRequired[bool] - r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" - timestamp_precision: NotRequired[CreateOutputSystemByPackTimestampPrecision] - r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" - dynamic_value_field_name: NotRequired[bool] - r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" - value_field_name: NotRequired[str] - r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret_key: NotRequired[str] + endpoint: NotRequired[str] + r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access CloudWatchLogs""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + max_queue_size: NotRequired[float] + r"""Maximum number of queued batches before blocking""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputSystemByPackAuthenticationTypeInfluxdb] - r"""InfluxDB authentication type""" description: NotRequired[str] - database: NotRequired[str] - r"""Database to write to.""" - bucket: NotRequired[str] - r"""Bucket to write to.""" - org: NotRequired[str] - r"""Organization ID for this bucket.""" + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -1654,37 +1486,43 @@ class CreateOutputSystemByPackOutputInfluxdbTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsInfluxdbTypedDict] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsCloudwatchTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_log_group_name: NotRequired[str] + r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" + template_log_stream_name: NotRequired[str] + r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_database: NotRequired[str] - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputSystemByPackOutputInfluxdb(BaseModel): +class CreateOutputSystemByPackOutputCloudwatch(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeInfluxdb + type: CreateOutputSystemByPackTypeCloudwatch - url: str - r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" + log_group_name: Annotated[str, pydantic.Field(alias="logGroupName")] + r"""CloudWatch log group to associate events with""" + + log_stream_name: Annotated[str, pydantic.Field(alias="logStreamName")] + r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" + + region: str + r"""Region where the CloudWatchLogs is located""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -1700,115 +1538,76 @@ class CreateOutputSystemByPackOutputInfluxdb(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - use_v2_api: Annotated[Optional[bool], pydantic.Field(alias="useV2API")] = None - r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" - - timestamp_precision: Annotated[ - Optional[CreateOutputSystemByPackTimestampPrecision], - pydantic.Field(alias="timestampPrecision"), - ] = None - r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" - - dynamic_value_field_name: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicValueFieldName") - ] = None - r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" - - value_field_name: Annotated[ - Optional[str], pydantic.Field(alias="valueFieldName") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" + r"""AWS authentication method. Choose Auto to use IAM roles.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" + endpoint: Optional[str] = None + r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Headers to add to all events""" + r"""Use Assume Role credentials to access CloudWatchLogs""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""External ID to use when assuming role""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = None - r"""List of headers that are safe to log in plain text""" + 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).""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None + r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[CreateOutputSystemByPackAuthenticationTypeInfluxdb], - pydantic.Field(alias="authType"), - ] = None - r"""InfluxDB authentication type""" - description: Optional[str] = None + r"""Optional description for this configuration.""" - database: Optional[str] = None - r"""Database to write to.""" - - bucket: Optional[str] = None - r"""Bucket to write to.""" + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - org: Optional[str] = None - r"""Organization ID for this bucket.""" + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -1860,69 +1659,65 @@ class CreateOutputSystemByPackOutputInfluxdb(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsInfluxdb], + Optional[CreateOutputSystemByPackPqControlsCloudwatch], pydantic.Field(alias="pqControls"), ] = None - username: Optional[str] = None + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - password: Optional[str] = None + template_log_group_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_logGroupName") + ] = None + r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" + template_log_stream_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_logStreamName") + ] = None + r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") ] = None - r"""Select or create a secret that references your credentials""" + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_database: Annotated[ - Optional[str], pydantic.Field(alias="__template_database") - ] = None - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - - @field_serializer("timestamp_precision") - def serialize_timestamp_precision(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackTimestampPrecision(value) - except ValueError: - return value - return value + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -1936,15 +1731,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackAuthenticationTypeInfluxdb(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -1980,30 +1766,22 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "useV2API", - "timestampPrecision", - "dynamicValueFieldName", - "valueFieldName", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", + "awsAuthenticationMethod", + "awsSecretKey", + "endpoint", + "reuseConnections", "rejectUnauthorized", - "timeoutSec", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "maxQueueSize", + "maxRecordSizeKB", "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", "onBackpressure", - "authType", "description", - "database", - "bucket", - "org", + "awsApiKey", + "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -2016,17 +1794,16 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", + "__template_logGroupName", + "__template_logStreamName", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_onBackpressure", - "__template_database", - "__template_bucket", + "__template_awsApiKey", ] ) serialized = handler(self) @@ -2043,26 +1820,60 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeNewrelicEvents(str, Enum): - NEWRELIC_EVENTS = "newrelic_events" +class CreateOutputSystemByPackTypeInfluxdb(str, Enum): + INFLUXDB = "influxdb" -class CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict(TypedDict): +class CreateOutputSystemByPackTimestampPrecision( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" + + # Nanoseconds + NS = "ns" + # Microseconds + U = "u" + # Milliseconds + MS = "ms" + # Seconds + S = "s" + # Minutes + M = "m" + # Hours + H = "h" + + +class CreateOutputSystemByPackAuthenticationTypeInfluxdb( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""InfluxDB authentication type""" + + # None + NONE = "none" + # Basic + BASIC = "basic" + # Basic (credentials secret) + CREDENTIALS_SECRET = "credentialsSecret" + # Token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" + + +class CreateOutputSystemByPackPqControlsInfluxdbTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsNewrelicEvents(BaseModel): +class CreateOutputSystemByPackPqControlsInfluxdb(BaseModel): pass -class CreateOutputSystemByPackOutputNewrelicEventsTypedDict(TypedDict): +class CreateOutputSystemByPackOutputInfluxdbTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeNewrelicEvents - account_id: str - r"""New Relic account ID""" - event_type: str - r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" + type: CreateOutputSystemByPackTypeInfluxdb + url: str + r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -2071,8 +1882,14 @@ class CreateOutputSystemByPackOutputNewrelicEventsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - region: NotRequired[RegionOptions] - r"""Which New Relic region endpoint to use.""" + use_v2_api: NotRequired[bool] + r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" + timestamp_precision: NotRequired[CreateOutputSystemByPackTimestampPrecision] + r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" + dynamic_value_field_name: NotRequired[bool] + r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" + value_field_name: NotRequired[str] + r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -2107,10 +1924,16 @@ class CreateOutputSystemByPackOutputNewrelicEventsTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" + auth_type: NotRequired[CreateOutputSystemByPackAuthenticationTypeInfluxdb] + r"""InfluxDB authentication type""" description: NotRequired[str] - custom_url: NotRequired[str] + r"""Optional description for this configuration.""" + database: NotRequired[str] + r"""Database to write to.""" + bucket: NotRequired[str] + r"""Bucket to write to.""" + org: NotRequired[str] + r"""Organization ID for this bucket.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -2133,38 +1956,37 @@ class CreateOutputSystemByPackOutputNewrelicEventsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict] - api_key: NotRequired[str] - r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsInfluxdbTypedDict] + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_account_id: NotRequired[str] - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - template_event_type: NotRequired[str] - r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: NotRequired[str] - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + template_database: NotRequired[str] + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" -class CreateOutputSystemByPackOutputNewrelicEvents(BaseModel): +class CreateOutputSystemByPackOutputInfluxdb(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeNewrelicEvents + type: CreateOutputSystemByPackTypeInfluxdb - account_id: Annotated[str, pydantic.Field(alias="accountId")] - r"""New Relic account ID""" - - event_type: Annotated[str, pydantic.Field(alias="eventType")] - r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" + url: str + r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -2180,8 +2002,24 @@ class CreateOutputSystemByPackOutputNewrelicEvents(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - region: Optional[RegionOptions] = None - r"""Which New Relic region endpoint to use.""" + use_v2_api: Annotated[Optional[bool], pydantic.Field(alias="useV2API")] = None + r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" + + timestamp_precision: Annotated[ + Optional[CreateOutputSystemByPackTimestampPrecision], + pydantic.Field(alias="timestampPrecision"), + ] = None + r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" + + dynamic_value_field_name: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicValueFieldName") + ] = None + r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" + + value_field_name: Annotated[ + Optional[str], pydantic.Field(alias="valueFieldName") + ] = None + r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -2258,13 +2096,22 @@ class CreateOutputSystemByPackOutputNewrelicEvents(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + Optional[CreateOutputSystemByPackAuthenticationTypeInfluxdb], + pydantic.Field(alias="authType"), ] = None - r"""Enter API key directly, or select a stored secret""" + r"""InfluxDB authentication type""" description: Optional[str] = None + r"""Optional description for this configuration.""" - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None + database: Optional[str] = None + r"""Database to write to.""" + + bucket: Optional[str] = None + r"""Bucket to write to.""" + + org: Optional[str] = None + r"""Organization ID for this bucket.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -2316,12 +2163,21 @@ class CreateOutputSystemByPackOutputNewrelicEvents(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsNewrelicEvents], + Optional[CreateOutputSystemByPackPqControlsInfluxdb], pydantic.Field(alias="pqControls"), ] = None - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -2331,20 +2187,10 @@ class CreateOutputSystemByPackOutputNewrelicEvents(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_account_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_accountId") - ] = None - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - - template_event_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_eventType") - ] = None - r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -2356,16 +2202,21 @@ class CreateOutputSystemByPackOutputNewrelicEvents(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_customUrl") + template_database: Annotated[ + Optional[str], pydantic.Field(alias="__template_database") ] = None - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - @field_serializer("region") - def serialize_region(self, value): + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") + ] = None + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + + @field_serializer("timestamp_precision") + def serialize_timestamp_precision(self, value): if isinstance(value, str): try: - return models.RegionOptions(value) + return models.CreateOutputSystemByPackTimestampPrecision(value) except ValueError: return value return value @@ -2392,7 +2243,7 @@ def serialize_on_backpressure(self, value): def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAPI(value) + return models.CreateOutputSystemByPackAuthenticationTypeInfluxdb(value) except ValueError: return value return value @@ -2432,7 +2283,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "region", + "useV2API", + "timestampPrecision", + "dynamicValueFieldName", + "valueFieldName", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -2450,7 +2304,9 @@ def serialize_model(self, handler): "onBackpressure", "authType", "description", - "customUrl", + "database", + "bucket", + "org", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -2463,15 +2319,17 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", + "username", + "password", + "token", + "credentialsSecret", "textSecret", "__template_streamtags", - "__template_region", - "__template_accountId", - "__template_eventType", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_customUrl", + "__template_database", + "__template_bucket", ] ) serialized = handler(self) @@ -2488,55 +2346,26 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeNewrelic(str, Enum): - NEWRELIC = "newrelic" - - -class CreateOutputSystemByPackFieldName(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Name of the metadata field.""" - - SERVICE = "service" - HOSTNAME = "hostname" - TIMESTAMP = "timestamp" - AUDIT_ID = "auditId" - - -class CreateOutputSystemByPackMetadatumTypedDict(TypedDict): - name: CreateOutputSystemByPackFieldName - r"""Name of the metadata field.""" - value: str - r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" - - -class CreateOutputSystemByPackMetadatum(BaseModel): - name: CreateOutputSystemByPackFieldName - r"""Name of the metadata field.""" - - value: str - r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" - - @field_serializer("name") - def serialize_name(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackFieldName(value) - except ValueError: - return value - return value +class CreateOutputSystemByPackTypeNewrelicEvents(str, Enum): + NEWRELIC_EVENTS = "newrelic_events" -class CreateOutputSystemByPackPqControlsNewrelicTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsNewrelic(BaseModel): +class CreateOutputSystemByPackPqControlsNewrelicEvents(BaseModel): pass -class CreateOutputSystemByPackOutputNewrelicTypedDict(TypedDict): +class CreateOutputSystemByPackOutputNewrelicEventsTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeNewrelic + type: CreateOutputSystemByPackTypeNewrelicEvents + account_id: str + r"""New Relic account ID""" + event_type: str + r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -2547,12 +2376,6 @@ class CreateOutputSystemByPackOutputNewrelicTypedDict(TypedDict): r"""Tags for filtering and grouping in @{product}""" region: NotRequired[RegionOptions] r"""Which New Relic region endpoint to use.""" - log_type: NotRequired[str] - r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" - message_field: NotRequired[str] - r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" - metadata: NotRequired[List[CreateOutputSystemByPackMetadatumTypedDict]] - r"""Fields to add to events from this input""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -2589,9 +2412,8 @@ class CreateOutputSystemByPackOutputNewrelicTypedDict(TypedDict): r"""How to handle events when all receivers are exerting backpressure""" auth_type: NotRequired[AuthenticationMethodOptionsAPI] r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" @@ -2615,7 +2437,7 @@ class CreateOutputSystemByPackOutputNewrelicTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsNewrelicTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsNewrelicEventsTypedDict] api_key: NotRequired[str] r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" text_secret: NotRequired[str] @@ -2624,21 +2446,29 @@ class CreateOutputSystemByPackOutputNewrelicTypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_log_type: NotRequired[str] - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" - template_message_field: NotRequired[str] - r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" + template_account_id: NotRequired[str] + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" + template_event_type: NotRequired[str] + r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_custom_url: NotRequired[str] + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" -class CreateOutputSystemByPackOutputNewrelic(BaseModel): +class CreateOutputSystemByPackOutputNewrelicEvents(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeNewrelic + type: CreateOutputSystemByPackTypeNewrelicEvents + + account_id: Annotated[str, pydantic.Field(alias="accountId")] + r"""New Relic account ID""" + + event_type: Annotated[str, pydantic.Field(alias="eventType")] + r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -2657,15 +2487,6 @@ class CreateOutputSystemByPackOutputNewrelic(BaseModel): region: Optional[RegionOptions] = None r"""Which New Relic region endpoint to use.""" - log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None - r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" - - message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None - r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" - - metadata: Optional[List[CreateOutputSystemByPackMetadatum]] = None - r"""Fields to add to events from this input""" - concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -2745,12 +2566,8 @@ class CreateOutputSystemByPackOutputNewrelic(BaseModel): ] = None r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None @@ -2804,7 +2621,7 @@ class CreateOutputSystemByPackOutputNewrelic(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsNewrelic], + Optional[CreateOutputSystemByPackPqControlsNewrelicEvents], pydantic.Field(alias="pqControls"), ] = None @@ -2824,15 +2641,15 @@ class CreateOutputSystemByPackOutputNewrelic(BaseModel): ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_log_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_logType") + template_account_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_accountId") ] = None - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - template_message_field: Annotated[ - Optional[str], pydantic.Field(alias="__template_messageField") + template_event_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_eventType") ] = None - r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" + r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -2844,6 +2661,11 @@ class CreateOutputSystemByPackOutputNewrelic(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_custom_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_customUrl") + ] = None + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + @field_serializer("region") def serialize_region(self, value): if isinstance(value, str): @@ -2916,9 +2738,6 @@ def serialize_model(self, handler): "environment", "streamtags", "region", - "logType", - "messageField", - "metadata", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -2935,7 +2754,6 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "onBackpressure", "authType", - "totalMemoryLimitKB", "description", "customUrl", "pqStrictOrdering", @@ -2954,10 +2772,11 @@ def serialize_model(self, handler): "textSecret", "__template_streamtags", "__template_region", - "__template_logType", - "__template_messageField", + "__template_accountId", + "__template_eventType", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_customUrl", ] ) serialized = handler(self) @@ -2974,26 +2793,55 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeElasticCloud(str, Enum): - ELASTIC_CLOUD = "elastic_cloud" +class CreateOutputSystemByPackTypeNewrelic(str, Enum): + NEWRELIC = "newrelic" -class CreateOutputSystemByPackPqControlsElasticCloudTypedDict(TypedDict): - pass +class CreateOutputSystemByPackFieldName(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Name of the metadata field.""" + SERVICE = "service" + HOSTNAME = "hostname" + TIMESTAMP = "timestamp" + AUDIT_ID = "auditId" -class CreateOutputSystemByPackPqControlsElasticCloud(BaseModel): - pass +class CreateOutputSystemByPackMetadatumTypedDict(TypedDict): + name: CreateOutputSystemByPackFieldName + r"""Name of the metadata field.""" + value: str + r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" -class CreateOutputSystemByPackOutputElasticCloudTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeElasticCloud - url: str - r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" - index: str - r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + +class CreateOutputSystemByPackMetadatum(BaseModel): + name: CreateOutputSystemByPackFieldName + r"""Name of the metadata field.""" + + value: str + r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" + + @field_serializer("name") + def serialize_name(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackFieldName(value) + except ValueError: + return value + return value + + +class CreateOutputSystemByPackPqControlsNewrelicTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsNewrelic(BaseModel): + pass + + +class CreateOutputSystemByPackOutputNewrelicTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeNewrelic pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -3002,6 +2850,14 @@ class CreateOutputSystemByPackOutputElasticCloudTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + region: NotRequired[RegionOptions] + r"""Which New Relic region endpoint to use.""" + log_type: NotRequired[str] + r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" + message_field: NotRequired[str] + r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" + metadata: NotRequired[List[CreateOutputSystemByPackMetadatumTypedDict]] + r"""Fields to add to events from this input""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -3021,17 +2877,12 @@ class CreateOutputSystemByPackOutputElasticCloudTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] - r"""Extra parameters to use in HTTP requests""" - auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] - elastic_pipeline: NotRequired[str] - r"""Optional Elastic Cloud Destination pipeline""" - include_doc_id: NotRequired[bool] - r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -3041,7 +2892,13 @@ class CreateOutputSystemByPackOutputElasticCloudTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -3064,32 +2921,30 @@ class CreateOutputSystemByPackOutputElasticCloudTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsElasticCloudTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsNewrelicTypedDict] + api_key: NotRequired[str] + r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_index: NotRequired[str] - r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_log_type: NotRequired[str] + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + template_message_field: NotRequired[str] + r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_elastic_pipeline: NotRequired[str] - r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputElasticCloud(BaseModel): +class CreateOutputSystemByPackOutputNewrelic(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeElasticCloud - - url: str - r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" - - index: str - r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + type: CreateOutputSystemByPackTypeNewrelic pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -3105,6 +2960,18 @@ class CreateOutputSystemByPackOutputElasticCloud(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + region: Optional[RegionOptions] = None + r"""Which New Relic region endpoint to use.""" + + log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None + r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" + + message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None + r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" + + metadata: Optional[List[CreateOutputSystemByPackMetadatum]] = None + r"""Fields to add to events from this input""" + concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -3143,6 +3010,11 @@ class CreateOutputSystemByPackOutputElasticCloud(BaseModel): ] = None r"""Headers to add to all events""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -3154,23 +3026,6 @@ class CreateOutputSystemByPackOutputElasticCloud(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - extra_params: Annotated[ - Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") - ] = None - r"""Extra parameters to use in HTTP requests""" - - auth: Optional[AuthTypeTemplatemanualAPIKeyAuthType] = None - - elastic_pipeline: Annotated[ - Optional[str], pydantic.Field(alias="elasticPipeline") - ] = None - r"""Optional Elastic Cloud Destination pipeline""" - - include_doc_id: Annotated[Optional[bool], pydantic.Field(alias="includeDocId")] = ( - None - ) - r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -3191,7 +3046,20 @@ class CreateOutputSystemByPackOutputElasticCloud(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + ] = None + r"""Enter API key directly, or select a stored secret""" + + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -3243,40 +3111,55 @@ class CreateOutputSystemByPackOutputElasticCloud(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsElasticCloud], + Optional[CreateOutputSystemByPackPqControlsNewrelic], pydantic.Field(alias="pqControls"), ] = None + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_index: Annotated[ - Optional[str], pydantic.Field(alias="__template_index") + template_log_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logType") ] = None - r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + + template_message_field: Annotated[ + Optional[str], pydantic.Field(alias="__template_messageField") + ] = None + r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_elastic_pipeline: Annotated[ - Optional[str], pydantic.Field(alias="__template_elasticPipeline") - ] = None - r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + @field_serializer("region") + def serialize_region(self, value): + if isinstance(value, str): + try: + return models.RegionOptions(value) + except ValueError: + return value + return value + @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -3295,6 +3178,15 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAPI(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -3330,6 +3222,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "region", + "logType", + "messageField", + "metadata", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -3338,17 +3234,17 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "extraParams", - "auth", - "elasticPipeline", - "includeDocId", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -3361,11 +3257,13 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", - "__template_url", - "__template_index", + "__template_region", + "__template_logType", + "__template_messageField", "__template_failedRequestLoggingMode", - "__template_elasticPipeline", "__template_onBackpressure", ] ) @@ -3383,82 +3281,26 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeElastic(str, Enum): - ELASTIC = "elastic" - - -class CreateOutputSystemByPackElasticVersion(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - - # Auto - AUTO = "auto" - # 6.x - SIX = "6" - # 7.x - SEVEN = "7" - +class CreateOutputSystemByPackTypeElasticCloud(str, Enum): + ELASTIC_CLOUD = "elastic_cloud" -class CreateOutputSystemByPackWriteAction(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" - # Index - INDEX = "index" - # Create - CREATE = "create" +class CreateOutputSystemByPackPqControlsElasticCloudTypedDict(TypedDict): + pass -class CreateOutputSystemByPackURLElasticTypedDict(TypedDict): - url: str - r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" +class CreateOutputSystemByPackPqControlsElasticCloud(BaseModel): + pass -class CreateOutputSystemByPackURLElastic(BaseModel): +class CreateOutputSystemByPackOutputElasticCloudTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeElasticCloud url: str - r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" - - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["weight", "__template_url"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackPqControlsElasticTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsElastic(BaseModel): - pass - - -class CreateOutputSystemByPackOutputElasticTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeElastic + r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" index: str - r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -3467,10 +3309,6 @@ class CreateOutputSystemByPackOutputElasticTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - doc_type: NotRequired[str] - r"""Document type to use for events. Can be overwritten by an event's __type field.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -3494,6 +3332,13 @@ class CreateOutputSystemByPackOutputElasticTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" + extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] + r"""Extra parameters to use in HTTP requests""" + auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] + elastic_pipeline: NotRequired[str] + r"""Optional Elastic Cloud Destination pipeline""" + include_doc_id: NotRequired[bool] + r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -3501,32 +3346,10 @@ class CreateOutputSystemByPackOutputElasticTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] - auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] - elastic_version: NotRequired[CreateOutputSystemByPackElasticVersion] - r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - elastic_pipeline: NotRequired[str] - r"""Optional Elasticsearch destination pipeline""" - include_doc_id: NotRequired[bool] - r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - write_action: NotRequired[CreateOutputSystemByPackWriteAction] - r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" - retry_partial_errors: NotRequired[bool] - r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - url: NotRequired[str] - r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[CreateOutputSystemByPackURLElasticTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -3549,31 +3372,32 @@ class CreateOutputSystemByPackOutputElasticTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsElasticTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsElasticCloudTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_index: NotRequired[str] r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - template_doc_type: NotRequired[str] - r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_elastic_pipeline: NotRequired[str] r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputElastic(BaseModel): +class CreateOutputSystemByPackOutputElasticCloud(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeElastic + type: CreateOutputSystemByPackTypeElasticCloud + + url: str + r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" index: str - r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -3589,14 +3413,6 @@ class CreateOutputSystemByPackOutputElastic(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - - doc_type: Annotated[Optional[str], pydantic.Field(alias="docType")] = None - r"""Document type to use for events. Can be overwritten by an event's __type field.""" - concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -3646,53 +3462,37 @@ class CreateOutputSystemByPackOutputElastic(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - extra_params: Annotated[ Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") ] = None + r"""Extra parameters to use in HTTP requests""" auth: Optional[AuthTypeTemplatemanualAPIKeyAuthType] = None - elastic_version: Annotated[ - Optional[CreateOutputSystemByPackElasticVersion], - pydantic.Field(alias="elasticVersion"), - ] = None - r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - elastic_pipeline: Annotated[ Optional[str], pydantic.Field(alias="elasticPipeline") ] = None - r"""Optional Elasticsearch destination pipeline""" + r"""Optional Elastic Cloud Destination pipeline""" include_doc_id: Annotated[Optional[bool], pydantic.Field(alias="includeDocId")] = ( None ) r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - write_action: Annotated[ - Optional[CreateOutputSystemByPackWriteAction], - pydantic.Field(alias="writeAction"), + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - retry_partial_errors: Annotated[ - Optional[bool], pydantic.Field(alias="retryPartialErrors") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -3700,29 +3500,7 @@ class CreateOutputSystemByPackOutputElastic(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - url: Optional[str] = None - r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - urls: Optional[List[CreateOutputSystemByPackURLElastic]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -3774,7 +3552,7 @@ class CreateOutputSystemByPackOutputElastic(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsElastic], + Optional[CreateOutputSystemByPackPqControlsElasticCloud], pydantic.Field(alias="pqControls"), ] = None @@ -3783,16 +3561,16 @@ class CreateOutputSystemByPackOutputElastic(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_index: Annotated[ Optional[str], pydantic.Field(alias="__template_index") ] = None r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - template_doc_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_docType") - ] = None - r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -3808,11 +3586,6 @@ class CreateOutputSystemByPackOutputElastic(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -3822,24 +3595,6 @@ def serialize_failed_request_logging_mode(self, value): return value return value - @field_serializer("elastic_version") - def serialize_elastic_version(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackElasticVersion(value) - except ValueError: - return value - return value - - @field_serializer("write_action") - def serialize_write_action(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackWriteAction(value) - except ValueError: - return value - return value - @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -3884,8 +3639,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", - "docType", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -3896,24 +3649,15 @@ def serialize_model(self, handler): "extraHttpHeaders", "failedRequestLoggingMode", "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", "extraParams", "auth", - "elasticVersion", "elasticPipeline", "includeDocId", - "writeAction", - "retryPartialErrors", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -3927,12 +3671,11 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_url", "__template_index", - "__template_docType", "__template_failedRequestLoggingMode", "__template_elasticPipeline", "__template_onBackpressure", - "__template_url", ] ) serialized = handler(self) @@ -3949,95 +3692,151 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeMsk(str, Enum): - MSK = "msk" +class CreateOutputSystemByPackTypeElastic(str, Enum): + ELASTIC = "elastic" -class CreateOutputSystemByPackPqControlsMskTypedDict(TypedDict): - pass +class CreateOutputSystemByPackElasticVersion(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" + # Auto + AUTO = "auto" + # 6.x + SIX = "6" + # 7.x + SEVEN = "7" -class CreateOutputSystemByPackPqControlsMsk(BaseModel): - pass +class CreateOutputSystemByPackWriteAction(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" -class CreateOutputSystemByPackOutputMskTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeMsk - brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" - topic: str - r"""The topic to publish events to. Can be overridden using the __topicOut field.""" - aws_authentication_method: AuthenticationMethodOptionsS3CollectorConf - r"""AWS authentication method. Choose Auto to use IAM roles.""" - region: str - r"""Region where the MSK cluster is located""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - ack: NotRequired[AcknowledgmentsOptionsAllLeader] - r"""Control the number of required acknowledgments.""" - format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] - r"""Format to use to serialize events before writing to Kafka.""" - compression: NotRequired[CompressionOptionsGzipLz4] - r"""Codec to use to compress the data before sending to Kafka""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" - flush_event_count: NotRequired[float] - r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" - flush_period_sec: NotRequired[float] - r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" - kafka_schema_registry: NotRequired[ - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict - ] - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - aws_secret_key: NotRequired[str] - endpoint: NotRequired[str] - r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" + # Index + INDEX = "index" + # Create + CREATE = "create" + + +class CreateOutputSystemByPackURLElasticTypedDict(TypedDict): + url: str + r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + +class CreateOutputSystemByPackURLElastic(BaseModel): + url: str + r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" + + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["weight", "__template_url"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackPqControlsElasticTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsElastic(BaseModel): + pass + + +class CreateOutputSystemByPackOutputElasticTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeElastic + index: str + r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + doc_type: NotRequired[str] + r"""Document type to use for events. Can be overwritten by an event's __type field.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access MSK""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] + auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] + elastic_version: NotRequired[CreateOutputSystemByPackElasticVersion] + r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" + elastic_pipeline: NotRequired[str] + r"""Optional Elasticsearch destination pipeline""" + include_doc_id: NotRequired[bool] + r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" + write_action: NotRequired[CreateOutputSystemByPackWriteAction] + r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" + retry_partial_errors: NotRequired[bool] + r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - protobuf_library_id: NotRequired[str] - r"""Select a set of Protobuf definitions for the events you want to send""" - protobuf_encoding_id: NotRequired[str] - r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[CreateOutputSystemByPackURLElasticTypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -4060,51 +3859,31 @@ class CreateOutputSystemByPackOutputMskTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsMskTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsElasticTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_compression: NotRequired[str] - r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_index: NotRequired[str] + r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" + template_doc_type: NotRequired[str] + r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_elastic_pipeline: NotRequired[str] + r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputMsk(BaseModel): +class CreateOutputSystemByPackOutputElastic(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeMsk - - brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" - - topic: str - r"""The topic to publish events to. Can be overridden using the __topicOut field.""" - - aws_authentication_method: Annotated[ - AuthenticationMethodOptionsS3CollectorConf, - pydantic.Field(alias="awsAuthenticationMethod"), - ] - r"""AWS authentication method. Choose Auto to use IAM roles.""" + type: CreateOutputSystemByPackTypeElastic - region: str - r"""Region where the MSK cluster is located""" + index: str + r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -4120,109 +3899,110 @@ class CreateOutputSystemByPackOutputMsk(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - ack: Optional[AcknowledgmentsOptionsAllLeader] = None - r"""Control the number of required acknowledgments.""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - format_: Annotated[ - Optional[RecordDataFormatOptionsJSONProtobuf], pydantic.Field(alias="format") - ] = None - r"""Format to use to serialize events before writing to Kafka.""" + doc_type: Annotated[Optional[str], pydantic.Field(alias="docType")] = None + r"""Document type to use for events. Can be overwritten by an event's __type field.""" - compression: Optional[CompressionOptionsGzipLz4] = None - r"""Codec to use to compress the data before sending to Kafka""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + r"""Maximum size, in KB, of the request body""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - kafka_schema_registry: Annotated[ - Optional[KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth], - pydantic.Field(alias="kafkaSchemaRegistry"), - ] = None - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Maximum time to wait for a connection to complete successfully""" + r"""Headers to add to all events""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Maximum time to wait for Kafka to respond to a request""" - - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + r"""List of headers that are safe to log in plain text""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - endpoint: Optional[str] = None - r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + extra_params: Annotated[ + Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") ] = None - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + auth: Optional[AuthTypeTemplatemanualAPIKeyAuthType] = None + + elastic_version: Annotated[ + Optional[CreateOutputSystemByPackElasticVersion], + pydantic.Field(alias="elasticVersion"), ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + elastic_pipeline: Annotated[ + Optional[str], pydantic.Field(alias="elasticPipeline") ] = None - r"""Use Assume Role credentials to access MSK""" + r"""Optional Elasticsearch destination pipeline""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + include_doc_id: Annotated[Optional[bool], pydantic.Field(alias="includeDocId")] = ( None ) - r"""Amazon Resource Name (ARN) of the role to assume""" + r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") + write_action: Annotated[ + Optional[CreateOutputSystemByPackWriteAction], + pydantic.Field(alias="writeAction"), ] = None - r"""External ID to use when assuming role""" + r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + retry_partial_errors: Annotated[ + Optional[bool], pydantic.Field(alias="retryPartialErrors") ] = None - 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).""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -4230,21 +4010,30 @@ class CreateOutputSystemByPackOutputMsk(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + url: Optional[str] = None + r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - protobuf_library_id: Annotated[ - Optional[str], pydantic.Field(alias="protobufLibraryId") + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + urls: Optional[List[CreateOutputSystemByPackURLElastic]] = None + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Select a set of Protobuf definitions for the events you want to send""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - protobuf_encoding_id: Annotated[ - Optional[str], pydantic.Field(alias="protobufEncodingId") + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + r"""How far back in time to keep traffic stats for load balancing purposes""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -4296,7 +4085,7 @@ class CreateOutputSystemByPackOutputMsk(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsMsk], + Optional[CreateOutputSystemByPackPqControlsElastic], pydantic.Field(alias="pqControls"), ] = None @@ -4305,88 +4094,59 @@ class CreateOutputSystemByPackOutputMsk(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") - ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - - template_compression: Annotated[ - Optional[str], pydantic.Field(alias="__template_compression") - ] = None - r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" - - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_index: Annotated[ + Optional[str], pydantic.Field(alias="__template_index") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_doc_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_docType") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + template_elastic_pipeline: Annotated[ + Optional[str], pydantic.Field(alias="__template_elasticPipeline") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - @field_serializer("ack") - def serialize_ack(self, value): - if isinstance(value, str): - try: - return models.AcknowledgmentsOptionsAllLeader(value) - except ValueError: - return value - return value + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.RecordDataFormatOptionsJSONProtobuf(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("elastic_version") + def serialize_elastic_version(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipLz4(value) + return models.CreateOutputSystemByPackElasticVersion(value) except ValueError: return value return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("write_action") + def serialize_write_action(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + return models.CreateOutputSystemByPackWriteAction(value) except ValueError: return value return value @@ -4435,36 +4195,36 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "kafkaSchemaRegistry", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "awsSecretKey", - "endpoint", - "reuseConnections", + "loadBalanced", + "docType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "tls", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "extraParams", + "auth", + "elasticVersion", + "elasticPipeline", + "includeDocId", + "writeAction", + "retryPartialErrors", "onBackpressure", "description", - "awsApiKey", - "awsSecret", - "protobufLibraryId", - "protobufEncodingId", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -4478,16 +4238,12 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_topic", - "__template_format", - "__template_compression", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_index", + "__template_docType", + "__template_failedRequestLoggingMode", + "__template_elasticPipeline", "__template_onBackpressure", - "__template_awsApiKey", + "__template_url", ] ) serialized = handler(self) @@ -4504,26 +4260,30 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeConfluentCloud(str, Enum): - CONFLUENT_CLOUD = "confluent_cloud" +class CreateOutputSystemByPackTypeMsk(str, Enum): + MSK = "msk" -class CreateOutputSystemByPackPqControlsConfluentCloudTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsMskTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsConfluentCloud(BaseModel): +class CreateOutputSystemByPackPqControlsMsk(BaseModel): pass -class CreateOutputSystemByPackOutputConfluentCloudTypedDict(TypedDict): +class CreateOutputSystemByPackOutputMskTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeConfluentCloud + type: CreateOutputSystemByPackTypeMsk brokers: List[str] - r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" topic: str r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + aws_authentication_method: AuthenticationMethodOptionsS3CollectorConf + r"""AWS authentication method. Choose Auto to use IAM roles.""" + region: str + r"""Region where the MSK cluster is located""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -4532,7 +4292,6 @@ class CreateOutputSystemByPackOutputConfluentCloudTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] ack: NotRequired[AcknowledgmentsOptionsAllLeader] r"""Control the number of required acknowledgments.""" format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] @@ -4564,11 +4323,29 @@ class CreateOutputSystemByPackOutputConfluentCloudTypedDict(TypedDict): r"""Maximum time to wait for Kafka to respond to an authentication request""" reauthentication_threshold: NotRequired[float] r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: NotRequired[AuthenticationTypeTypedDict] - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + aws_secret_key: NotRequired[str] + endpoint: NotRequired[str] + r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access MSK""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" protobuf_library_id: NotRequired[str] r"""Select a set of Protobuf definitions for the events you want to send""" protobuf_encoding_id: NotRequired[str] @@ -4595,33 +4372,52 @@ class CreateOutputSystemByPackOutputConfluentCloudTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsConfluentCloudTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsMskTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_brokers: NotRequired[str] - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" template_topic: NotRequired[str] r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_compression: NotRequired[str] r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputSystemByPackOutputConfluentCloud(BaseModel): +class CreateOutputSystemByPackOutputMsk(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeConfluentCloud + type: CreateOutputSystemByPackTypeMsk brokers: List[str] - r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" topic: str r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + aws_authentication_method: Annotated[ + AuthenticationMethodOptionsS3CollectorConf, + pydantic.Field(alias="awsAuthenticationMethod"), + ] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + region: str + r"""Region where the MSK cluster is located""" + pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -4636,8 +4432,6 @@ class CreateOutputSystemByPackOutputConfluentCloud(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - ack: Optional[AcknowledgmentsOptionsAllLeader] = None r"""Control the number of required acknowledgments.""" @@ -4703,8 +4497,44 @@ class CreateOutputSystemByPackOutputConfluentCloud(BaseModel): ] = None r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: Optional[AuthenticationType] = None - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + + endpoint: Optional[str] = None + r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access MSK""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -4712,6 +4542,12 @@ class CreateOutputSystemByPackOutputConfluentCloud(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" protobuf_library_id: Annotated[ Optional[str], pydantic.Field(alias="protobufLibraryId") @@ -4773,7 +4609,7 @@ class CreateOutputSystemByPackOutputConfluentCloud(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsConfluentCloud], + Optional[CreateOutputSystemByPackPqControlsMsk], pydantic.Field(alias="pqControls"), ] = None @@ -4782,11 +4618,6 @@ class CreateOutputSystemByPackOutputConfluentCloud(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_brokers: Annotated[ - Optional[str], pydantic.Field(alias="__template_brokers") - ] = None - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" - template_topic: Annotated[ Optional[str], pydantic.Field(alias="__template_topic") ] = None @@ -4802,11 +4633,41 @@ class CreateOutputSystemByPackOutputConfluentCloud(BaseModel): ] = None r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + @field_serializer("ack") def serialize_ack(self, value): if isinstance(value, str): @@ -4834,6 +4695,15 @@ def serialize_compression(self, value): return value return value + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsS3CollectorConf(value) + except ValueError: + return value + return value + @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -4878,7 +4748,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "tls", "ack", "format", "compression", @@ -4894,9 +4763,19 @@ def serialize_model(self, handler): "backoffRate", "authenticationTimeout", "reauthenticationThreshold", - "sasl", + "awsSecretKey", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "tls", "onBackpressure", "description", + "awsApiKey", + "awsSecret", "protobufLibraryId", "protobufEncodingId", "pqStrictOrdering", @@ -4912,11 +4791,16 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_brokers", "__template_topic", "__template_format", "__template_compression", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_onBackpressure", + "__template_awsApiKey", ] ) serialized = handler(self) @@ -4933,24 +4817,24 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeKafka(str, Enum): - KAFKA = "kafka" +class CreateOutputSystemByPackTypeConfluentCloud(str, Enum): + CONFLUENT_CLOUD = "confluent_cloud" -class CreateOutputSystemByPackPqControlsKafkaTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsConfluentCloudTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsKafka(BaseModel): +class CreateOutputSystemByPackPqControlsConfluentCloud(BaseModel): pass -class CreateOutputSystemByPackOutputKafkaTypedDict(TypedDict): +class CreateOutputSystemByPackOutputConfluentCloudTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeKafka + type: CreateOutputSystemByPackTypeConfluentCloud brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" + r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" topic: str r"""The topic to publish events to. Can be overridden using the __topicOut field.""" pipeline: NotRequired[str] @@ -4961,6 +4845,7 @@ class CreateOutputSystemByPackOutputKafkaTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] ack: NotRequired[AcknowledgmentsOptionsAllLeader] r"""Control the number of required acknowledgments.""" format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] @@ -4994,10 +4879,10 @@ class CreateOutputSystemByPackOutputKafkaTypedDict(TypedDict): r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" sasl: NotRequired[AuthenticationTypeTypedDict] r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" protobuf_library_id: NotRequired[str] r"""Select a set of Protobuf definitions for the events you want to send""" protobuf_encoding_id: NotRequired[str] @@ -5024,9 +4909,11 @@ class CreateOutputSystemByPackOutputKafkaTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsKafkaTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsConfluentCloudTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_brokers: NotRequired[str] + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" template_topic: NotRequired[str] r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" template_format: NotRequired[str] @@ -5037,14 +4924,14 @@ class CreateOutputSystemByPackOutputKafkaTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputKafka(BaseModel): +class CreateOutputSystemByPackOutputConfluentCloud(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeKafka + type: CreateOutputSystemByPackTypeConfluentCloud brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" + r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" topic: str r"""The topic to publish events to. Can be overridden using the __topicOut field.""" @@ -5063,6 +4950,8 @@ class CreateOutputSystemByPackOutputKafka(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + ack: Optional[AcknowledgmentsOptionsAllLeader] = None r"""Control the number of required acknowledgments.""" @@ -5131,14 +5020,13 @@ class CreateOutputSystemByPackOutputKafka(BaseModel): sasl: Optional[AuthenticationType] = None r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" protobuf_library_id: Annotated[ Optional[str], pydantic.Field(alias="protobufLibraryId") @@ -5200,7 +5088,7 @@ class CreateOutputSystemByPackOutputKafka(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsKafka], + Optional[CreateOutputSystemByPackPqControlsConfluentCloud], pydantic.Field(alias="pqControls"), ] = None @@ -5209,6 +5097,11 @@ class CreateOutputSystemByPackOutputKafka(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_brokers: Annotated[ + Optional[str], pydantic.Field(alias="__template_brokers") + ] = None + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + template_topic: Annotated[ Optional[str], pydantic.Field(alias="__template_topic") ] = None @@ -5300,6 +5193,7 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "tls", "ack", "format", "compression", @@ -5316,7 +5210,6 @@ def serialize_model(self, handler): "authenticationTimeout", "reauthenticationThreshold", "sasl", - "tls", "onBackpressure", "description", "protobufLibraryId", @@ -5334,6 +5227,7 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_brokers", "__template_topic", "__template_format", "__template_compression", @@ -5354,26 +5248,26 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeExabeam(str, Enum): - EXABEAM = "exabeam" +class CreateOutputSystemByPackTypeKafka(str, Enum): + KAFKA = "kafka" -class CreateOutputSystemByPackOutputExabeamTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsKafkaTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsKafka(BaseModel): + pass + + +class CreateOutputSystemByPackOutputKafkaTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeExabeam - bucket: str - r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" - region: str - r"""Region where the bucket is located""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Google Cloud Storage service endpoint""" - collector_instance_id: str - r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 - - """ + type: CreateOutputSystemByPackTypeKafka + brokers: List[str] + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" + topic: str + r"""The topic to publish events to. Can be overridden using the __topicOut field.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -5382,90 +5276,94 @@ class CreateOutputSystemByPackOutputExabeamTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptionsArchiveColdline] - r"""Storage class to select for uploaded objects""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + ack: NotRequired[AcknowledgmentsOptionsAllLeader] + r"""Control the number of required acknowledgments.""" + format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] + r"""Format to use to serialize events before writing to Kafka.""" + compression: NotRequired[CompressionOptionsGzipLz4] + r"""Codec to use to compress the data before sending to Kafka""" + max_record_size_kb: NotRequired[float] + r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + flush_event_count: NotRequired[float] + r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + flush_period_sec: NotRequired[float] + r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + kafka_schema_registry: NotRequired[ + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict + ] + connection_timeout: NotRequired[float] + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + sasl: NotRequired[AuthenticationTypeTypedDict] + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - encoded_configuration: NotRequired[str] - r"""Enter an encoded string containing Exabeam configurations""" - site_name: NotRequired[str] - r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" - site_id: NotRequired[str] - r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" - timezone_offset: NotRequired[str] - aws_api_key: NotRequired[str] - r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - aws_secret_key: NotRequired[str] - r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" description: NotRequired[str] - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + r"""Optional description for this configuration.""" + protobuf_library_id: NotRequired[str] + r"""Select a set of Protobuf definitions for the events you want to send""" + protobuf_encoding_id: NotRequired[str] + r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsKafkaTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_compression: NotRequired[str] + r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputExabeam(BaseModel): +class CreateOutputSystemByPackOutputKafka(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeExabeam - - bucket: str - r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" - - region: str - r"""Region where the bucket is located""" - - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - - endpoint: str - r"""Google Cloud Storage service endpoint""" + type: CreateOutputSystemByPackTypeKafka - collector_instance_id: Annotated[str, pydantic.Field(alias="collectorInstanceId")] - r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 + brokers: List[str] + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" - """ + topic: str + r"""The topic to publish events to. Can be overridden using the __topicOut field.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -5481,172 +5379,196 @@ class CreateOutputSystemByPackOutputExabeam(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - object_acl: Annotated[ - Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], - pydantic.Field(alias="objectACL"), - ] = None - r"""Object ACL to assign to uploaded objects""" + ack: Optional[AcknowledgmentsOptionsAllLeader] = None + r"""Control the number of required acknowledgments.""" - storage_class: Annotated[ - Optional[StorageClassOptionsArchiveColdline], - pydantic.Field(alias="storageClass"), + format_: Annotated[ + Optional[RecordDataFormatOptionsJSONProtobuf], pydantic.Field(alias="format") ] = None - r"""Storage class to select for uploaded objects""" + r"""Format to use to serialize events before writing to Kafka.""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + compression: Optional[CompressionOptionsGzipLz4] = None + r"""Codec to use to compress the data before sending to Kafka""" + + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Add the Output ID value to staging location""" + r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + kafka_schema_registry: Annotated[ + Optional[KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth], + pydantic.Field(alias="kafkaSchemaRegistry"), ] = None - r"""Remove empty staging directories after moving files""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + r"""Maximum time to wait for a connection to complete successfully""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + r"""Maximum time to wait for Kafka to respond to a request""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Maximum time to wait for Kafka to respond to an authentication request""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") ] = None + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - orphans: Optional[OrphanFileRecoveryType] = None + sasl: Optional[AuthenticationType] = None + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - encoded_configuration: Annotated[ - Optional[str], pydantic.Field(alias="encodedConfiguration") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Enter an encoded string containing Exabeam configurations""" + r"""How to handle events when all receivers are exerting backpressure""" - site_name: Annotated[Optional[str], pydantic.Field(alias="siteName")] = None - r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - site_id: Annotated[Optional[str], pydantic.Field(alias="siteId")] = None - r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" + protobuf_library_id: Annotated[ + Optional[str], pydantic.Field(alias="protobufLibraryId") + ] = None + r"""Select a set of Protobuf definitions for the events you want to send""" - timezone_offset: Annotated[ - Optional[str], pydantic.Field(alias="timezoneOffset") + protobuf_encoding_id: Annotated[ + Optional[str], pydantic.Field(alias="protobufEncodingId") ] = None + r"""Select the type of object you want the Protobuf definitions to use for event encoding""" - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - description: Optional[str] = None + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" + + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + ] = None + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackPqControlsKafka], + pydantic.Field(alias="pqControls"), + ] = None template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + template_compression: Annotated[ + Optional[str], pydantic.Field(alias="__template_compression") ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( - value - ) + return models.AcknowledgmentsOptionsAllLeader(value) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.StorageClassOptionsArchiveColdline(value) + return models.RecordDataFormatOptionsJSONProtobuf(value) + except ValueError: + return value + return value + + @field_serializer("compression") + def serialize_compression(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsGzipLz4(value) except ValueError: return value return value @@ -5655,16 +5577,34 @@ def serialize_storage_class(self, value): def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -5677,37 +5617,43 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "objectACL", - "storageClass", - "reuseConnections", - "rejectUnauthorized", - "addIdToStagePath", - "removeEmptyDirs", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", + "ack", + "format", + "compression", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "kafkaSchemaRegistry", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "retrySettings", - "orphans", - "maxFileSizeMB", - "encodedConfiguration", - "siteName", - "siteId", - "timezoneOffset", - "awsApiKey", - "awsSecretKey", "description", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "protobufLibraryId", + "protobufEncodingId", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_region", - "__template_endpoint", - "__template_objectACL", - "__template_storageClass", + "__template_topic", + "__template_format", + "__template_compression", "__template_onBackpressure", ] ) @@ -5725,24 +5671,26 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeGooglePubsub(str, Enum): - GOOGLE_PUBSUB = "google_pubsub" - - -class CreateOutputSystemByPackPqControlsGooglePubsubTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsGooglePubsub(BaseModel): - pass +class CreateOutputSystemByPackTypeExabeam(str, Enum): + EXABEAM = "exabeam" -class CreateOutputSystemByPackOutputGooglePubsubTypedDict(TypedDict): +class CreateOutputSystemByPackOutputExabeamTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeGooglePubsub - topic_name: str - r"""ID of the topic to send events to.""" + type: CreateOutputSystemByPackTypeExabeam + bucket: str + r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" + region: str + r"""Region where the bucket is located""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Google Cloud Storage service endpoint""" + collector_instance_id: str + r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 + + """ pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -5751,74 +5699,91 @@ class CreateOutputSystemByPackOutputGooglePubsubTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - create_topic: NotRequired[bool] - r"""If enabled, create topic if it does not exist.""" - ordered_delivery: NotRequired[bool] - r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" - region: NotRequired[str] - r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" - google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - secret: NotRequired[str] - r"""Select or create a stored text secret""" - batch_size: NotRequired[float] - r"""The maximum number of items the Google API should batch before it sends them to the topic.""" - batch_timeout: NotRequired[float] - r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" - max_queue_size: NotRequired[float] - r"""Maximum number of queued batches before blocking.""" - max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of batches to send.""" - flush_period: NotRequired[float] - r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" - max_in_progress: NotRequired[float] - r"""The maximum number of in-progress API requests before backpressure is applied.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] + object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptionsArchiveColdline] + r"""Storage class to select for uploaded objects""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + encoded_configuration: NotRequired[str] + r"""Enter an encoded string containing Exabeam configurations""" + site_name: NotRequired[str] + r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" + site_id: NotRequired[str] + r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" + timezone_offset: NotRequired[str] + aws_api_key: NotRequired[str] + r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" + aws_secret_key: NotRequired[str] + r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" description: NotRequired[str] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsGooglePubsubTypedDict] + r"""Optional description for this configuration.""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_name: NotRequired[str] - r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputGooglePubsub(BaseModel): +class CreateOutputSystemByPackOutputExabeam(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeGooglePubsub + type: CreateOutputSystemByPackTypeExabeam - topic_name: Annotated[str, pydantic.Field(alias="topicName")] - r"""ID of the topic to send events to.""" + bucket: str + r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" + + region: str + r"""Region where the bucket is located""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + + endpoint: str + r"""Google Cloud Storage service endpoint""" + + collector_instance_id: Annotated[str, pydantic.Field(alias="collectorInstanceId")] + r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 + + """ pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -5834,179 +5799,191 @@ class CreateOutputSystemByPackOutputGooglePubsub(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - create_topic: Annotated[Optional[bool], pydantic.Field(alias="createTopic")] = None - r"""If enabled, create topic if it does not exist.""" + object_acl: Annotated[ + Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], + pydantic.Field(alias="objectACL"), + ] = None + r"""Object ACL to assign to uploaded objects""" - ordered_delivery: Annotated[ - Optional[bool], pydantic.Field(alias="orderedDelivery") + storage_class: Annotated[ + Optional[StorageClassOptionsArchiveColdline], + pydantic.Field(alias="storageClass"), ] = None - r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" + r"""Storage class to select for uploaded objects""" - region: Optional[str] = None - r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" - google_auth_method: Annotated[ - Optional[GoogleAuthenticationMethodOptions], - pydantic.Field(alias="googleAuthMethod"), + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + r"""Add the Output ID value to staging location""" - secret: Optional[str] = None - r"""Select or create a stored text secret""" + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" - batch_size: Annotated[Optional[float], pydantic.Field(alias="batchSize")] = None - r"""The maximum number of items the Google API should batch before it sends them to the topic.""" + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - batch_timeout: Annotated[Optional[float], pydantic.Field(alias="batchTimeout")] = ( - None - ) - r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + ] = None + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( None ) - r"""Maximum number of queued batches before blocking.""" + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""Maximum size (KB) of batches to send.""" + r"""How to handle events when all receivers are exerting backpressure""" - flush_period: Annotated[Optional[float], pydantic.Field(alias="flushPeriod")] = None - r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - max_in_progress: Annotated[ - Optional[float], pydantic.Field(alias="maxInProgress") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None - r"""The maximum number of in-progress API requests before backpressure is applied.""" + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None + orphans: Optional[OrphanFileRecoveryType] = None - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + encoded_configuration: Annotated[ + Optional[str], pydantic.Field(alias="encodedConfiguration") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Enter an encoded string containing Exabeam configurations""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + site_name: Annotated[Optional[str], pydantic.Field(alias="siteName")] = None + r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") - ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + site_id: Annotated[Optional[str], pydantic.Field(alias="siteId")] = None + r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + timezone_offset: Annotated[ + Optional[str], pydantic.Field(alias="timezoneOffset") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") - ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Codec to use to compress the persisted data""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsGooglePubsub], - pydantic.Field(alias="pqControls"), - ] = None + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_topicName") - ] = None - r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" - template_region: Annotated[ Optional[str], pydantic.Field(alias="__template_region") ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") + ] = None + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("google_auth_method") - def serialize_google_auth_method(self, value): - if isinstance(value, str): - try: - return models.GoogleAuthenticationMethodOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("object_acl") + def serialize_object_acl(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( + value + ) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.StorageClassOptionsArchiveColdline(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value @@ -6019,35 +5996,37 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "createTopic", - "orderedDelivery", - "region", - "googleAuthMethod", - "serviceAccountCredentials", - "secret", - "batchSize", - "batchTimeout", - "maxQueueSize", - "maxRecordSizeKB", - "flushPeriod", - "maxInProgress", + "objectACL", + "storageClass", + "reuseConnections", + "rejectUnauthorized", + "addIdToStagePath", + "removeEmptyDirs", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "retrySettings", + "orphans", + "maxFileSizeMB", + "encodedConfiguration", + "siteName", + "siteId", + "timezoneOffset", + "awsApiKey", + "awsSecretKey", "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_topicName", "__template_region", + "__template_endpoint", + "__template_objectACL", + "__template_storageClass", "__template_onBackpressure", ] ) @@ -6065,55 +6044,24 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeGoogleCloudObservability(str, Enum): - GOOGLE_CLOUD_OBSERVABILITY = "google_cloud_observability" - - -class CreateOutputSystemByPackProtocolGoogleCloudObservability( - str, Enum, metaclass=utils.OpenEnumMeta -): - GRPC = "grpc" - - -class CreateOutputSystemByPackOtlpVersionGoogleCloudObservability( - str, Enum, metaclass=utils.OpenEnumMeta -): - ONE_DOT_3_DOT_1 = "1.3.1" - - -class CreateOutputSystemByPackEndpointGoogleCloudObservability( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - - TELEMETRY_GOOGLEAPIS_COM_443 = "telemetry.googleapis.com:443" - - -class CreateOutputSystemByPackGoogleAuthenticationMethod( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" - - # Auto - AUTO = "auto" - # Secret - SECRET = "secret" +class CreateOutputSystemByPackTypeGooglePubsub(str, Enum): + GOOGLE_PUBSUB = "google_pubsub" -class CreateOutputSystemByPackPqControlsGoogleCloudObservabilityTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsGooglePubsubTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsGoogleCloudObservability(BaseModel): +class CreateOutputSystemByPackPqControlsGooglePubsub(BaseModel): pass -class CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGooglePubsubTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeGoogleCloudObservability - google_auth_method: CreateOutputSystemByPackGoogleAuthenticationMethod - r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" + type: CreateOutputSystemByPackTypeGooglePubsub + topic_name: str + r"""ID of the topic to send events to.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -6122,40 +6070,34 @@ class CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict(TypedDict) r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - protocol: NotRequired[CreateOutputSystemByPackProtocolGoogleCloudObservability] - otlp_version: NotRequired[ - CreateOutputSystemByPackOtlpVersionGoogleCloudObservability - ] - endpoint: NotRequired[CreateOutputSystemByPackEndpointGoogleCloudObservability] - r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - dynamic_headers_enabled: NotRequired[bool] - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: NotRequired[str] - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - keep_alive_time: NotRequired[float] - r"""How often the sender should ping the peer to keep the connection open""" - tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] - max_payload_events: NotRequired[float] - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" + create_topic: NotRequired[bool] + r"""If enabled, create topic if it does not exist.""" + ordered_delivery: NotRequired[bool] + r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" + region: NotRequired[str] + r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" + google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" + batch_size: NotRequired[float] + r"""The maximum number of items the Google API should batch before it sends them to the topic.""" + batch_timeout: NotRequired[float] + r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" + max_queue_size: NotRequired[float] + r"""Maximum number of queued batches before blocking.""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of batches to send.""" + flush_period: NotRequired[float] + r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" + max_in_progress: NotRequired[float] + r"""The maximum number of in-progress API requests before backpressure is applied.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -6178,28 +6120,25 @@ class CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict(TypedDict) r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackPqControlsGoogleCloudObservabilityTypedDict - ] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsGooglePubsubTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_topic_name: NotRequired[str] + r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputGoogleCloudObservability(BaseModel): +class CreateOutputSystemByPackOutputGooglePubsub(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeGoogleCloudObservability + type: CreateOutputSystemByPackTypeGooglePubsub - google_auth_method: Annotated[ - CreateOutputSystemByPackGoogleAuthenticationMethod, - pydantic.Field(alias="googleAuthMethod"), - ] - r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" + topic_name: Annotated[str, pydantic.Field(alias="topicName")] + r"""ID of the topic to send events to.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -6215,67 +6154,56 @@ class CreateOutputSystemByPackOutputGoogleCloudObservability(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - protocol: Optional[CreateOutputSystemByPackProtocolGoogleCloudObservability] = None + create_topic: Annotated[Optional[bool], pydantic.Field(alias="createTopic")] = None + r"""If enabled, create topic if it does not exist.""" - otlp_version: Annotated[ - Optional[CreateOutputSystemByPackOtlpVersionGoogleCloudObservability], - pydantic.Field(alias="otlpVersion"), + ordered_delivery: Annotated[ + Optional[bool], pydantic.Field(alias="orderedDelivery") ] = None + r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" - endpoint: Optional[CreateOutputSystemByPackEndpointGoogleCloudObservability] = None - r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" + region: Optional[str] = None + r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" - metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + google_auth_method: Annotated[ + Optional[GoogleAuthenticationMethodOptions], + pydantic.Field(alias="googleAuthMethod"), + ] = None + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") - ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" - - dynamic_headers_field: Annotated[ - Optional[str], pydantic.Field(alias="dynamicHeadersField") - ] = None - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") ] = None - r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + secret: Optional[str] = None + r"""Select or create a stored text secret""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + batch_size: Annotated[Optional[float], pydantic.Field(alias="batchSize")] = None + r"""The maximum number of items the Google API should batch before it sends them to the topic.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + batch_timeout: Annotated[Optional[float], pydantic.Field(alias="batchTimeout")] = ( + None + ) + r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking.""" - keep_alive_time: Annotated[ - Optional[float], pydantic.Field(alias="keepAliveTime") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""How often the sender should ping the peer to keep the connection open""" + r"""Maximum size (KB) of batches to send.""" - tls: Optional[TLSSettingsClientSideTypeExtended] = None + flush_period: Annotated[Optional[float], pydantic.Field(alias="flushPeriod")] = None + r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + max_in_progress: Annotated[ + Optional[float], pydantic.Field(alias="maxInProgress") ] = None - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" + r"""The maximum number of in-progress API requests before backpressure is applied.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -6283,9 +6211,7 @@ class CreateOutputSystemByPackOutputGoogleCloudObservability(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - secret: Optional[str] = None - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -6337,7 +6263,7 @@ class CreateOutputSystemByPackOutputGoogleCloudObservability(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsGoogleCloudObservability], + Optional[CreateOutputSystemByPackPqControlsGooglePubsub], pydantic.Field(alias="pqControls"), ] = None @@ -6346,1490 +6272,498 @@ class CreateOutputSystemByPackOutputGoogleCloudObservability(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_topic_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_topicName") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackProtocolGoogleCloudObservability( - value - ) - except ValueError: - return value - return value - - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): - if isinstance(value, str): - try: - return ( - models.CreateOutputSystemByPackOtlpVersionGoogleCloudObservability( - value - ) - ) - except ValueError: - return value - return value - - @field_serializer("endpoint") - def serialize_endpoint(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackEndpointGoogleCloudObservability( - value - ) - except ValueError: - return value - return value - - @field_serializer("google_auth_method") - def serialize_google_auth_method(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackGoogleAuthenticationMethod(value) - except ValueError: - return value - return value - - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): - if isinstance(value, str): - try: - return models.FailedRequestLoggingModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "protocol", - "otlpVersion", - "endpoint", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", - "concurrency", - "maxPayloadSizeKB", - "timeoutSec", - "flushPeriodSec", - "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "tls", - "maxPayloadEvents", - "onBackpressure", - "description", - "secret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackTypeGoogleCloudLogging(str, Enum): - GOOGLE_CLOUD_LOGGING = "google_cloud_logging" - - -class CreateOutputSystemByPackLogLocationType(str, Enum, metaclass=utils.OpenEnumMeta): - # Project - PROJECT = "project" - # Organization - ORGANIZATION = "organization" - # Billing Account - BILLING_ACCOUNT = "billingAccount" - # Folder - FOLDER = "folder" - - -class CreateOutputSystemByPackPayloadFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Format to use when sending payload. Defaults to Text.""" - - # Text - TEXT = "text" - # JSON - JSON = "json" - - -class CreateOutputSystemByPackPqControlsGoogleCloudLoggingTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsGoogleCloudLogging(BaseModel): - pass - - -class CreateOutputSystemByPackOutputGoogleCloudLoggingTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeGoogleCloudLogging - log_location_type: CreateOutputSystemByPackLogLocationType - log_name_expression: str - r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" - log_location_expression: str - r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - sanitize_log_names: NotRequired[bool] - payload_format: NotRequired[CreateOutputSystemByPackPayloadFormat] - r"""Format to use when sending payload. Defaults to Text.""" - log_labels: NotRequired[List[LogLabelConfOutputGoogleCloudLoggingTypedDict]] - r"""Labels to apply to the log entry""" - resource_type_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" - resource_type_labels: NotRequired[ - List[LogLabelConfOutputGoogleCloudLoggingTypedDict] - ] - r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" - severity_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" - insert_id_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the insert ID field.""" - google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - secret: NotRequired[str] - r"""Select or create a stored text secret""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body.""" - max_payload_events: NotRequired[float] - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" - throttle_rate_req_per_sec: NotRequired[int] - r"""Maximum number of requests to limit to per second.""" - request_method_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - request_url_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - request_size_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - status_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - response_size_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - user_agent_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - remote_ip_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - server_ip_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - referer_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - latency_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_lookup_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_hit_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_validated_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_fill_bytes_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - protocol_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - id_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - producer_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - first_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - last_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - file_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - line_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - function_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - uid_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - index_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - total_splits_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - trace_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - span_id_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - trace_sampled_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] - payload_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackPqControlsGoogleCloudLoggingTypedDict - ] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_log_location_type: NotRequired[str] - r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" - template_log_name_expression: NotRequired[str] - r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" - template_payload_format: NotRequired[str] - r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" - template_resource_type_expression: NotRequired[str] - r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" - template_severity_expression: NotRequired[str] - r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" - template_insert_id_expression: NotRequired[str] - r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" - template_trace_expression: NotRequired[str] - r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" - template_span_id_expression: NotRequired[str] - r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" - template_trace_sampled_expression: NotRequired[str] - r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_log_location_expression: NotRequired[str] - r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" - template_payload_expression: NotRequired[str] - r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" - - -class CreateOutputSystemByPackOutputGoogleCloudLogging(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeGoogleCloudLogging - - log_location_type: Annotated[ - CreateOutputSystemByPackLogLocationType, pydantic.Field(alias="logLocationType") - ] - - log_name_expression: Annotated[str, pydantic.Field(alias="logNameExpression")] - r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" - - log_location_expression: Annotated[ - str, pydantic.Field(alias="logLocationExpression") - ] - r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - sanitize_log_names: Annotated[ - Optional[bool], pydantic.Field(alias="sanitizeLogNames") - ] = None - - payload_format: Annotated[ - Optional[CreateOutputSystemByPackPayloadFormat], - pydantic.Field(alias="payloadFormat"), - ] = None - r"""Format to use when sending payload. Defaults to Text.""" - - log_labels: Annotated[ - Optional[List[LogLabelConfOutputGoogleCloudLogging]], - pydantic.Field(alias="logLabels"), - ] = None - r"""Labels to apply to the log entry""" - - resource_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="resourceTypeExpression") - ] = None - r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" - - resource_type_labels: Annotated[ - Optional[List[LogLabelConfOutputGoogleCloudLogging]], - pydantic.Field(alias="resourceTypeLabels"), - ] = None - r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" - - severity_expression: Annotated[ - Optional[str], pydantic.Field(alias="severityExpression") - ] = None - r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" - - insert_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="insertIdExpression") - ] = None - r"""JavaScript expression to compute the value of the insert ID field.""" - - google_auth_method: Annotated[ - Optional[GoogleAuthenticationMethodOptions], - pydantic.Field(alias="googleAuthMethod"), - ] = None - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") - ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - - secret: Optional[str] = None - r"""Select or create a stored text secret""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body.""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" - - throttle_rate_req_per_sec: Annotated[ - Optional[int], pydantic.Field(alias="throttleRateReqPerSec") - ] = None - r"""Maximum number of requests to limit to per second.""" - - request_method_expression: Annotated[ - Optional[str], pydantic.Field(alias="requestMethodExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - request_url_expression: Annotated[ - Optional[str], pydantic.Field(alias="requestUrlExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - request_size_expression: Annotated[ - Optional[str], pydantic.Field(alias="requestSizeExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - status_expression: Annotated[ - Optional[str], pydantic.Field(alias="statusExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - response_size_expression: Annotated[ - Optional[str], pydantic.Field(alias="responseSizeExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - user_agent_expression: Annotated[ - Optional[str], pydantic.Field(alias="userAgentExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - remote_ip_expression: Annotated[ - Optional[str], pydantic.Field(alias="remoteIpExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - server_ip_expression: Annotated[ - Optional[str], pydantic.Field(alias="serverIpExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - referer_expression: Annotated[ - Optional[str], pydantic.Field(alias="refererExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - latency_expression: Annotated[ - Optional[str], pydantic.Field(alias="latencyExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - cache_lookup_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheLookupExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - cache_hit_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheHitExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - cache_validated_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheValidatedExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - cache_fill_bytes_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheFillBytesExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - protocol_expression: Annotated[ - Optional[str], pydantic.Field(alias="protocolExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - id_expression: Annotated[Optional[str], pydantic.Field(alias="idExpression")] = None - r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - - producer_expression: Annotated[ - Optional[str], pydantic.Field(alias="producerExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - - first_expression: Annotated[ - Optional[str], pydantic.Field(alias="firstExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - - last_expression: Annotated[ - Optional[str], pydantic.Field(alias="lastExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - - file_expression: Annotated[ - Optional[str], pydantic.Field(alias="fileExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - - line_expression: Annotated[ - Optional[str], pydantic.Field(alias="lineExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - - function_expression: Annotated[ - Optional[str], pydantic.Field(alias="functionExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - - uid_expression: Annotated[Optional[str], pydantic.Field(alias="uidExpression")] = ( - None - ) - r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - - index_expression: Annotated[ - Optional[str], pydantic.Field(alias="indexExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - - total_splits_expression: Annotated[ - Optional[str], pydantic.Field(alias="totalSplitsExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - - trace_expression: Annotated[ - Optional[str], pydantic.Field(alias="traceExpression") - ] = None - r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - - span_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="spanIdExpression") - ] = None - r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - - trace_sampled_expression: Annotated[ - Optional[str], pydantic.Field(alias="traceSampledExpression") - ] = None - r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - - description: Optional[str] = None - - payload_expression: Annotated[ - Optional[str], pydantic.Field(alias="payloadExpression") - ] = None - r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" - - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") - ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") - ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") - ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") - ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") - ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") - ] = None - r"""Codec to use to compress the persisted data""" - - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") - ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") - ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsGoogleCloudLogging], - pydantic.Field(alias="pqControls"), - ] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_log_location_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_logLocationType") - ] = None - r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" - - template_log_name_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_logNameExpression") - ] = None - r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" - - template_payload_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_payloadFormat") - ] = None - r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" - - template_resource_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_resourceTypeExpression") - ] = None - r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" - - template_severity_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_severityExpression") - ] = None - r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" - - template_insert_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_insertIdExpression") - ] = None - r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" - - template_trace_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_traceExpression") - ] = None - r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" - - template_span_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_spanIdExpression") - ] = None - r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" - - template_trace_sampled_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_traceSampledExpression") - ] = None - r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_log_location_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_logLocationExpression") - ] = None - r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" - - template_payload_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_payloadExpression") - ] = None - r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" - - @field_serializer("log_location_type") - def serialize_log_location_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackLogLocationType(value) - except ValueError: - return value - return value - - @field_serializer("payload_format") - def serialize_payload_format(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackPayloadFormat(value) - except ValueError: - return value - return value - - @field_serializer("google_auth_method") - def serialize_google_auth_method(self, value): - if isinstance(value, str): - try: - return models.GoogleAuthenticationMethodOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "sanitizeLogNames", - "payloadFormat", - "logLabels", - "resourceTypeExpression", - "resourceTypeLabels", - "severityExpression", - "insertIdExpression", - "googleAuthMethod", - "serviceAccountCredentials", - "secret", - "maxPayloadSizeKB", - "maxPayloadEvents", - "flushPeriodSec", - "concurrency", - "connectionTimeout", - "timeoutSec", - "throttleRateReqPerSec", - "requestMethodExpression", - "requestUrlExpression", - "requestSizeExpression", - "statusExpression", - "responseSizeExpression", - "userAgentExpression", - "remoteIpExpression", - "serverIpExpression", - "refererExpression", - "latencyExpression", - "cacheLookupExpression", - "cacheHitExpression", - "cacheValidatedExpression", - "cacheFillBytesExpression", - "protocolExpression", - "idExpression", - "producerExpression", - "firstExpression", - "lastExpression", - "fileExpression", - "lineExpression", - "functionExpression", - "uidExpression", - "indexExpression", - "totalSplitsExpression", - "traceExpression", - "spanIdExpression", - "traceSampledExpression", - "onBackpressure", - "totalMemoryLimitKB", - "description", - "payloadExpression", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_logLocationType", - "__template_logNameExpression", - "__template_payloadFormat", - "__template_resourceTypeExpression", - "__template_severityExpression", - "__template_insertIdExpression", - "__template_traceExpression", - "__template_spanIdExpression", - "__template_traceSampledExpression", - "__template_onBackpressure", - "__template_logLocationExpression", - "__template_payloadExpression", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackTypeGoogleCloudStorage(str, Enum): - GOOGLE_CLOUD_STORAGE = "google_cloud_storage" - - -class CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage( - str, Enum, metaclass=utils.OpenEnumMeta -): - # auto - AUTO = "auto" - # manual - MANUAL = "manual" - # Secret Key pair - SECRET = "secret" - - -class CreateOutputSystemByPackOutputGoogleCloudStorageTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeGoogleCloudStorage - bucket: str - r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" - region: str - r"""Region where the bucket is located""" - endpoint: str - r"""Google Cloud Storage service endpoint""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[ - CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage - ] - dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptionsArchiveColdline] - r"""Storage class to select for uploaded objects""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - aws_api_key: NotRequired[str] - r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - aws_secret_key: NotRequired[str] - r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" -class CreateOutputSystemByPackOutputGoogleCloudStorage(BaseModel): - id: str - r"""Unique ID for this output""" + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - type: CreateOutputSystemByPackTypeGoogleCloudStorage + @field_serializer("google_auth_method") + def serialize_google_auth_method(self, value): + if isinstance(value, str): + try: + return models.GoogleAuthenticationMethodOptions(value) + except ValueError: + return value + return value - bucket: str - r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value - region: str - r"""Region where the bucket is located""" + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - endpoint: str - r"""Google Cloud Storage service endpoint""" + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "createTopic", + "orderedDelivery", + "region", + "googleAuthMethod", + "serviceAccountCredentials", + "secret", + "batchSize", + "batchTimeout", + "maxQueueSize", + "maxRecordSizeKB", + "flushPeriod", + "maxInProgress", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_topicName", + "__template_region", + "__template_onBackpressure", + ] + ) + serialized = handler(self) + m = {} - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + return m - aws_authentication_method: Annotated[ - Optional[CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" +class CreateOutputSystemByPackTypeGoogleCloudObservability(str, Enum): + GOOGLE_CLOUD_OBSERVABILITY = "google_cloud_observability" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") - ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" - object_acl: Annotated[ - Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], - pydantic.Field(alias="objectACL"), - ] = None - r"""Object ACL to assign to uploaded objects""" +class CreateOutputSystemByPackProtocolGoogleCloudObservability( + str, Enum, metaclass=utils.OpenEnumMeta +): + GRPC = "grpc" - storage_class: Annotated[ - Optional[StorageClassOptionsArchiveColdline], - pydantic.Field(alias="storageClass"), - ] = None - r"""Storage class to select for uploaded objects""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None - r"""Reuse connections between requests, which can improve performance""" +class CreateOutputSystemByPackOtlpVersionGoogleCloudObservability( + str, Enum, metaclass=utils.OpenEnumMeta +): + ONE_DOT_3_DOT_1 = "1.3.1" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") - ] = None - r"""Add the Output ID value to staging location""" +class CreateOutputSystemByPackEndpointGoogleCloudObservability( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") - ] = None - r"""Remove empty staging directories after moving files""" + TELEMETRY_GOOGLEAPIS_COM_443 = "telemetry.googleapis.com:443" - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" +class CreateOutputSystemByPackGoogleAuthenticationMethod( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" +class CreateOutputSystemByPackPqControlsGoogleCloudObservabilityTypedDict(TypedDict): + pass - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") - ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") - ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" +class CreateOutputSystemByPackPqControlsGoogleCloudObservability(BaseModel): + pass - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" +class CreateOutputSystemByPackOutputGoogleCloudObservabilityTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeGoogleCloudObservability + google_auth_method: CreateOutputSystemByPackGoogleAuthenticationMethod + r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + protocol: NotRequired[CreateOutputSystemByPackProtocolGoogleCloudObservability] + otlp_version: NotRequired[ + CreateOutputSystemByPackOtlpVersionGoogleCloudObservability + ] + endpoint: NotRequired[CreateOutputSystemByPackEndpointGoogleCloudObservability] + r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" + metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + dynamic_headers_enabled: NotRequired[bool] + r"""Batch event data upon dynamic metadata (whether presented or not)""" + dynamic_headers_field: NotRequired[str] + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + keep_alive_time: NotRequired[float] + r"""How often the sender should ping the peer to keep the connection open""" + tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] + max_payload_events: NotRequired[float] + r"""Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[ + CreateOutputSystemByPackPqControlsGoogleCloudObservabilityTypedDict + ] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") - ] = None - r"""Buffer size used to write to a file""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" +class CreateOutputSystemByPackOutputGoogleCloudObservability(BaseModel): + id: str + r"""Unique ID for this output""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") - ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + type: CreateOutputSystemByPackTypeGoogleCloudObservability - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), - ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + google_auth_method: Annotated[ + CreateOutputSystemByPackGoogleAuthenticationMethod, + pydantic.Field(alias="googleAuthMethod"), + ] + r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") - ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - orphans: Optional[OrphanFileRecoveryType] = None + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - description: Optional[str] = None + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + protocol: Optional[CreateOutputSystemByPackProtocolGoogleCloudObservability] = None - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + otlp_version: Annotated[ + Optional[CreateOutputSystemByPackOtlpVersionGoogleCloudObservability], + pydantic.Field(alias="otlpVersion"), ] = None - r"""Compression level to apply before moving files to final destination""" - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + endpoint: Optional[CreateOutputSystemByPackEndpointGoogleCloudObservability] = None + r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + dynamic_headers_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") ] = None - r"""Determines which data types are supported and how they are represented""" + r"""Batch event data upon dynamic metadata (whether presented or not)""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + dynamic_headers_field: Annotated[ + Optional[str], pydantic.Field(alias="dynamicHeadersField") ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") - ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + keep_alive_time: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTime") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""How often the sender should ping the peer to keep the connection open""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") - ] = None - r"""How frequently, in seconds, to clean up empty directories""" + tls: Optional[TLSSettingsClientSideTypeExtended] = None - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + r"""How to handle events when all receivers are exerting backpressure""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + secret: Optional[str] = None + r"""Select or create a stored text secret""" - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") - ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Codec to use to compress the persisted data""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackPqControlsGoogleCloudObservability], + pydantic.Field(alias="pqControls"), ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage( + return models.CreateOutputSystemByPackProtocolGoogleCloudObservability( value ) except ValueError: return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( - value + return ( + models.CreateOutputSystemByPackOtlpVersionGoogleCloudObservability( + value + ) ) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.StorageClassOptionsArchiveColdline(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("endpoint") + def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.DataFormatOptions(value) + return models.CreateOutputSystemByPackEndpointGoogleCloudObservability( + value + ) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("google_auth_method") + def serialize_google_auth_method(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.CreateOutputSystemByPackGoogleAuthenticationMethod(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsHTTP(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("compression_level") - def serialize_compression_level(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.CompressionLevelOptions(value) + return models.ModeOptions(value) except ValueError: return value return value - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): if isinstance(value, str): try: - return models.ParquetVersionOptions(value) + return models.CompressionOptionsPq(value) except ValueError: return value return value - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -7842,68 +6776,39 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAuthenticationMethod", - "destPath", - "verifyPermissions", - "objectACL", - "storageClass", - "reuseConnections", - "rejectUnauthorized", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", + "protocol", + "otlpVersion", + "endpoint", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", + "concurrency", + "maxPayloadSizeKB", + "timeoutSec", + "flushPeriodSec", + "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "tls", + "maxPayloadEvents", "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "awsApiKey", - "awsSecretKey", - "awsSecret", + "secret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_bucket", - "__template_region", - "__template_endpoint", - "__template_destPath", - "__template_objectACL", - "__template_storageClass", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", - "__template_awsApiKey", - "__template_awsSecretKey", ] ) serialized = handler(self) @@ -7920,84 +6825,47 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeGoogleChronicle(str, Enum): - GOOGLE_CHRONICLE = "google_chronicle" - - -class CreateOutputSystemByPackAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta): - # V1 - V1 = "v1" - # V2 - V2 = "v2" - - -class CreateOutputSystemByPackAuthenticationMethodGoogleChronicle( - str, Enum, metaclass=utils.OpenEnumMeta -): - # API key - MANUAL = "manual" - # API key secret - SECRET = "secret" - # Service account credentials - SERVICE_ACCOUNT = "serviceAccount" - # Service account credentials secret - SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" - - -class CreateOutputSystemByPackSendEventsAs(str, Enum, metaclass=utils.OpenEnumMeta): - # Unstructured - UNSTRUCTURED = "unstructured" - # UDM - UDM = "udm" - - -class CreateOutputSystemByPackExtraLogTypeTypedDict(TypedDict): - log_type: str - description: NotRequired[str] - - -class CreateOutputSystemByPackExtraLogType(BaseModel): - log_type: Annotated[str, pydantic.Field(alias="logType")] - - description: Optional[str] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["description"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) +class CreateOutputSystemByPackTypeGoogleCloudLogging(str, Enum): + GOOGLE_CLOUD_LOGGING = "google_cloud_logging" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - return m +class CreateOutputSystemByPackLogLocationType(str, Enum, metaclass=utils.OpenEnumMeta): + # Project + PROJECT = "project" + # Organization + ORGANIZATION = "organization" + # Billing Account + BILLING_ACCOUNT = "billingAccount" + # Folder + FOLDER = "folder" -class CreateOutputSystemByPackUDMType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" +class CreateOutputSystemByPackPayloadFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Format to use when sending payload. Defaults to Text.""" - ENTITIES = "entities" - LOGS = "logs" + # Text + TEXT = "text" + # JSON + JSON = "json" -class CreateOutputSystemByPackPqControlsGoogleChronicleTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsGoogleCloudLoggingTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsGoogleChronicle(BaseModel): +class CreateOutputSystemByPackPqControlsGoogleCloudLogging(BaseModel): pass -class CreateOutputSystemByPackOutputGoogleChronicleTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGoogleCloudLoggingTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeGoogleChronicle - log_format_type: CreateOutputSystemByPackSendEventsAs + type: CreateOutputSystemByPackTypeGoogleCloudLogging + log_location_type: CreateOutputSystemByPackLogLocationType + log_name_expression: str + r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" + log_location_expression: str + r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -8006,71 +6874,105 @@ class CreateOutputSystemByPackOutputGoogleChronicleTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - api_version: NotRequired[CreateOutputSystemByPackAPIVersion] - authentication_method: NotRequired[ - CreateOutputSystemByPackAuthenticationMethodGoogleChronicle - ] - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] + sanitize_log_names: NotRequired[bool] + payload_format: NotRequired[CreateOutputSystemByPackPayloadFormat] + r"""Format to use when sending payload. Defaults to Text.""" + log_labels: NotRequired[List[LogLabelConfOutputGoogleCloudLoggingTypedDict]] + r"""Labels to apply to the log entry""" + resource_type_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" + resource_type_labels: NotRequired[ + List[LogLabelConfOutputGoogleCloudLoggingTypedDict] ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - region: NotRequired[str] - r"""Regional endpoint to send events to""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" + r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" + severity_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" + insert_id_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the insert ID field.""" + google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body.""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Max number of events to include in the request body. Default is 0 (unlimited).""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" + throttle_rate_req_per_sec: NotRequired[int] + r"""Maximum number of requests to limit to per second.""" + request_method_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + request_url_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + request_size_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + status_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + response_size_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + user_agent_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + remote_ip_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + server_ip_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + referer_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + latency_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_lookup_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_hit_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_validated_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_fill_bytes_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + protocol_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + id_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + producer_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + first_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + last_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + file_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + line_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + function_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + uid_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + index_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + total_splits_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + trace_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + span_id_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + trace_sampled_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - extra_log_types: NotRequired[List[CreateOutputSystemByPackExtraLogTypeTypedDict]] - r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" - log_type: NotRequired[str] - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" - log_text_field: NotRequired[str] - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - customer_id: NotRequired[str] - r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" - namespace: NotRequired[str] - r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" - custom_labels: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""Custom labels to be added to every batch""" - udm_type: NotRequired[CreateOutputSystemByPackUDMType] - r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" - api_key: NotRequired[str] - r"""Organization's API key in Google SecOps""" - api_key_secret: NotRequired[str] - r"""Select or create a stored text secret""" - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - service_account_credentials_secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" + payload_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -8093,186 +6995,306 @@ class CreateOutputSystemByPackOutputGoogleChronicleTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsGoogleChronicleTypedDict] + pq_controls: NotRequired[ + CreateOutputSystemByPackPqControlsGoogleCloudLoggingTypedDict + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_api_version: NotRequired[str] - r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_log_location_type: NotRequired[str] + r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" + template_log_name_expression: NotRequired[str] + r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" + template_payload_format: NotRequired[str] + r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" + template_resource_type_expression: NotRequired[str] + r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" + template_severity_expression: NotRequired[str] + r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" + template_insert_id_expression: NotRequired[str] + r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" + template_trace_expression: NotRequired[str] + r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" + template_span_id_expression: NotRequired[str] + r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" + template_trace_sampled_expression: NotRequired[str] + r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_customer_id: NotRequired[str] - r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" + template_log_location_expression: NotRequired[str] + r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" + template_payload_expression: NotRequired[str] + r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" + + +class CreateOutputSystemByPackOutputGoogleCloudLogging(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeGoogleCloudLogging + + log_location_type: Annotated[ + CreateOutputSystemByPackLogLocationType, pydantic.Field(alias="logLocationType") + ] + + log_name_expression: Annotated[str, pydantic.Field(alias="logNameExpression")] + r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" + + log_location_expression: Annotated[ + str, pydantic.Field(alias="logLocationExpression") + ] + r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + sanitize_log_names: Annotated[ + Optional[bool], pydantic.Field(alias="sanitizeLogNames") + ] = None + + payload_format: Annotated[ + Optional[CreateOutputSystemByPackPayloadFormat], + pydantic.Field(alias="payloadFormat"), + ] = None + r"""Format to use when sending payload. Defaults to Text.""" + + log_labels: Annotated[ + Optional[List[LogLabelConfOutputGoogleCloudLogging]], + pydantic.Field(alias="logLabels"), + ] = None + r"""Labels to apply to the log entry""" + + resource_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="resourceTypeExpression") + ] = None + r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" + + resource_type_labels: Annotated[ + Optional[List[LogLabelConfOutputGoogleCloudLogging]], + pydantic.Field(alias="resourceTypeLabels"), + ] = None + r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" + severity_expression: Annotated[ + Optional[str], pydantic.Field(alias="severityExpression") + ] = None + r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" -class CreateOutputSystemByPackOutputGoogleChronicle(BaseModel): - id: str - r"""Unique ID for this output""" + insert_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="insertIdExpression") + ] = None + r"""JavaScript expression to compute the value of the insert ID field.""" - type: CreateOutputSystemByPackTypeGoogleChronicle + google_auth_method: Annotated[ + Optional[GoogleAuthenticationMethodOptions], + pydantic.Field(alias="googleAuthMethod"), + ] = None + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - log_format_type: Annotated[ - CreateOutputSystemByPackSendEventsAs, pydantic.Field(alias="logFormatType") - ] + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") + ] = None + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + secret: Optional[str] = None + r"""Select or create a stored text secret""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Maximum size, in KB, of the request body.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Max number of events to include in the request body. Default is 0 (unlimited).""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - api_version: Annotated[ - Optional[CreateOutputSystemByPackAPIVersion], pydantic.Field(alias="apiVersion") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - authentication_method: Annotated[ - Optional[CreateOutputSystemByPackAuthenticationMethodGoogleChronicle], - pydantic.Field(alias="authenticationMethod"), + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" + + throttle_rate_req_per_sec: Annotated[ + Optional[int], pydantic.Field(alias="throttleRateReqPerSec") ] = None + r"""Maximum number of requests to limit to per second.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + request_method_expression: Annotated[ + Optional[str], pydantic.Field(alias="requestMethodExpression") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + request_url_expression: Annotated[ + Optional[str], pydantic.Field(alias="requestUrlExpression") ] = None + r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + request_size_expression: Annotated[ + Optional[str], pydantic.Field(alias="requestSizeExpression") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - region: Optional[str] = None - r"""Regional endpoint to send events to""" + status_expression: Annotated[ + Optional[str], pydantic.Field(alias="statusExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + response_size_expression: Annotated[ + Optional[str], pydantic.Field(alias="responseSizeExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + user_agent_expression: Annotated[ + Optional[str], pydantic.Field(alias="userAgentExpression") ] = None - r"""Maximum size, in KB, of the request body""" + r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + remote_ip_expression: Annotated[ + Optional[str], pydantic.Field(alias="remoteIpExpression") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + server_ip_expression: Annotated[ + Optional[str], pydantic.Field(alias="serverIpExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + referer_expression: Annotated[ + Optional[str], pydantic.Field(alias="refererExpression") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + latency_expression: Annotated[ + Optional[str], pydantic.Field(alias="latencyExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + cache_lookup_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheLookupExpression") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + cache_hit_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheHitExpression") ] = None - r"""Headers to add to all events""" + r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + cache_validated_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheValidatedExpression") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + cache_fill_bytes_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheFillBytesExpression") ] = None - r"""List of headers that are safe to log in plain text""" + r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + protocol_expression: Annotated[ + Optional[str], pydantic.Field(alias="protocolExpression") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" + r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + id_expression: Annotated[Optional[str], pydantic.Field(alias="idExpression")] = None + r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + + producer_expression: Annotated[ + Optional[str], pydantic.Field(alias="producerExpression") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + first_expression: Annotated[ + Optional[str], pydantic.Field(alias="firstExpression") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - description: Optional[str] = None + last_expression: Annotated[ + Optional[str], pydantic.Field(alias="lastExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - extra_log_types: Annotated[ - Optional[List[CreateOutputSystemByPackExtraLogType]], - pydantic.Field(alias="extraLogTypes"), + file_expression: Annotated[ + Optional[str], pydantic.Field(alias="fileExpression") ] = None - r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" + r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + line_expression: Annotated[ + Optional[str], pydantic.Field(alias="lineExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( + function_expression: Annotated[ + Optional[str], pydantic.Field(alias="functionExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + + uid_expression: Annotated[Optional[str], pydantic.Field(alias="uidExpression")] = ( None ) - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - customer_id: Annotated[Optional[str], pydantic.Field(alias="customerId")] = None - r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" + index_expression: Annotated[ + Optional[str], pydantic.Field(alias="indexExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - namespace: Optional[str] = None - r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + total_splits_expression: Annotated[ + Optional[str], pydantic.Field(alias="totalSplitsExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - custom_labels: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="customLabels"), + trace_expression: Annotated[ + Optional[str], pydantic.Field(alias="traceExpression") ] = None - r"""Custom labels to be added to every batch""" + r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - udm_type: Annotated[ - Optional[CreateOutputSystemByPackUDMType], pydantic.Field(alias="udmType") + span_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="spanIdExpression") ] = None - r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""Organization's API key in Google SecOps""" + trace_sampled_expression: Annotated[ + Optional[str], pydantic.Field(alias="traceSampledExpression") + ] = None + r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - api_key_secret: Annotated[Optional[str], pydantic.Field(alias="apiKeySecret")] = ( - None - ) - r"""Select or create a stored text secret""" + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - service_account_credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + description: Optional[str] = None + r"""Optional description for this configuration.""" + + payload_expression: Annotated[ + Optional[str], pydantic.Field(alias="payloadExpression") ] = None - r"""Select or create a stored text secret""" + r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -8324,7 +7346,7 @@ class CreateOutputSystemByPackOutputGoogleChronicle(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsGoogleChronicle], + Optional[CreateOutputSystemByPackPqControlsGoogleCloudLogging], pydantic.Field(alias="pqControls"), ] = None @@ -8333,67 +7355,89 @@ class CreateOutputSystemByPackOutputGoogleChronicle(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_api_version: Annotated[ - Optional[str], pydantic.Field(alias="__template_apiVersion") + template_log_location_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logLocationType") ] = None - r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" + r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_log_name_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_logNameExpression") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_payload_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_payloadFormat") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" + + template_resource_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_resourceTypeExpression") + ] = None + r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" + + template_severity_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_severityExpression") + ] = None + r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" + + template_insert_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_insertIdExpression") + ] = None + r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" + + template_trace_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_traceExpression") + ] = None + r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" + + template_span_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_spanIdExpression") + ] = None + r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" + + template_trace_sampled_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_traceSampledExpression") + ] = None + r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_customer_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_customerId") + template_log_location_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_logLocationExpression") ] = None - r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" + r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" - @field_serializer("api_version") - def serialize_api_version(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackAPIVersion(value) - except ValueError: - return value - return value + template_payload_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_payloadExpression") + ] = None + r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" - @field_serializer("authentication_method") - def serialize_authentication_method(self, value): + @field_serializer("log_location_type") + def serialize_log_location_type(self, value): if isinstance(value, str): try: - return ( - models.CreateOutputSystemByPackAuthenticationMethodGoogleChronicle( - value - ) - ) + return models.CreateOutputSystemByPackLogLocationType(value) except ValueError: return value return value - @field_serializer("log_format_type") - def serialize_log_format_type(self, value): + @field_serializer("payload_format") + def serialize_payload_format(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackSendEventsAs(value) + return models.CreateOutputSystemByPackPayloadFormat(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("google_auth_method") + def serialize_google_auth_method(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.GoogleAuthenticationMethodOptions(value) except ValueError: return value return value @@ -8407,15 +7451,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("udm_type") - def serialize_udm_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackUDMType(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -8451,37 +7486,55 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "region", - "concurrency", + "sanitizeLogNames", + "payloadFormat", + "logLabels", + "resourceTypeExpression", + "resourceTypeLabels", + "severityExpression", + "insertIdExpression", + "googleAuthMethod", + "serviceAccountCredentials", + "secret", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "useRoundRobinDns", + "concurrency", + "connectionTimeout", + "timeoutSec", + "throttleRateReqPerSec", + "requestMethodExpression", + "requestUrlExpression", + "requestSizeExpression", + "statusExpression", + "responseSizeExpression", + "userAgentExpression", + "remoteIpExpression", + "serverIpExpression", + "refererExpression", + "latencyExpression", + "cacheLookupExpression", + "cacheHitExpression", + "cacheValidatedExpression", + "cacheFillBytesExpression", + "protocolExpression", + "idExpression", + "producerExpression", + "firstExpression", + "lastExpression", + "fileExpression", + "lineExpression", + "functionExpression", + "uidExpression", + "indexExpression", + "totalSplitsExpression", + "traceExpression", + "spanIdExpression", + "traceSampledExpression", "onBackpressure", "totalMemoryLimitKB", "description", - "extraLogTypes", - "logType", - "logTextField", - "customerId", - "namespace", - "customLabels", - "udmType", - "apiKey", - "apiKeySecret", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", + "payloadExpression", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -8495,11 +7548,18 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_apiVersion", - "__template_region", - "__template_failedRequestLoggingMode", + "__template_logLocationType", + "__template_logNameExpression", + "__template_payloadFormat", + "__template_resourceTypeExpression", + "__template_severityExpression", + "__template_insertIdExpression", + "__template_traceExpression", + "__template_spanIdExpression", + "__template_traceSampledExpression", "__template_onBackpressure", - "__template_customerId", + "__template_logLocationExpression", + "__template_payloadExpression", ] ) serialized = handler(self) @@ -8516,26 +7576,33 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeAzureEventhub(str, Enum): - AZURE_EVENTHUB = "azure_eventhub" - - -class CreateOutputSystemByPackPqControlsAzureEventhubTypedDict(TypedDict): - pass +class CreateOutputSystemByPackTypeGoogleCloudStorage(str, Enum): + GOOGLE_CLOUD_STORAGE = "google_cloud_storage" -class CreateOutputSystemByPackPqControlsAzureEventhub(BaseModel): - pass +class CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage( + str, Enum, metaclass=utils.OpenEnumMeta +): + # auto + AUTO = "auto" + # manual + MANUAL = "manual" + # Secret Key pair + SECRET = "secret" -class CreateOutputSystemByPackOutputAzureEventhubTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGoogleCloudStorageTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAzureEventhub - brokers: List[str] - r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" - topic: str - r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" + type: CreateOutputSystemByPackTypeGoogleCloudStorage + bucket: str + r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" + region: str + r"""Region where the bucket is located""" + endpoint: str + r"""Google Cloud Storage service endpoint""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -8544,84 +7611,148 @@ class CreateOutputSystemByPackOutputAzureEventhubTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - ack: NotRequired[AcknowledgmentsOptions] - r"""Control the number of required acknowledgments""" - format_: NotRequired[RecordDataFormatOptions] - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - flush_event_count: NotRequired[float] - r"""Maximum number of events in a batch before forcing a flush""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: NotRequired[AuthenticationTypeUseTypedDict] - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - tls: NotRequired[TLSSettingsClientSideTypeTypedDict] - on_backpressure: NotRequired[BackpressureBehaviorOptions] + aws_authentication_method: NotRequired[ + CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage + ] + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptionsArchiveColdline] + r"""Storage class to select for uploaded objects""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsAzureEventhubTypedDict] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + aws_api_key: NotRequired[str] + r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" + aws_secret_key: NotRequired[str] + r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_brokers: NotRequired[str] - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" -class CreateOutputSystemByPackOutputAzureEventhub(BaseModel): +class CreateOutputSystemByPackOutputGoogleCloudStorage(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAzureEventhub + type: CreateOutputSystemByPackTypeGoogleCloudStorage - brokers: List[str] - r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" + bucket: str + r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" - topic: str - r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" + region: str + r"""Region where the bucket is located""" + + endpoint: str + r"""Google Cloud Storage service endpoint""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -8637,204 +7768,395 @@ class CreateOutputSystemByPackOutputAzureEventhub(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" + aws_authentication_method: Annotated[ + Optional[CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + r"""Disable if you can access files within the bucket but not the bucket itself""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + object_acl: Annotated[ + Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], + pydantic.Field(alias="objectACL"), + ] = None + r"""Object ACL to assign to uploaded objects""" + + storage_class: Annotated[ + Optional[StorageClassOptionsArchiveColdline], + pydantic.Field(alias="storageClass"), + ] = None + r"""Storage class to select for uploaded objects""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" + + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" + + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + ] = None + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") + ] = None + r"""Buffer size used to write to a file""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None - r"""Maximum number of events in a batch before forcing a flush""" + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") - ] = None - r"""Maximum time to wait for Kafka to respond to a request""" + orphans: Optional[OrphanFileRecoveryType] = None - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + r"""Compression level to apply before moving files to final destination""" - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""Determines which data types are supported and how they are represented""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - sasl: Optional[AuthenticationTypeUse] = None - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - tls: Optional[TLSSettingsClientSideType] = None + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - description: Optional[str] = None + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), + ] = None + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") + ] = None + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Codec to use to compress the persisted data""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsAzureEventhub], - pydantic.Field(alias="pqControls"), + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_brokers: Annotated[ - Optional[str], pydantic.Field(alias="__template_brokers") + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") ] = None - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") + ] = None + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("ack") - def serialize_ack(self, value): + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackAuthenticationMethodGoogleCloudStorage( + value + ) + except ValueError: + return value + return value + + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( + value + ) + except ValueError: + return value + return value + + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.StorageClassOptionsArchiveColdline(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.DataFormatOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AcknowledgmentsOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.RecordDataFormatOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.ParquetVersionOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -8847,40 +8169,68 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", + "awsAuthenticationMethod", + "destPath", + "verifyPermissions", + "objectACL", + "storageClass", + "reuseConnections", + "rejectUnauthorized", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", "format", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "tls", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "awsApiKey", + "awsSecretKey", + "awsSecret", "__template_streamtags", - "__template_brokers", - "__template_topic", + "__template_bucket", + "__template_region", + "__template_endpoint", + "__template_destPath", + "__template_objectACL", + "__template_storageClass", + "__template_partitionExpr", "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", + "__template_awsApiKey", + "__template_awsSecretKey", ] ) serialized = handler(self) @@ -8897,24 +8247,84 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeHoneycomb(str, Enum): - HONEYCOMB = "honeycomb" +class CreateOutputSystemByPackTypeGoogleChronicle(str, Enum): + GOOGLE_CHRONICLE = "google_chronicle" -class CreateOutputSystemByPackPqControlsHoneycombTypedDict(TypedDict): +class CreateOutputSystemByPackAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta): + # V1 + V1 = "v1" + # V2 + V2 = "v2" + + +class CreateOutputSystemByPackAuthenticationMethodGoogleChronicle( + str, Enum, metaclass=utils.OpenEnumMeta +): + # API key + MANUAL = "manual" + # API key secret + SECRET = "secret" + # Service account credentials + SERVICE_ACCOUNT = "serviceAccount" + # Service account credentials secret + SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" + + +class CreateOutputSystemByPackSendEventsAs(str, Enum, metaclass=utils.OpenEnumMeta): + # Unstructured + UNSTRUCTURED = "unstructured" + # UDM + UDM = "udm" + + +class CreateOutputSystemByPackExtraLogTypeTypedDict(TypedDict): + log_type: str + description: NotRequired[str] + + +class CreateOutputSystemByPackExtraLogType(BaseModel): + log_type: Annotated[str, pydantic.Field(alias="logType")] + + description: Optional[str] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["description"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackUDMType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + + ENTITIES = "entities" + LOGS = "logs" + + +class CreateOutputSystemByPackPqControlsGoogleChronicleTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsHoneycomb(BaseModel): +class CreateOutputSystemByPackPqControlsGoogleChronicle(BaseModel): pass -class CreateOutputSystemByPackOutputHoneycombTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGoogleChronicleTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeHoneycomb - dataset: str - r"""Name of the dataset to send events to – e.g., observability""" + type: CreateOutputSystemByPackTypeGoogleChronicle + log_format_type: CreateOutputSystemByPackSendEventsAs pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -8923,6 +8333,19 @@ class CreateOutputSystemByPackOutputHoneycombTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + api_version: NotRequired[CreateOutputSystemByPackAPIVersion] + authentication_method: NotRequired[ + CreateOutputSystemByPackAuthenticationMethodGoogleChronicle + ] + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + region: NotRequired[str] + r"""Regional endpoint to send events to""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -8942,24 +8365,40 @@ class CreateOutputSystemByPackOutputHoneycombTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + extra_log_types: NotRequired[List[CreateOutputSystemByPackExtraLogTypeTypedDict]] + r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" + log_type: NotRequired[str] + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + log_text_field: NotRequired[str] + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + customer_id: NotRequired[str] + r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" + namespace: NotRequired[str] + r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + custom_labels: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""Custom labels to be added to every batch""" + udm_type: NotRequired[CreateOutputSystemByPackUDMType] + r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + api_key: NotRequired[str] + r"""Organization's API key in Google SecOps""" + api_key_secret: NotRequired[str] + r"""Select or create a stored text secret""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + service_account_credentials_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -8982,27 +8421,30 @@ class CreateOutputSystemByPackOutputHoneycombTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsHoneycombTypedDict] - team: NotRequired[str] - r"""Team API key where the dataset belongs""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsGoogleChronicleTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_api_version: NotRequired[str] + r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_customer_id: NotRequired[str] + r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" -class CreateOutputSystemByPackOutputHoneycomb(BaseModel): +class CreateOutputSystemByPackOutputGoogleChronicle(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeHoneycomb + type: CreateOutputSystemByPackTypeGoogleChronicle - dataset: str - r"""Name of the dataset to send events to – e.g., observability""" + log_format_type: Annotated[ + CreateOutputSystemByPackSendEventsAs, pydantic.Field(alias="logFormatType") + ] pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -9018,6 +8460,33 @@ class CreateOutputSystemByPackOutputHoneycomb(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + api_version: Annotated[ + Optional[CreateOutputSystemByPackAPIVersion], pydantic.Field(alias="apiVersion") + ] = None + + authentication_method: Annotated[ + Optional[CreateOutputSystemByPackAuthenticationMethodGoogleChronicle], + pydantic.Field(alias="authenticationMethod"), + ] = None + + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + region: Optional[str] = None + r"""Regional endpoint to send events to""" + concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -9056,11 +8525,6 @@ class CreateOutputSystemByPackOutputHoneycomb(BaseModel): ] = None r"""Headers to add to all events""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -9072,32 +8536,72 @@ class CreateOutputSystemByPackOutputHoneycomb(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Enter API key directly, or select a stored secret""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" + + extra_log_types: Annotated[ + Optional[List[CreateOutputSystemByPackExtraLogType]], + pydantic.Field(alias="extraLogTypes"), + ] = None + r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" + + log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + + log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( + None + ) + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + + customer_id: Annotated[Optional[str], pydantic.Field(alias="customerId")] = None + r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" + + namespace: Optional[str] = None + r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + + custom_labels: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="customLabels"), + ] = None + r"""Custom labels to be added to every batch""" + + udm_type: Annotated[ + Optional[CreateOutputSystemByPackUDMType], pydantic.Field(alias="udmType") + ] = None + r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""Organization's API key in Google SecOps""" + + api_key_secret: Annotated[Optional[str], pydantic.Field(alias="apiKeySecret")] = ( + None + ) + r"""Select or create a stored text secret""" + + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") + ] = None + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + + service_account_credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + ] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -9149,21 +8653,25 @@ class CreateOutputSystemByPackOutputHoneycomb(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsHoneycomb], + Optional[CreateOutputSystemByPackPqControlsGoogleChronicle], pydantic.Field(alias="pqControls"), ] = None - team: Optional[str] = None - r"""Team API key where the dataset belongs""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_api_version: Annotated[ + Optional[str], pydantic.Field(alias="__template_apiVersion") + ] = None + r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -9174,6 +8682,42 @@ class CreateOutputSystemByPackOutputHoneycomb(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_customer_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_customerId") + ] = None + r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" + + @field_serializer("api_version") + def serialize_api_version(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackAPIVersion(value) + except ValueError: + return value + return value + + @field_serializer("authentication_method") + def serialize_authentication_method(self, value): + if isinstance(value, str): + try: + return ( + models.CreateOutputSystemByPackAuthenticationMethodGoogleChronicle( + value + ) + ) + except ValueError: + return value + return value + + @field_serializer("log_format_type") + def serialize_log_format_type(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackSendEventsAs(value) + except ValueError: + return value + return value + @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -9192,11 +8736,11 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("udm_type") + def serialize_udm_type(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAPI(value) + return models.CreateOutputSystemByPackUDMType(value) except ValueError: return value return value @@ -9236,6 +8780,12 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "region", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -9244,15 +8794,23 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "useRoundRobinDns", "onBackpressure", - "authType", + "totalMemoryLimitKB", "description", + "extraLogTypes", + "logType", + "logTextField", + "customerId", + "namespace", + "customLabels", + "udmType", + "apiKey", + "apiKeySecret", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -9265,11 +8823,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "team", - "textSecret", "__template_streamtags", + "__template_apiVersion", + "__template_region", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_customerId", ] ) serialized = handler(self) @@ -9286,80 +8845,67 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeKinesis(str, Enum): - KINESIS = "kinesis" - - -class CreateOutputSystemByPackCompression(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Compression type to use for records""" - - # None - NONE = "none" - # Gzip - GZIP = "gzip" +class CreateOutputSystemByPackTypeAzureEventhub(str, Enum): + AZURE_EVENTHUB = "azure_eventhub" -class CreateOutputSystemByPackPqControlsKinesisTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsAzureEventhubTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsKinesis(BaseModel): +class CreateOutputSystemByPackPqControlsAzureEventhub(BaseModel): pass -class CreateOutputSystemByPackOutputKinesisTypedDict(TypedDict): +class CreateOutputSystemByPackOutputAzureEventhubTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeKinesis - stream_name: str - r"""Kinesis stream name to send events to.""" - region: str - r"""Region where the Kinesis stream is located""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret_key: NotRequired[str] - endpoint: NotRequired[str] - r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access Kinesis stream""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing put requests before blocking.""" + type: CreateOutputSystemByPackTypeAzureEventhub + brokers: List[str] + r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" + topic: str + r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + ack: NotRequired[AcknowledgmentsOptions] + r"""Control the number of required acknowledgments""" + format_: NotRequired[RecordDataFormatOptions] + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + flush_event_count: NotRequired[float] + r"""Maximum number of events in a batch before forcing a flush""" flush_period_sec: NotRequired[float] r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - compression: NotRequired[CreateOutputSystemByPackCompression] - r"""Compression type to use for records""" - use_list_shards: NotRequired[bool] - r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" - as_ndjson: NotRequired[bool] - r"""Batch events into a single record as NDJSON""" + connection_timeout: NotRequired[float] + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + sasl: NotRequired[AuthenticationTypeUseTypedDict] + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + tls: NotRequired[TLSSettingsClientSideTypeTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - max_events_per_flush: NotRequired[float] - r"""Maximum number of records to send in a single request""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9382,38 +8928,30 @@ class CreateOutputSystemByPackOutputKinesisTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsKinesisTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsAzureEventhubTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_stream_name: NotRequired[str] - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_brokers: NotRequired[str] + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputSystemByPackOutputKinesis(BaseModel): +class CreateOutputSystemByPackOutputAzureEventhub(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeKinesis + type: CreateOutputSystemByPackTypeAzureEventhub - stream_name: Annotated[str, pydantic.Field(alias="streamName")] - r"""Kinesis stream name to send events to.""" + brokers: List[str] + r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" - region: str - r"""Region where the Kinesis stream is located""" + topic: str + r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -9429,72 +8967,67 @@ class CreateOutputSystemByPackOutputKinesis(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" + + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") + ] = None + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - endpoint: Optional[str] = None - r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") + ] = None + r"""Maximum number of events in a batch before forcing a flush""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Maximum time to wait for a connection to complete successfully""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") ] = None - r"""Use Assume Role credentials to access Kinesis stream""" + r"""Maximum time to wait for Kafka to respond to a request""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") ] = None - 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).""" + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing put requests before blocking.""" + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") ] = None - r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" + r"""Maximum time to wait for Kafka to respond to an authentication request""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - - compression: Optional[CreateOutputSystemByPackCompression] = None - r"""Compression type to use for records""" + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - use_list_shards: Annotated[ - Optional[bool], pydantic.Field(alias="useListShards") - ] = None - r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" + sasl: Optional[AuthenticationTypeUse] = None + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - as_ndjson: Annotated[Optional[bool], pydantic.Field(alias="asNdjson")] = None - r"""Batch events into a single record as NDJSON""" + tls: Optional[TLSSettingsClientSideType] = None on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -9502,16 +9035,7 @@ class CreateOutputSystemByPackOutputKinesis(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - max_events_per_flush: Annotated[ - Optional[float], pydantic.Field(alias="maxEventsPerFlush") - ] = None - r"""Maximum number of records to send in a single request""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -9563,7 +9087,7 @@ class CreateOutputSystemByPackOutputKinesis(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsKinesis], + Optional[CreateOutputSystemByPackPqControlsAzureEventhub], pydantic.Field(alias="pqControls"), ] = None @@ -9572,60 +9096,40 @@ class CreateOutputSystemByPackOutputKinesis(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_stream_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamName") - ] = None - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" - - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_brokers: Annotated[ + Optional[str], pydantic.Field(alias="__template_brokers") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + return models.AcknowledgmentsOptions(value) except ValueError: return value return value - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackCompression(value) + return models.RecordDataFormatOptions(value) except ValueError: return value return value @@ -9674,26 +9178,23 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAuthenticationMethod", - "awsSecretKey", - "endpoint", - "reuseConnections", - "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "concurrency", + "ack", + "format", "maxRecordSizeKB", + "flushEventCount", "flushPeriodSec", - "compression", - "useListShards", - "asNdjson", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", "onBackpressure", "description", - "awsApiKey", - "awsSecret", - "maxEventsPerFlush", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -9707,14 +9208,10 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_streamName", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_brokers", + "__template_topic", + "__template_format", "__template_onBackpressure", - "__template_awsApiKey", ] ) serialized = handler(self) @@ -9731,33 +9228,24 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeAzureLogs(str, Enum): - AZURE_LOGS = "azure_logs" - - -class CreateOutputSystemByPackAuthenticationMethodAzureLogs( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Enter workspace ID and workspace key directly, or select a stored secret""" - - MANUAL = "manual" - SECRET = "secret" +class CreateOutputSystemByPackTypeHoneycomb(str, Enum): + HONEYCOMB = "honeycomb" -class CreateOutputSystemByPackPqControlsAzureLogsTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsHoneycombTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsAzureLogs(BaseModel): +class CreateOutputSystemByPackPqControlsHoneycomb(BaseModel): pass -class CreateOutputSystemByPackOutputAzureLogsTypedDict(TypedDict): +class CreateOutputSystemByPackOutputHoneycombTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAzureLogs - log_type: str - r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" + type: CreateOutputSystemByPackTypeHoneycomb + dataset: str + r"""Name of the dataset to send events to – e.g., observability""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -9766,8 +9254,6 @@ class CreateOutputSystemByPackOutputAzureLogsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - resource_id: NotRequired[str] - r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -9775,6 +9261,7 @@ class CreateOutputSystemByPackOutputAzureLogsTypedDict(TypedDict): max_payload_events: NotRequired[float] r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -9792,8 +9279,6 @@ class CreateOutputSystemByPackOutputAzureLogsTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - api_url: NotRequired[str] - r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -9803,9 +9288,10 @@ class CreateOutputSystemByPackOutputAzureLogsTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputSystemByPackAuthenticationMethodAzureLogs] - r"""Enter workspace ID and workspace key directly, or select a stored secret""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9828,33 +9314,27 @@ class CreateOutputSystemByPackOutputAzureLogsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsAzureLogsTypedDict] - workspace_id: NotRequired[str] - r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" - workspace_key: NotRequired[str] - r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" - keypair_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsHoneycombTypedDict] + team: NotRequired[str] + r"""Team API key where the dataset belongs""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_workspace_id: NotRequired[str] - r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" - template_workspace_key: NotRequired[str] - r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" -class CreateOutputSystemByPackOutputAzureLogs(BaseModel): +class CreateOutputSystemByPackOutputHoneycomb(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAzureLogs + type: CreateOutputSystemByPackTypeHoneycomb - log_type: Annotated[str, pydantic.Field(alias="logType")] - r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" + dataset: str + r"""Name of the dataset to send events to – e.g., observability""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -9870,9 +9350,6 @@ class CreateOutputSystemByPackOutputAzureLogs(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - resource_id: Annotated[Optional[str], pydantic.Field(alias="resourceId")] = None - r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" - concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -9887,6 +9364,7 @@ class CreateOutputSystemByPackOutputAzureLogs(BaseModel): r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" compress: Optional[bool] = None + r"""Compress the payload body before sending""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -9926,9 +9404,6 @@ class CreateOutputSystemByPackOutputAzureLogs(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - api_url: Annotated[Optional[str], pydantic.Field(alias="apiUrl")] = None - r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" - response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -9950,12 +9425,12 @@ class CreateOutputSystemByPackOutputAzureLogs(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[CreateOutputSystemByPackAuthenticationMethodAzureLogs], - pydantic.Field(alias="authType"), + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") ] = None - r"""Enter workspace ID and workspace key directly, or select a stored secret""" + r"""Enter API key directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -10007,20 +9482,15 @@ class CreateOutputSystemByPackOutputAzureLogs(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsAzureLogs], + Optional[CreateOutputSystemByPackPqControlsHoneycomb], pydantic.Field(alias="pqControls"), ] = None - workspace_id: Annotated[Optional[str], pydantic.Field(alias="workspaceId")] = None - r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" - - workspace_key: Annotated[Optional[str], pydantic.Field(alias="workspaceKey")] = None - r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" + team: Optional[str] = None + r"""Team API key where the dataset belongs""" - keypair_secret: Annotated[Optional[str], pydantic.Field(alias="keypairSecret")] = ( - None - ) - r"""Select or create a stored secret that references your access key and secret key""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -10037,16 +9507,6 @@ class CreateOutputSystemByPackOutputAzureLogs(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_workspace_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_workspaceId") - ] = None - r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" - - template_workspace_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_workspaceKey") - ] = None - r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" - @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -10069,9 +9529,7 @@ def serialize_on_backpressure(self, value): def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAuthenticationMethodAzureLogs( - value - ) + return models.AuthenticationMethodOptionsAPI(value) except ValueError: return value return value @@ -10094,159 +9552,59 @@ def serialize_pq_compress(self, value): return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "resourceId", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "apiUrl", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "workspaceId", - "workspaceKey", - "keypairSecret", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_workspaceId", - "__template_workspaceKey", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackTypeAzureDataExplorer(str, Enum): - AZURE_DATA_EXPLORER = "azure_data_explorer" - - -class CreateOutputSystemByPackIngestionMode(str, Enum, metaclass=utils.OpenEnumMeta): - # Batching - BATCHING = "batching" - # Streaming - STREAMING = "streaming" - - -class CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""The type of OAuth 2.0 client credentials grant flow to use""" - - # Client secret - CLIENT_SECRET = "clientSecret" - # Client secret (text secret) - CLIENT_TEXT_SECRET = "clientTextSecret" - # Certificate - CERTIFICATE = "certificate" - - -class CreateOutputSystemByPackCertificateTypedDict(TypedDict): - certificate_name: NotRequired[str] - r"""The certificate you registered as credentials for your app in the Azure portal""" - - -class CreateOutputSystemByPackCertificate(BaseModel): - certificate_name: Annotated[ - Optional[str], pydantic.Field(alias="certificateName") - ] = None - r"""The certificate you registered as credentials for your app in the Azure portal""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["certificateName"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackPrefixOptional(str, Enum, metaclass=utils.OpenEnumMeta): - # drop-by - DROP_BY = "dropBy" - # ingest-by - INGEST_BY = "ingestBy" - - -class CreateOutputSystemByPackExtentTagTypedDict(TypedDict): - value: str - prefix: NotRequired[CreateOutputSystemByPackPrefixOptional] - - -class CreateOutputSystemByPackExtentTag(BaseModel): - value: str - - prefix: Optional[CreateOutputSystemByPackPrefixOptional] = None - - @field_serializer("prefix") - def serialize_prefix(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackPrefixOptional(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["prefix"]) + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "team", + "textSecret", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + ] + ) serialized = handler(self) m = {} @@ -10261,77 +9619,35 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackIngestIfNotExistTypedDict(TypedDict): - value: str - - -class CreateOutputSystemByPackIngestIfNotExist(BaseModel): - value: str - - -class CreateOutputSystemByPackReportLevel(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - - # FailuresOnly - FAILURES_ONLY = "failuresOnly" - # DoNotReport - DO_NOT_REPORT = "doNotReport" - # FailuresAndSuccesses - FAILURES_AND_SUCCESSES = "failuresAndSuccesses" - - -class CreateOutputSystemByPackReportMethod(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Target of the ingestion status reporting. Defaults to Queue.""" - - # Queue - QUEUE = "queue" - # Table - TABLE = "table" - # QueueAndTable - QUEUE_AND_TABLE = "queueAndTable" - - -class CreateOutputSystemByPackAdditionalPropertyTypedDict(TypedDict): - key: str - value: str +class CreateOutputSystemByPackTypeKinesis(str, Enum): + KINESIS = "kinesis" -class CreateOutputSystemByPackAdditionalProperty(BaseModel): - key: str +class CreateOutputSystemByPackCompression(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Compression type to use for records""" - value: str + # None + NONE = "none" + # Gzip + GZIP = "gzip" -class CreateOutputSystemByPackPqControlsAzureDataExplorerTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsKinesisTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsAzureDataExplorer(BaseModel): +class CreateOutputSystemByPackPqControlsKinesis(BaseModel): pass -class CreateOutputSystemByPackOutputAzureDataExplorerTypedDict(TypedDict): +class CreateOutputSystemByPackOutputKinesisTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAzureDataExplorer - cluster_url: str - r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" - database: str - r"""Name of the database containing the table where data will be ingested""" - table: str - r"""Name of the table to ingest data into""" - oauth_endpoint: MicrosoftEntraIDAuthenticationEndpointOptionsSasl - r"""Endpoint used to acquire authentication tokens from Azure""" - tenant_id: str - r"""Directory ID (tenant identifier) in Azure Active Directory""" - client_id: str - r"""client_id to pass in the OAuth request parameter""" - scope: str - r"""Scope to pass in the OAuth request parameter""" - oauth_type: CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer - r"""The type of OAuth 2.0 client credentials grant flow to use""" - compress: CompressionOptionsHTTP - r"""Data compression format to apply to HTTP content before it is delivered""" + type: CreateOutputSystemByPackTypeKinesis + stream_name: str + r"""Kinesis stream name to send events to.""" + region: str + r"""Region where the Kinesis stream is located""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -10340,127 +9656,44 @@ class CreateOutputSystemByPackOutputAzureDataExplorerTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - validate_database_settings: NotRequired[bool] - r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" - ingest_mode: NotRequired[CreateOutputSystemByPackIngestionMode] - description: NotRequired[str] - client_secret: NotRequired[str] - r"""The client secret that you generated for your app in the Azure portal""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - certificate: NotRequired[CreateOutputSystemByPackCertificateTypedDict] - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - is_mapping_obj: NotRequired[bool] - r"""Send a JSON mapping object instead of specifying an existing named data mapping""" - mapping_obj: NotRequired[str] - r"""Enter a JSON object that defines your desired data mapping""" - mapping_ref: NotRequired[str] - r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" - ingest_url: NotRequired[str] - r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_immediately: NotRequired[bool] - r"""Bypass the data management service's aggregation mechanism""" - retain_blob_on_success: NotRequired[bool] - r"""Prevent blob deletion after ingestion is complete""" - extent_tags: NotRequired[List[CreateOutputSystemByPackExtentTagTypedDict]] - r"""Strings or tags associated with the extent (ingested data shard)""" - ingest_if_not_exists: NotRequired[ - List[CreateOutputSystemByPackIngestIfNotExistTypedDict] - ] - r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" - report_level: NotRequired[CreateOutputSystemByPackReportLevel] - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - report_method: NotRequired[CreateOutputSystemByPackReportMethod] - r"""Target of the ingestion status reporting. Defaults to Queue.""" - additional_properties: NotRequired[ - List[CreateOutputSystemByPackAdditionalPropertyTypedDict] - ] - r"""Optionally, enter additional configuration properties to send to the ingestion service""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret_key: NotRequired[str] + endpoint: NotRequired[str] + r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access Kinesis stream""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing put requests before blocking.""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + compression: NotRequired[CreateOutputSystemByPackCompression] + r"""Compression type to use for records""" + use_list_shards: NotRequired[bool] + r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" + as_ndjson: NotRequired[bool] + r"""Batch events into a single record as NDJSON""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + max_events_per_flush: NotRequired[float] + r"""Maximum number of records to send in a single request""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -10483,81 +9716,38 @@ class CreateOutputSystemByPackOutputAzureDataExplorerTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackPqControlsAzureDataExplorerTypedDict - ] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsKinesisTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_cluster_url: NotRequired[str] - r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" - template_database: NotRequired[str] - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_table: NotRequired[str] - r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" - template_oauth_endpoint: NotRequired[str] - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - template_tenant_id: NotRequired[str] - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_scope: NotRequired[str] - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - template_client_secret: NotRequired[str] - r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_mapping_ref: NotRequired[str] - r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" - template_ingest_url: NotRequired[str] - r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" + template_stream_name: NotRequired[str] + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputSystemByPackOutputAzureDataExplorer(BaseModel): +class CreateOutputSystemByPackOutputKinesis(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAzureDataExplorer - - cluster_url: Annotated[str, pydantic.Field(alias="clusterUrl")] - r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" - - database: str - r"""Name of the database containing the table where data will be ingested""" - - table: str - r"""Name of the table to ingest data into""" - - oauth_endpoint: Annotated[ - MicrosoftEntraIDAuthenticationEndpointOptionsSasl, - pydantic.Field(alias="oauthEndpoint"), - ] - r"""Endpoint used to acquire authentication tokens from Azure""" - - tenant_id: Annotated[str, pydantic.Field(alias="tenantId")] - r"""Directory ID (tenant identifier) in Azure Active Directory""" - - client_id: Annotated[str, pydantic.Field(alias="clientId")] - r"""client_id to pass in the OAuth request parameter""" - - scope: str - r"""Scope to pass in the OAuth request parameter""" + type: CreateOutputSystemByPackTypeKinesis - oauth_type: Annotated[ - CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer, - pydantic.Field(alias="oauthType"), - ] - r"""The type of OAuth 2.0 client credentials grant flow to use""" + stream_name: Annotated[str, pydantic.Field(alias="streamName")] + r"""Kinesis stream name to send events to.""" - compress: CompressionOptionsHTTP - r"""Data compression format to apply to HTTP content before it is delivered""" + region: str + r"""Region where the Kinesis stream is located""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -10573,233 +9763,507 @@ class CreateOutputSystemByPackOutputAzureDataExplorer(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - validate_database_settings: Annotated[ - Optional[bool], pydantic.Field(alias="validateDatabaseSettings") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" + r"""AWS authentication method. Choose Auto to use IAM roles.""" - ingest_mode: Annotated[ - Optional[CreateOutputSystemByPackIngestionMode], - pydantic.Field(alias="ingestMode"), - ] = None + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) - description: Optional[str] = None + endpoint: Optional[str] = None + r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" - client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None - r"""The client secret that you generated for your app in the Azure portal""" + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - certificate: Optional[CreateOutputSystemByPackCertificate] = None + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access Kinesis stream""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( None ) - r"""Format of the output data""" + r"""Amazon Resource Name (ARN) of the role to assume""" - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""Compression level to apply before moving files to final destination""" + r"""External ID to use when assuming role""" - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + 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).""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing put requests before blocking.""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""Determines which data types are supported and how they are represented""" + r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") + compression: Optional[CreateOutputSystemByPackCompression] = None + r"""Compression type to use for records""" + + use_list_shards: Annotated[ + Optional[bool], pydantic.Field(alias="useListShards") ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + as_ndjson: Annotated[Optional[bool], pydantic.Field(alias="asNdjson")] = None + r"""Batch events into a single record as NDJSON""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + max_events_per_flush: Annotated[ + Optional[float], pydantic.Field(alias="maxEventsPerFlush") + ] = None + r"""Maximum number of records to send in a single request""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") + ] = None + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" + + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + ] = None + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackPqControlsKinesis], + pydantic.Field(alias="pqControls"), ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), + template_stream_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamName") ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") ] = None - r"""Remove empty staging directories after moving files""" + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") - ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsS3CollectorConf(value) + except ValueError: + return value + return value - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + @field_serializer("compression") + def serialize_compression(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackCompression(value) + except ValueError: + return value + return value - is_mapping_obj: Annotated[Optional[bool], pydantic.Field(alias="isMappingObj")] = ( - None - ) - r"""Send a JSON mapping object instead of specifying an existing named data mapping""" + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "awsAuthenticationMethod", + "awsSecretKey", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "concurrency", + "maxRecordSizeKB", + "flushPeriodSec", + "compression", + "useListShards", + "asNdjson", + "onBackpressure", + "description", + "awsApiKey", + "awsSecret", + "maxEventsPerFlush", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_streamName", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__template_onBackpressure", + "__template_awsApiKey", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackTypeAzureLogs(str, Enum): + AZURE_LOGS = "azure_logs" + + +class CreateOutputSystemByPackAuthenticationMethodAzureLogs( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Enter workspace ID and workspace key directly, or select a stored secret""" + + MANUAL = "manual" + SECRET = "secret" + + +class CreateOutputSystemByPackPqControlsAzureLogsTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsAzureLogs(BaseModel): + pass + + +class CreateOutputSystemByPackOutputAzureLogsTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeAzureLogs + log_type: str + r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + resource_id: NotRequired[str] + r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + api_url: NotRequired[str] + r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[CreateOutputSystemByPackAuthenticationMethodAzureLogs] + r"""Enter workspace ID and workspace key directly, or select a stored secret""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsAzureLogsTypedDict] + workspace_id: NotRequired[str] + r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" + workspace_key: NotRequired[str] + r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" + keypair_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_workspace_id: NotRequired[str] + r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" + template_workspace_key: NotRequired[str] + r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" - mapping_obj: Annotated[Optional[str], pydantic.Field(alias="mappingObj")] = None - r"""Enter a JSON object that defines your desired data mapping""" - mapping_ref: Annotated[Optional[str], pydantic.Field(alias="mappingRef")] = None - r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" +class CreateOutputSystemByPackOutputAzureLogs(BaseModel): + id: str + r"""Unique ID for this output""" - ingest_url: Annotated[Optional[str], pydantic.Field(alias="ingestUrl")] = None - r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" + type: CreateOutputSystemByPackTypeAzureLogs - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" + log_type: Annotated[str, pydantic.Field(alias="logType")] + r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") - ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") - ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + resource_id: Annotated[Optional[str], pydantic.Field(alias="resourceId")] = None + r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum number of parts to upload in parallel per file""" + r"""Maximum size, in KB, of the request body""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") - ] = None - r"""Add the Output ID value to staging location""" + compress: Optional[bool] = None - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - - orphans: Optional[OrphanFileRecoveryType] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_immediately: Annotated[ - Optional[bool], pydantic.Field(alias="flushImmediately") - ] = None - r"""Bypass the data management service's aggregation mechanism""" - - retain_blob_on_success: Annotated[ - Optional[bool], pydantic.Field(alias="retainBlobOnSuccess") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Prevent blob deletion after ingestion is complete""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extent_tags: Annotated[ - Optional[List[CreateOutputSystemByPackExtentTag]], - pydantic.Field(alias="extentTags"), + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Strings or tags associated with the extent (ingested data shard)""" + r"""Headers to add to all events""" - ingest_if_not_exists: Annotated[ - Optional[List[CreateOutputSystemByPackIngestIfNotExist]], - pydantic.Field(alias="ingestIfNotExists"), + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - report_level: Annotated[ - Optional[CreateOutputSystemByPackReportLevel], - pydantic.Field(alias="reportLevel"), + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - report_method: Annotated[ - Optional[CreateOutputSystemByPackReportMethod], - pydantic.Field(alias="reportMethod"), + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Target of the ingestion status reporting. Defaults to Queue.""" + r"""List of headers that are safe to log in plain text""" - additional_properties: Annotated[ - Optional[List[CreateOutputSystemByPackAdditionalProperty]], - pydantic.Field(alias="additionalProperties"), - ] = None - r"""Optionally, enter additional configuration properties to send to the ingestion service""" + api_url: Annotated[Optional[str], pydantic.Field(alias="apiUrl")] = None + r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], @@ -10816,39 +10280,19 @@ class CreateOutputSystemByPackOutputAzureDataExplorer(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""How to handle events when all receivers are exerting backpressure""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + auth_type: Annotated[ + Optional[CreateOutputSystemByPackAuthenticationMethodAzureLogs], + pydantic.Field(alias="authType"), ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Enter workspace ID and workspace key directly, or select a stored secret""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -10879,181 +10323,72 @@ class CreateOutputSystemByPackOutputAzureDataExplorer(BaseModel): r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") - ] = None - r"""Codec to use to compress the persisted data""" - - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") - ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") - ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsAzureDataExplorer], - pydantic.Field(alias="pqControls"), - ] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_cluster_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_clusterUrl") - ] = None - r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" - - template_database: Annotated[ - Optional[str], pydantic.Field(alias="__template_database") - ] = None - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - - template_table: Annotated[ - Optional[str], pydantic.Field(alias="__template_table") - ] = None - r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" - - template_oauth_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_oauthEndpoint") - ] = None - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - template_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") - ] = None - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + r"""Codec to use to compress the persisted data""" - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - template_client_secret: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientSecret") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackPqControlsAzureLogs], + pydantic.Field(alias="pqControls"), ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + workspace_id: Annotated[Optional[str], pydantic.Field(alias="workspaceId")] = None + r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") - ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + workspace_key: Annotated[Optional[str], pydantic.Field(alias="workspaceKey")] = None + r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" - template_mapping_ref: Annotated[ - Optional[str], pydantic.Field(alias="__template_mappingRef") + keypair_secret: Annotated[Optional[str], pydantic.Field(alias="keypairSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_ingest_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_ingestUrl") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + template_workspace_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_workspaceId") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - - @field_serializer("ingest_mode") - def serialize_ingest_mode(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackIngestionMode(value) - except ValueError: - return value - return value - - @field_serializer("oauth_endpoint") - def serialize_oauth_endpoint(self, value): - if isinstance(value, str): - try: - return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) - except ValueError: - return value - return value - - @field_serializer("oauth_type") - def serialize_oauth_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer( - value - ) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsHTTP(value) - except ValueError: - return value - return value - - @field_serializer("compression_level") - def serialize_compression_level(self, value): - if isinstance(value, str): - try: - return models.CompressionLevelOptions(value) - except ValueError: - return value - return value + r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): - if isinstance(value, str): - try: - return models.ParquetVersionOptions(value) - except ValueError: - return value - return value + template_workspace_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_workspaceKey") + ] = None + r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value @@ -11067,29 +10402,13 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): - if isinstance(value, str): - try: - return models.DiskSpaceProtectionOptions(value) - except ValueError: - return value - return value - - @field_serializer("report_level") - def serialize_report_level(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackReportLevel(value) - except ValueError: - return value - return value - - @field_serializer("report_method") - def serialize_report_method(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackReportMethod(value) + return models.CreateOutputSystemByPackAuthenticationMethodAzureLogs( + value + ) except ValueError: return value return value @@ -11129,65 +10448,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "validateDatabaseSettings", - "ingestMode", - "description", - "clientSecret", - "textSecret", - "certificate", - "format", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "removeEmptyDirs", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterEnabled", - "deadletterPath", - "maxRetryNum", - "isMappingObj", - "mappingObj", - "mappingRef", - "ingestUrl", - "onBackpressure", - "stagePath", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "maxConcurrentFileParts", - "onDiskFullBackpressure", - "addIdToStagePath", - "retrySettings", - "orphans", - "timeoutSec", - "flushImmediately", - "retainBlobOnSuccess", - "extentTags", - "ingestIfNotExists", - "reportLevel", - "reportMethod", - "additionalProperties", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "resourceId", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "flushPeriodSec", + "compress", "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", "useRoundRobinDns", - "keepAlive", + "failedRequestLoggingMode", + "safeHeaders", + "apiUrl", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "description", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -11200,22 +10479,14 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "workspaceId", + "workspaceKey", + "keypairSecret", "__template_streamtags", - "__template_clusterUrl", - "__template_database", - "__template_table", - "__template_oauthEndpoint", - "__template_tenantId", - "__template_clientId", - "__template_scope", - "__template_clientSecret", - "__template_format", - "__template_compress", - "__template_parquetSchema", - "__template_mappingRef", - "__template_ingestUrl", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_fileNameSuffix", + "__template_workspaceId", + "__template_workspaceKey", ] ) serialized = handler(self) @@ -11232,31 +10503,172 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeAzureBlob(str, Enum): - AZURE_BLOB = "azure_blob" +class CreateOutputSystemByPackTypeAzureDataExplorer(str, Enum): + AZURE_DATA_EXPLORER = "azure_data_explorer" + + +class CreateOutputSystemByPackIngestionMode(str, Enum, metaclass=utils.OpenEnumMeta): + # Batching + BATCHING = "batching" + # Streaming + STREAMING = "streaming" + + +class CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""The type of OAuth 2.0 client credentials grant flow to use""" + + # Client secret + CLIENT_SECRET = "clientSecret" + # Client secret (text secret) + CLIENT_TEXT_SECRET = "clientTextSecret" + # Certificate + CERTIFICATE = "certificate" + + +class CreateOutputSystemByPackCertificateTypedDict(TypedDict): + certificate_name: NotRequired[str] + r"""The certificate you registered as credentials for your app in the Azure portal""" + + +class CreateOutputSystemByPackCertificate(BaseModel): + certificate_name: Annotated[ + Optional[str], pydantic.Field(alias="certificateName") + ] = None + r"""The certificate you registered as credentials for your app in the Azure portal""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["certificateName"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackPrefixOptional(str, Enum, metaclass=utils.OpenEnumMeta): + # drop-by + DROP_BY = "dropBy" + # ingest-by + INGEST_BY = "ingestBy" -class CreateOutputSystemByPackBlobAccessTier(str, Enum, metaclass=utils.OpenEnumMeta): - # Default account access tier - INFERRED = "Inferred" - # Hot tier - HOT = "Hot" - # Cool tier - COOL = "Cool" - # Cold tier - COLD = "Cold" - # Archive tier - ARCHIVE = "Archive" +class CreateOutputSystemByPackExtentTagTypedDict(TypedDict): + value: str + prefix: NotRequired[CreateOutputSystemByPackPrefixOptional] -class CreateOutputSystemByPackOutputAzureBlobTypedDict(TypedDict): +class CreateOutputSystemByPackExtentTag(BaseModel): + value: str + + prefix: Optional[CreateOutputSystemByPackPrefixOptional] = None + + @field_serializer("prefix") + def serialize_prefix(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackPrefixOptional(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["prefix"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackIngestIfNotExistTypedDict(TypedDict): + value: str + + +class CreateOutputSystemByPackIngestIfNotExist(BaseModel): + value: str + + +class CreateOutputSystemByPackReportLevel(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + + # FailuresOnly + FAILURES_ONLY = "failuresOnly" + # DoNotReport + DO_NOT_REPORT = "doNotReport" + # FailuresAndSuccesses + FAILURES_AND_SUCCESSES = "failuresAndSuccesses" + + +class CreateOutputSystemByPackReportMethod(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Target of the ingestion status reporting. Defaults to Queue.""" + + # Queue + QUEUE = "queue" + # Table + TABLE = "table" + # QueueAndTable + QUEUE_AND_TABLE = "queueAndTable" + + +class CreateOutputSystemByPackAdditionalPropertyTypedDict(TypedDict): + key: str + value: str + + +class CreateOutputSystemByPackAdditionalProperty(BaseModel): + key: str + + value: str + + +class CreateOutputSystemByPackPqControlsAzureDataExplorerTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsAzureDataExplorer(BaseModel): + pass + + +class CreateOutputSystemByPackOutputAzureDataExplorerTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAzureBlob - container_name: str - r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" - stage_path: str - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" + type: CreateOutputSystemByPackTypeAzureDataExplorer + cluster_url: str + r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" + database: str + r"""Name of the database containing the table where data will be ingested""" + table: str + r"""Name of the table to ingest data into""" + oauth_endpoint: MicrosoftEntraIDAuthenticationEndpointOptionsSasl + r"""Endpoint used to acquire authentication tokens from Azure""" + tenant_id: str + r"""Directory ID (tenant identifier) in Azure Active Directory""" + client_id: str + r"""client_id to pass in the OAuth request parameter""" + scope: str + r"""Scope to pass in the OAuth request parameter""" + oauth_type: CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer + r"""The type of OAuth 2.0 client credentials grant flow to use""" + compress: CompressionOptionsHTTP + r"""Data compression format to apply to HTTP content before it is delivered""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -11265,51 +10677,18 @@ class CreateOutputSystemByPackOutputAzureBlobTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - create_container: NotRequired[bool] - r"""Create the configured container in Azure Blob Storage if it does not already exist""" - dest_path: NotRequired[str] - r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + validate_database_settings: NotRequired[bool] + r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" + ingest_mode: NotRequired[CreateOutputSystemByPackIngestionMode] + description: NotRequired[str] + r"""Optional description for this configuration.""" + client_secret: NotRequired[str] + r"""The client secret that you generated for your app in the Azure portal""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + certificate: NotRequired[CreateOutputSystemByPackCertificateTypedDict] format_: NotRequired[DataFormatOptions] r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - auth_type: NotRequired[AuthenticationMethodOptions] - storage_class: NotRequired[CreateOutputSystemByPackBlobAccessTier] - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] r"""Compression level to apply before moving files to final destination""" automatic_schema: NotRequired[bool] @@ -11334,74 +10713,189 @@ class CreateOutputSystemByPackOutputAzureBlobTypedDict(TypedDict): r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - connection_string: NotRequired[str] - r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - storage_account_name: NotRequired[str] - r"""The name of your Azure storage account""" - tenant_id: NotRequired[str] - r"""The service principal's tenant ID""" - client_id: NotRequired[str] - r"""The service principal's client ID""" - azure_cloud: NotRequired[str] - r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" - endpoint_suffix: NotRequired[str] - r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" - client_text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - certificate: NotRequired[CertificateTypeAzureBlobAuthTypeClientCertTypedDict] + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + is_mapping_obj: NotRequired[bool] + r"""Send a JSON mapping object instead of specifying an existing named data mapping""" + mapping_obj: NotRequired[str] + r"""Enter a JSON object that defines your desired data mapping""" + mapping_ref: NotRequired[str] + r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" + ingest_url: NotRequired[str] + r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_immediately: NotRequired[bool] + r"""Bypass the data management service's aggregation mechanism""" + retain_blob_on_success: NotRequired[bool] + r"""Prevent blob deletion after ingestion is complete""" + extent_tags: NotRequired[List[CreateOutputSystemByPackExtentTagTypedDict]] + r"""Strings or tags associated with the extent (ingested data shard)""" + ingest_if_not_exists: NotRequired[ + List[CreateOutputSystemByPackIngestIfNotExistTypedDict] + ] + r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" + report_level: NotRequired[CreateOutputSystemByPackReportLevel] + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + report_method: NotRequired[CreateOutputSystemByPackReportMethod] + r"""Target of the ingestion status reporting. Defaults to Queue.""" + additional_properties: NotRequired[ + List[CreateOutputSystemByPackAdditionalPropertyTypedDict] + ] + r"""Optionally, enter additional configuration properties to send to the ingestion service""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[ + CreateOutputSystemByPackPqControlsAzureDataExplorerTypedDict + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_container_name: NotRequired[str] - r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_cluster_url: NotRequired[str] + r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" + template_database: NotRequired[str] + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" + template_table: NotRequired[str] + r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" + template_oauth_endpoint: NotRequired[str] + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" + template_tenant_id: NotRequired[str] + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + template_scope: NotRequired[str] + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + template_client_secret: NotRequired[str] + r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_connection_string: NotRequired[str] - r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" - template_storage_account_name: NotRequired[str] - r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" - template_tenant_id: NotRequired[str] - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_azure_cloud: NotRequired[str] - r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" + template_mapping_ref: NotRequired[str] + r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" + template_ingest_url: NotRequired[str] + r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" -class CreateOutputSystemByPackOutputAzureBlob(BaseModel): +class CreateOutputSystemByPackOutputAzureDataExplorer(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAzureBlob + type: CreateOutputSystemByPackTypeAzureDataExplorer - container_name: Annotated[str, pydantic.Field(alias="containerName")] - r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" + cluster_url: Annotated[str, pydantic.Field(alias="clusterUrl")] + r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" + database: str + r"""Name of the database containing the table where data will be ingested""" + + table: str + r"""Name of the table to ingest data into""" + + oauth_endpoint: Annotated[ + MicrosoftEntraIDAuthenticationEndpointOptionsSasl, + pydantic.Field(alias="oauthEndpoint"), + ] + r"""Endpoint used to acquire authentication tokens from Azure""" + + tenant_id: Annotated[str, pydantic.Field(alias="tenantId")] + r"""Directory ID (tenant identifier) in Azure Active Directory""" + + client_id: Annotated[str, pydantic.Field(alias="clientId")] + r"""client_id to pass in the OAuth request parameter""" + + scope: str + r"""Scope to pass in the OAuth request parameter""" + + oauth_type: Annotated[ + CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer, + pydantic.Field(alias="oauthType"), + ] + r"""The type of OAuth 2.0 client credentials grant flow to use""" + + compress: CompressionOptionsHTTP + r"""Data compression format to apply to HTTP content before it is delivered""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -11414,46 +10908,147 @@ class CreateOutputSystemByPackOutputAzureBlob(BaseModel): environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + validate_database_settings: Annotated[ + Optional[bool], pydantic.Field(alias="validateDatabaseSettings") + ] = None + r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" + + ingest_mode: Annotated[ + Optional[CreateOutputSystemByPackIngestionMode], + pydantic.Field(alias="ingestMode"), + ] = None + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None + r"""The client secret that you generated for your app in the Azure portal""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + certificate: Optional[CreateOutputSystemByPackCertificate] = None + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" + + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + ] = None + r"""Determines which data types are supported and how they are represented""" + + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + ] = None + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + ] = None + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - create_container: Annotated[ - Optional[bool], pydantic.Field(alias="createContainer") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""Create the configured container in Azure Blob Storage if it does not already exist""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Add the Output ID value to staging location""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""Maximum number of parts to upload in parallel per file""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" remove_empty_dirs: Annotated[ Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None r"""Remove empty staging directories after moving files""" - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + ] = None + r"""How frequently, in seconds, to clean up empty directories""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") + ] = None + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") + ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( None ) - r"""Format of the output data""" + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + is_mapping_obj: Annotated[Optional[bool], pydantic.Field(alias="isMappingObj")] = ( None ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + r"""Send a JSON mapping object instead of specifying an existing named data mapping""" + + mapping_obj: Annotated[Optional[str], pydantic.Field(alias="mappingObj")] = None + r"""Enter a JSON object that defines your desired data mapping""" + + mapping_ref: Annotated[Optional[str], pydantic.Field(alias="mappingRef")] = None + r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" + + ingest_url: Annotated[Optional[str], pydantic.Field(alias="ingestUrl")] = None + r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" file_name_suffix: Annotated[ Optional[str], pydantic.Field(alias="fileNameSuffix") @@ -11480,24 +11075,10 @@ class CreateOutputSystemByPackOutputAzureBlob(BaseModel): ) r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" - - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") - ] = None - r"""Buffer size used to write to a file""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Maximum number of parts to upload in parallel per file""" on_disk_full_backpressure: Annotated[ Optional[DiskSpaceProtectionOptions], @@ -11505,10 +11086,10 @@ class CreateOutputSystemByPackOutputAzureBlob(BaseModel): ] = None r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + r"""Add the Output ID value to staging location""" retry_settings: Annotated[ Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") @@ -11516,174 +11097,201 @@ class CreateOutputSystemByPackOutputAzureBlob(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - auth_type: Annotated[ - Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") - ] = None + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - storage_class: Annotated[ - Optional[CreateOutputSystemByPackBlobAccessTier], - pydantic.Field(alias="storageClass"), + flush_immediately: Annotated[ + Optional[bool], pydantic.Field(alias="flushImmediately") ] = None + r"""Bypass the data management service's aggregation mechanism""" - description: Optional[str] = None - - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + retain_blob_on_success: Annotated[ + Optional[bool], pydantic.Field(alias="retainBlobOnSuccess") + ] = None + r"""Prevent blob deletion after ingestion is complete""" - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + extent_tags: Annotated[ + Optional[List[CreateOutputSystemByPackExtentTag]], + pydantic.Field(alias="extentTags"), ] = None - r"""Compression level to apply before moving files to final destination""" + r"""Strings or tags associated with the extent (ingested data shard)""" - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") + ingest_if_not_exists: Annotated[ + Optional[List[CreateOutputSystemByPackIngestIfNotExist]], + pydantic.Field(alias="ingestIfNotExists"), ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + report_level: Annotated[ + Optional[CreateOutputSystemByPackReportLevel], + pydantic.Field(alias="reportLevel"), + ] = None + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + report_method: Annotated[ + Optional[CreateOutputSystemByPackReportMethod], + pydantic.Field(alias="reportMethod"), ] = None - r"""Determines which data types are supported and how they are represented""" + r"""Target of the ingestion status reporting. Defaults to Queue.""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + additional_properties: Annotated[ + Optional[List[CreateOutputSystemByPackAdditionalProperty]], + pydantic.Field(alias="additionalProperties"), ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + r"""Optionally, enter additional configuration properties to send to the ingestion service""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + r"""Maximum size, in KB, of the request body""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - connection_string: Annotated[ - Optional[str], pydantic.Field(alias="connectionString") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - storage_account_name: Annotated[ - Optional[str], pydantic.Field(alias="storageAccountName") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""The name of your Azure storage account""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None - r"""The service principal's tenant ID""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None - r"""The service principal's client ID""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - azure_cloud: Annotated[Optional[str], pydantic.Field(alias="azureCloud")] = None - r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" - endpoint_suffix: Annotated[ - Optional[str], pydantic.Field(alias="endpointSuffix") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - client_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="clientTextSecret") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Select or create a stored text secret""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = None + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackPqControlsAzureDataExplorer], + pydantic.Field(alias="pqControls"), + ] = None template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_container_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_containerName") + template_cluster_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_clusterUrl") ] = None - r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" + r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") + template_database: Annotated[ + Optional[str], pydantic.Field(alias="__template_database") ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") + template_table: Annotated[ + Optional[str], pydantic.Field(alias="__template_table") ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + template_oauth_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_oauthEndpoint") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + template_tenant_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tenantId") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientId") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_scope: Annotated[ + Optional[str], pydantic.Field(alias="__template_scope") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + + template_client_secret: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientSecret") + ] = None + r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -11695,72 +11303,60 @@ class CreateOutputSystemByPackOutputAzureBlob(BaseModel): ] = None r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_connection_string: Annotated[ - Optional[str], pydantic.Field(alias="__template_connectionString") - ] = None - r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" - - template_storage_account_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageAccountName") + template_mapping_ref: Annotated[ + Optional[str], pydantic.Field(alias="__template_mappingRef") ] = None - r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" + r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" - template_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") + template_ingest_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_ingestUrl") ] = None - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_azure_cloud: Annotated[ - Optional[str], pydantic.Field(alias="__template_azureCloud") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("ingest_mode") + def serialize_ingest_mode(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.CreateOutputSystemByPackIngestionMode(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("oauth_endpoint") + def serialize_oauth_endpoint(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("oauth_type") + def serialize_oauth_type(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptions(value) + return models.CreateOutputSystemByPackAuthenticationMethodAzureDataExplorer( + value + ) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackBlobAccessTier(value) + return models.DataFormatOptions(value) except ValueError: return value return value @@ -11801,6 +11397,69 @@ def serialize_parquet_data_page_version(self, value): return value return value + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): + if isinstance(value, str): + try: + return models.DiskSpaceProtectionOptions(value) + except ValueError: + return value + return value + + @field_serializer("report_level") + def serialize_report_level(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackReportLevel(value) + except ValueError: + return value + return value + + @field_serializer("report_method") + def serialize_report_method(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackReportMethod(value) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -11809,31 +11468,13 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "createContainer", - "destPath", - "addIdToStagePath", - "maxConcurrentFileParts", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "authType", - "storageClass", + "validateDatabaseSettings", + "ingestMode", "description", - "compress", + "clientSecret", + "textSecret", + "certificate", + "format", "compressionLevel", "automaticSchema", "parquetSchema", @@ -11846,34 +11487,74 @@ def serialize_model(self, handler): "enableStatistics", "enableWritePageIndex", "enablePageChecksum", + "removeEmptyDirs", "emptyDirCleanupSec", "directoryBatchSize", + "deadletterEnabled", "deadletterPath", "maxRetryNum", - "connectionString", - "textSecret", - "storageAccountName", - "tenantId", - "clientId", - "azureCloud", - "endpointSuffix", - "clientTextSecret", - "certificate", + "isMappingObj", + "mappingObj", + "mappingRef", + "ingestUrl", + "onBackpressure", + "stagePath", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "maxConcurrentFileParts", + "onDiskFullBackpressure", + "addIdToStagePath", + "retrySettings", + "orphans", + "timeoutSec", + "flushImmediately", + "retainBlobOnSuccess", + "extentTags", + "ingestIfNotExists", + "reportLevel", + "reportMethod", + "additionalProperties", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "flushPeriodSec", + "rejectUnauthorized", + "useRoundRobinDns", + "keepAlive", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_containerName", - "__template_destPath", - "__template_partitionExpr", + "__template_clusterUrl", + "__template_database", + "__template_table", + "__template_oauthEndpoint", + "__template_tenantId", + "__template_clientId", + "__template_scope", + "__template_clientSecret", "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", "__template_compress", "__template_parquetSchema", - "__template_connectionString", - "__template_storageAccountName", - "__template_tenantId", - "__template_clientId", - "__template_azureCloud", + "__template_mappingRef", + "__template_ingestUrl", + "__template_onBackpressure", + "__template_fileNameSuffix", ] ) serialized = handler(self) @@ -11890,18 +11571,31 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeS3(str, Enum): - S3 = "s3" +class CreateOutputSystemByPackTypeAzureBlob(str, Enum): + AZURE_BLOB = "azure_blob" -class CreateOutputSystemByPackOutputS3TypedDict(TypedDict): +class CreateOutputSystemByPackBlobAccessTier(str, Enum, metaclass=utils.OpenEnumMeta): + # Default account access tier + INFERRED = "Inferred" + # Hot tier + HOT = "Hot" + # Cool tier + COOL = "Cool" + # Cold tier + COLD = "Cold" + # Archive tier + ARCHIVE = "Archive" + + +class CreateOutputSystemByPackOutputAzureBlobTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeS3 - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + type: CreateOutputSystemByPackTypeAzureBlob + container_name: str + r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -11910,34 +11604,14 @@ class CreateOutputSystemByPackOutputS3TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - endpoint: NotRequired[str] - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access S3""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the S3 bucket is located""" + create_container: NotRequired[bool] + r"""Create the configured container in Azure Blob Storage if it does not already exist""" dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - max_closing_files_to_backpressure: NotRequired[float] - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" add_id_to_stage_path: NotRequired[bool] r"""Add the Output ID value to staging location""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file""" remove_empty_dirs: NotRequired[bool] r"""Remove empty staging directories after moving files""" partition_expr: NotRequired[str] @@ -11970,21 +11644,10 @@ class CreateOutputSystemByPackOutputS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptions] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: NotRequired[str] - r"""ID or ARN of the KMS customer-managed key to use for encryption""" + auth_type: NotRequired[AuthenticationMethodOptions] + storage_class: NotRequired[CreateOutputSystemByPackBlobAccessTier] description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -12019,18 +11682,27 @@ class CreateOutputSystemByPackOutputS3TypedDict(TypedDict): r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" max_retry_num: NotRequired[float] r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + connection_string: NotRequired[str] + r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + storage_account_name: NotRequired[str] + r"""The name of your Azure storage account""" + tenant_id: NotRequired[str] + r"""The service principal's tenant ID""" + client_id: NotRequired[str] + r"""The service principal's client ID""" + azure_cloud: NotRequired[str] + r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" + endpoint_suffix: NotRequired[str] + r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" + client_text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + certificate: NotRequired[CertificateTypeAzureBlobAuthTypeClientCertTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_container_name: NotRequired[str] + r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -12043,115 +11715,66 @@ class CreateOutputSystemByPackOutputS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_kms_key_id: NotRequired[str] - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + template_connection_string: NotRequired[str] + r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" + template_storage_account_name: NotRequired[str] + r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" + template_tenant_id: NotRequired[str] + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + template_azure_cloud: NotRequired[str] + r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" -class CreateOutputSystemByPackOutputS3(BaseModel): +class CreateOutputSystemByPackOutputAzureBlob(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeS3 + type: CreateOutputSystemByPackTypeAzureBlob - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + container_name: Annotated[str, pydantic.Field(alias="containerName")] + r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - endpoint: Optional[str] = None - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" - - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") - ] = None - r"""Use Assume Role credentials to access S3""" - - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" - - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" - - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") - ] = None - 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).""" - - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None - r"""Reuse connections between requests, which can improve performance""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - - region: Optional[str] = None - r"""Region where the S3 bucket is located""" + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") - ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + create_container: Annotated[ + Optional[bool], pydantic.Field(alias="createContainer") ] = None - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + r"""Create the configured container in Azure Blob Storage if it does not already exist""" + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" add_id_to_stage_path: Annotated[ Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None r"""Add the Output ID value to staging location""" + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file""" + remove_empty_dirs: Annotated[ Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None @@ -12233,37 +11856,17 @@ class CreateOutputSystemByPackOutputS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + auth_type: Annotated[ + Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") ] = None - r"""Object ACL to assign to uploaded objects""" storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") - ] = None - r"""Storage class to select for uploaded objects""" - - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), + Optional[CreateOutputSystemByPackBlobAccessTier], + pydantic.Field(alias="storageClass"), ] = None - r"""Server-side encryption to use for uploaded objects""" - - kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None - r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" @@ -12349,35 +11952,49 @@ class CreateOutputSystemByPackOutputS3(BaseModel): ) r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + connection_string: Annotated[ + Optional[str], pydantic.Field(alias="connectionString") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + storage_account_name: Annotated[ + Optional[str], pydantic.Field(alias="storageAccountName") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""The name of your Azure storage account""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None + r"""The service principal's tenant ID""" + + client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None + r"""The service principal's client ID""" + + azure_cloud: Annotated[Optional[str], pydantic.Field(alias="azureCloud")] = None + r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" + + endpoint_suffix: Annotated[ + Optional[str], pydantic.Field(alias="endpointSuffix") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + client_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="clientTextSecret") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Select or create a stored text secret""" - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") + certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = None + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_container_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_containerName") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") @@ -12409,54 +12026,40 @@ class CreateOutputSystemByPackOutputS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + template_connection_string: Annotated[ + Optional[str], pydantic.Field(alias="__template_connectionString") ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_storage_account_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageAccountName") ] = None - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + template_tenant_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tenantId") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientId") ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + template_azure_cloud: Annotated[ + Optional[str], pydantic.Field(alias="__template_azureCloud") ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value + r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" @field_serializer("format_") def serialize_format_(self, value): @@ -12485,11 +12088,11 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.ObjectACLOptions(value) + return models.AuthenticationMethodOptions(value) except ValueError: return value return value @@ -12498,16 +12101,7 @@ def serialize_object_acl(self, value): def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.StorageClassOptions(value) - except ValueError: - return value - return value - - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptions(value) + return models.CreateOutputSystemByPackBlobAccessTier(value) except ValueError: return value return value @@ -12556,20 +12150,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "region", + "createContainer", "destPath", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", "addIdToStagePath", + "maxConcurrentFileParts", "removeEmptyDirs", "partitionExpr", "format", @@ -12587,14 +12171,9 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "objectACL", + "authType", "storageClass", - "serverSideEncryption", - "kmsKeyId", "description", - "awsApiKey", - "awsSecret", "compress", "compressionLevel", "automaticSchema", @@ -12612,26 +12191,30 @@ def serialize_model(self, handler): "directoryBatchSize", "deadletterPath", "maxRetryNum", + "connectionString", + "textSecret", + "storageAccountName", + "tenantId", + "clientId", + "azureCloud", + "endpointSuffix", + "clientTextSecret", + "certificate", "__template_streamtags", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_bucket", - "__template_region", + "__template_containerName", "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", - "__template_awsApiKey", "__template_compress", "__template_parquetSchema", + "__template_connectionString", + "__template_storageAccountName", + "__template_tenantId", + "__template_clientId", + "__template_azureCloud", ] ) serialized = handler(self) @@ -12648,16 +12231,18 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeFilesystem(str, Enum): - FILESYSTEM = "filesystem" +class CreateOutputSystemByPackTypeS3(str, Enum): + S3 = "s3" -class CreateOutputSystemByPackOutputFilesystemTypedDict(TypedDict): +class CreateOutputSystemByPackOutputS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeFilesystem - dest_path: str - r"""Final destination for the output files""" + type: CreateOutputSystemByPackTypeS3 + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -12666,8 +12251,32 @@ class CreateOutputSystemByPackOutputFilesystemTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: NotRequired[str] + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access S3""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the S3 bucket is located""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" add_id_to_stage_path: NotRequired[bool] r"""Add the Output ID value to staging location""" remove_empty_dirs: NotRequired[bool] @@ -12702,7 +12311,22 @@ class CreateOutputSystemByPackOutputFilesystemTypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptions] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: NotRequired[str] + r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -12739,6 +12363,18 @@ class CreateOutputSystemByPackOutputFilesystemTypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] @@ -12749,20 +12385,35 @@ class CreateOutputSystemByPackOutputFilesystemTypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_kms_key_id: NotRequired[str] + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputFilesystem(BaseModel): +class CreateOutputSystemByPackOutputS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeFilesystem + type: CreateOutputSystemByPackTypeS3 - dest_path: Annotated[str, pydantic.Field(alias="destPath")] - r"""Final destination for the output files""" + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -12778,8 +12429,65 @@ class CreateOutputSystemByPackOutputFilesystem(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: Optional[str] = None + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access S3""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + region: Optional[str] = None + r"""Region where the S3 bucket is located""" + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" + + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + ] = None + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" add_id_to_stage_path: Annotated[ Optional[bool], pydantic.Field(alias="addIdToStagePath") @@ -12867,7 +12575,38 @@ class CreateOutputSystemByPackOutputFilesystem(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" + + storage_class: Annotated[ + Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + ] = None + r"""Storage class to select for uploaded objects""" + + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptions], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" + + kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None + r"""ID or ARN of the KMS customer-managed key to use for encryption""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" @@ -12958,6 +12697,36 @@ class CreateOutputSystemByPackOutputFilesystem(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") + ] = None + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") + ] = None + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: Annotated[ Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None @@ -12983,6 +12752,36 @@ class CreateOutputSystemByPackOutputFilesystem(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") + ] = None + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + + template_kms_key_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_kmsKeyId") + ] = None + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") ] = None @@ -12993,6 +12792,15 @@ class CreateOutputSystemByPackOutputFilesystem(BaseModel): ] = None r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsS3CollectorConf(value) + except ValueError: + return value + return value + @field_serializer("format_") def serialize_format_(self, value): if isinstance(value, str): @@ -13020,6 +12828,33 @@ def serialize_on_disk_full_backpressure(self, value): return value return value + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptions(value) + except ValueError: + return value + return value + + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.StorageClassOptions(value) + except ValueError: + return value + return value + + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): + if isinstance(value, str): + try: + return models.ServerSideEncryptionForUploadedObjectsOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -13064,7 +12899,19 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "stagePath", + "endpoint", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "awsAuthenticationMethod", + "reuseConnections", + "rejectUnauthorized", + "region", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", "addIdToStagePath", "removeEmptyDirs", "partitionExpr", @@ -13083,7 +12930,14 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", "description", + "awsApiKey", + "awsSecret", "compress", "compressionLevel", "automaticSchema", @@ -13102,11 +12956,23 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__template_bucket", + "__template_region", + "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", + "__template_awsSecretKey", + "__template_objectACL", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", + "__template_awsApiKey", "__template_compress", "__template_parquetSchema", ] @@ -13125,24 +12991,16 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSignalfx(str, Enum): - SIGNALFX = "signalfx" - - -class CreateOutputSystemByPackPqControlsSignalfxTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsSignalfx(BaseModel): - pass +class CreateOutputSystemByPackTypeFilesystem(str, Enum): + FILESYSTEM = "filesystem" -class CreateOutputSystemByPackOutputSignalfxTypedDict(TypedDict): +class CreateOutputSystemByPackOutputFilesystemTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSignalfx - realm: str - r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" + type: CreateOutputSystemByPackTypeFilesystem + dest_path: str + r"""Final destination for the output files""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13151,86 +13009,104 @@ class CreateOutputSystemByPackOutputSignalfxTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] - token: NotRequired[str] - r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSignalfxTypedDict] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputSignalfx(BaseModel): +class CreateOutputSystemByPackOutputFilesystem(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSignalfx + type: CreateOutputSystemByPackTypeFilesystem - realm: str - r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" + dest_path: Annotated[str, pydantic.Field(alias="destPath")] + r"""Final destination for the output files""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -13246,259 +13122,338 @@ class CreateOutputSystemByPackOutputSignalfx(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Add the Output ID value to staging location""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Remove empty staging directories after moving files""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""Headers to add to all events""" + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Buffer size used to write to a file""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""List of headers that are safe to log in plain text""" + r"""How to handle events when all receivers are exerting backpressure""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + + orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" - token: Optional[str] = None - r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Determines which data types are supported and how they are represented""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + ] = None + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), + ] = None + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Codec to use to compress the persisted data""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSignalfx], - pydantic.Field(alias="pqControls"), + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") + ] = None + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") + ] = None + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.DataFormatOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ParquetVersionOptions(value) except ValueError: return value return value - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "authType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "stagePath", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", "description", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_failedRequestLoggingMode", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -13515,24 +13470,24 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeWavefront(str, Enum): - WAVEFRONT = "wavefront" +class CreateOutputSystemByPackTypeSignalfx(str, Enum): + SIGNALFX = "signalfx" -class CreateOutputSystemByPackPqControlsWavefrontTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsSignalfxTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsWavefront(BaseModel): +class CreateOutputSystemByPackPqControlsSignalfx(BaseModel): pass -class CreateOutputSystemByPackOutputWavefrontTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSignalfxTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeWavefront - domain: str - r"""WaveFront domain name, e.g. \"longboard\" """ + type: CreateOutputSystemByPackTypeSignalfx + realm: str + r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13578,8 +13533,9 @@ class CreateOutputSystemByPackOutputWavefrontTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] - r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" + r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] @@ -13604,7 +13560,7 @@ class CreateOutputSystemByPackOutputWavefrontTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsWavefrontTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSignalfxTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -13613,14 +13569,14 @@ class CreateOutputSystemByPackOutputWavefrontTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputWavefront(BaseModel): +class CreateOutputSystemByPackOutputSignalfx(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeWavefront + type: CreateOutputSystemByPackTypeSignalfx - domain: str - r"""WaveFront domain name, e.g. \"longboard\" """ + realm: str + r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -13717,9 +13673,10 @@ class CreateOutputSystemByPackOutputWavefront(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None - r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" + r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -13774,7 +13731,7 @@ class CreateOutputSystemByPackOutputWavefront(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsWavefront], + Optional[CreateOutputSystemByPackPqControlsSignalfx], pydantic.Field(alias="pqControls"), ] = None @@ -13905,22 +13862,24 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeTcpjson(str, Enum): - TCPJSON = "tcpjson" +class CreateOutputSystemByPackTypeWavefront(str, Enum): + WAVEFRONT = "wavefront" -class CreateOutputSystemByPackPqControlsTcpjsonTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsWavefrontTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsTcpjson(BaseModel): +class CreateOutputSystemByPackPqControlsWavefront(BaseModel): pass -class CreateOutputSystemByPackOutputTcpjsonTypedDict(TypedDict): +class CreateOutputSystemByPackOutputWavefrontTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeTcpjson + type: CreateOutputSystemByPackTypeWavefront + domain: str + r"""WaveFront domain name, e.g. \"longboard\" """ pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13929,42 +13888,48 @@ class CreateOutputSystemByPackOutputTcpjsonTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Use load-balanced destinations""" - compression: NotRequired[CompressionOptionsGzipNone] - r"""Codec to use to compress the data before sending""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - token_ttl_minutes: NotRequired[float] - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - send_header: NotRequired[bool] - r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - host: NotRequired[str] - r"""The hostname of the receiver""" - port: NotRequired[float] - r"""The port to connect to on the provided host""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] - r"""Set of hosts to load-balance data to""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + r"""Optional description for this configuration.""" + token: NotRequired[str] + r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -13987,26 +13952,23 @@ class CreateOutputSystemByPackOutputTcpjsonTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsTcpjsonTypedDict] - auth_token: NotRequired[str] - r"""Optional authentication token to include as part of the connection header""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsWavefrontTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" -class CreateOutputSystemByPackOutputTcpjson(BaseModel): +class CreateOutputSystemByPackOutputWavefront(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeTcpjson + type: CreateOutputSystemByPackTypeWavefront + + domain: str + r"""WaveFront domain name, e.g. \"longboard\" """ pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14022,83 +13984,94 @@ class CreateOutputSystemByPackOutputTcpjson(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Use load-balanced destinations""" + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - compression: Optional[CompressionOptionsGzipNone] = None - r"""Codec to use to compress the data before sending""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Use to troubleshoot issues with sending data""" + r"""Maximum size, in KB, of the request body""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""List of headers that are safe to log in plain text""" - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - token_ttl_minutes: Annotated[ - Optional[float], pydantic.Field(alias="tokenTTLMinutes") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - send_header: Annotated[Optional[bool], pydantic.Field(alias="sendHeader")] = None - r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - description: Optional[str] = None + r"""Optional description for this configuration.""" - host: Optional[str] = None - r"""The hostname of the receiver""" - - port: Optional[float] = None - r"""The port to connect to on the provided host""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - hosts: Optional[List[HostConfOutputSyslog]] = None - r"""Set of hosts to load-balance data to""" - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + token: Optional[str] = None + r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") - ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -14150,59 +14123,48 @@ class CreateOutputSystemByPackOutputTcpjson(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsTcpjson], + Optional[CreateOutputSystemByPackPqControlsWavefront], pydantic.Field(alias="pqControls"), ] = None - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Optional authentication token to include as part of the connection header""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + ] = None + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipNone(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -14242,25 +14204,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", - "compression", - "logFailedRequests", - "throttleRatePerSec", - "tls", - "connectionTimeout", - "writeTimeout", - "tokenTTLMinutes", - "sendHeader", - "onBackpressure", "authType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", "description", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14273,12 +14235,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "authToken", - "textSecret", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_host", - "__template_port", ] ) serialized = handler(self) @@ -14295,29 +14254,22 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeWizHec(str, Enum): - WIZ_HEC = "wiz_hec" +class CreateOutputSystemByPackTypeTcpjson(str, Enum): + TCPJSON = "tcpjson" -class CreateOutputSystemByPackPqControlsWizHecTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsTcpjsonTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsWizHec(BaseModel): +class CreateOutputSystemByPackPqControlsTcpjson(BaseModel): pass -class CreateOutputSystemByPackOutputWizHecTypedDict(TypedDict): +class CreateOutputSystemByPackOutputTcpjsonTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeWizHec - wiz_connector_id: str - r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" - wiz_environment: str - r"""Your Wiz deployment environment.""" - data_center: str - r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" - wiz_sourcetype: str + type: CreateOutputSystemByPackTypeTcpjson pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -14326,46 +14278,43 @@ class CreateOutputSystemByPackOutputWizHecTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - next_queue: NotRequired[str] - r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" - tcp_routing: NotRequired[str] - r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + load_balanced: NotRequired[bool] + r"""Use load-balanced destinations""" + compression: NotRequired[CompressionOptionsGzipNone] + r"""Codec to use to compress the data before sending""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + token_ttl_minutes: NotRequired[float] + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" + send_header: NotRequired[bool] + r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" + host: NotRequired[str] + r"""The hostname of the receiver""" + port: NotRequired[float] + r"""The port to connect to on the provided host""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] + r"""Set of hosts to load-balance data to""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14388,41 +14337,26 @@ class CreateOutputSystemByPackOutputWizHecTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsWizHecTypedDict] - token: NotRequired[str] - r"""Wiz Defend Auth token""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsTcpjsonTypedDict] + auth_token: NotRequired[str] + r"""Optional authentication token to include as part of the connection header""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_wiz_environment: NotRequired[str] - r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" - template_data_center: NotRequired[str] - r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" - template_wiz_sourcetype: NotRequired[str] - r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" -class CreateOutputSystemByPackOutputWizHec(BaseModel): +class CreateOutputSystemByPackOutputTcpjson(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeWizHec - - wiz_connector_id: str - r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" - - wiz_environment: str - r"""Your Wiz deployment environment.""" - - data_center: str - r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" - - wiz_sourcetype: str + type: CreateOutputSystemByPackTypeTcpjson pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14438,62 +14372,48 @@ class CreateOutputSystemByPackOutputWizHec(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - next_queue: Annotated[Optional[str], pydantic.Field(alias="nextQueue")] = None - r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" - - tcp_routing: Annotated[Optional[str], pydantic.Field(alias="tcpRouting")] = None - r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Use to troubleshoot issues with sending data""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + token_ttl_minutes: Annotated[ + Optional[float], pydantic.Field(alias="tokenTTLMinutes") ] = None - r"""Headers to add to all events""" + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + send_header: Annotated[Optional[bool], pydantic.Field(alias="sendHeader")] = None + r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""List of headers that are safe to log in plain text""" + r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], @@ -14501,27 +14421,35 @@ class CreateOutputSystemByPackOutputWizHec(BaseModel): ] = None r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None + host: Optional[str] = None + r"""The hostname of the receiver""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + port: Optional[float] = None + r"""The port to connect to on the provided host""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + hosts: Optional[List[HostConfOutputSyslog]] = None + r"""Set of hosts to load-balance data to""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""How far back in time to keep traffic stats for load balancing purposes""" - description: Optional[str] = None + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") + ] = None + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -14573,12 +14501,12 @@ class CreateOutputSystemByPackOutputWizHec(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsWizHec], + Optional[CreateOutputSystemByPackPqControlsTcpjson], pydantic.Field(alias="pqControls"), ] = None - token: Optional[str] = None - r"""Wiz Defend Auth token""" + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Optional authentication token to include as part of the connection header""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -14588,54 +14516,44 @@ class CreateOutputSystemByPackOutputWizHec(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_wiz_environment: Annotated[ - Optional[str], pydantic.Field(alias="__template_wiz_environment") - ] = None - r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" - - template_data_center: Annotated[ - Optional[str], pydantic.Field(alias="__template_data_center") - ] = None - r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_wiz_sourcetype: Annotated[ - Optional[str], pydantic.Field(alias="__template_wiz_sourcetype") - ] = None - r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("compression") + def serialize_compression(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CompressionOptionsGzipNone(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value @@ -14675,25 +14593,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "nextQueue", - "tcpRouting", + "loadBalanced", + "compression", + "logFailedRequests", + "throttleRatePerSec", "tls", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "connectionTimeout", + "writeTimeout", + "tokenTTLMinutes", + "sendHeader", "onBackpressure", + "authType", "description", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14706,58 +14624,14 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "token", + "authToken", "textSecret", "__template_streamtags", - "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_wiz_environment", - "__template_data_center", - "__template_wiz_sourcetype", + "__template_host", + "__template_port", ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackTypeSplunkHec(str, Enum): - SPLUNK_HEC = "splunk_hec" - - -class CreateOutputSystemByPackURLSplunkHecTypedDict(TypedDict): - url: str - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - -class CreateOutputSystemByPackURLSplunkHec(BaseModel): - url: str - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["weight", "__template_url"]) + ) serialized = handler(self) m = {} @@ -14772,18 +14646,29 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackPqControlsSplunkHecTypedDict(TypedDict): +class CreateOutputSystemByPackTypeWizHec(str, Enum): + WIZ_HEC = "wiz_hec" + + +class CreateOutputSystemByPackPqControlsWizHecTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSplunkHec(BaseModel): +class CreateOutputSystemByPackPqControlsWizHec(BaseModel): pass -class CreateOutputSystemByPackOutputSplunkHecTypedDict(TypedDict): +class CreateOutputSystemByPackOutputWizHecTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSplunkHec + type: CreateOutputSystemByPackTypeWizHec + wiz_connector_id: str + r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" + wiz_environment: str + r"""Your Wiz deployment environment.""" + data_center: str + r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" + wiz_sourcetype: str pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -14792,8 +14677,6 @@ class CreateOutputSystemByPackOutputSplunkHecTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" next_queue: NotRequired[str] r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" tcp_routing: NotRequired[str] @@ -14822,8 +14705,6 @@ class CreateOutputSystemByPackOutputSplunkHecTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - enable_multi_metrics: NotRequired[bool] - r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: NotRequired[ @@ -14836,21 +14717,7 @@ class CreateOutputSystemByPackOutputSplunkHecTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - url: NotRequired[str] - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[CreateOutputSystemByPackURLSplunkHecTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - token: NotRequired[str] - r"""Splunk HEC authentication token""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14873,22 +14740,41 @@ class CreateOutputSystemByPackOutputSplunkHecTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSplunkHecTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsWizHecTypedDict] + token: NotRequired[str] + r"""Wiz Defend Auth token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_wiz_environment: NotRequired[str] + r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" + template_data_center: NotRequired[str] + r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" + template_wiz_sourcetype: NotRequired[str] + r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" -class CreateOutputSystemByPackOutputSplunkHec(BaseModel): +class CreateOutputSystemByPackOutputWizHec(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSplunkHec + type: CreateOutputSystemByPackTypeWizHec + + wiz_connector_id: str + r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" + + wiz_environment: str + r"""Your Wiz deployment environment.""" + + data_center: str + r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" + + wiz_sourcetype: str pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14904,11 +14790,6 @@ class CreateOutputSystemByPackOutputSplunkHec(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - next_queue: Annotated[Optional[str], pydantic.Field(alias="nextQueue")] = None r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" @@ -14966,11 +14847,6 @@ class CreateOutputSystemByPackOutputSplunkHec(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - enable_multi_metrics: Annotated[ - Optional[bool], pydantic.Field(alias="enableMultiMetrics") - ] = None - r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" - auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], pydantic.Field(alias="authType"), @@ -14998,35 +14874,7 @@ class CreateOutputSystemByPackOutputSplunkHec(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - url: Optional[str] = None - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - urls: Optional[List[CreateOutputSystemByPackURLSplunkHec]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" - - token: Optional[str] = None - r"""Splunk HEC authentication token""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -15078,10 +14926,16 @@ class CreateOutputSystemByPackOutputSplunkHec(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSplunkHec], + Optional[CreateOutputSystemByPackPqControlsWizHec], pydantic.Field(alias="pqControls"), ] = None + token: Optional[str] = None + r"""Wiz Defend Auth token""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None @@ -15097,10 +14951,20 @@ class CreateOutputSystemByPackOutputSplunkHec(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_wiz_environment: Annotated[ + Optional[str], pydantic.Field(alias="__template_wiz_environment") + ] = None + r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" + + template_data_center: Annotated[ + Optional[str], pydantic.Field(alias="__template_data_center") + ] = None + r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" + + template_wiz_sourcetype: Annotated[ + Optional[str], pydantic.Field(alias="__template_wiz_sourcetype") + ] = None + r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): @@ -15164,7 +15028,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", "nextQueue", "tcpRouting", "tls", @@ -15178,21 +15041,12 @@ def serialize_model(self, handler): "extraHttpHeaders", "failedRequestLoggingMode", "safeHeaders", - "enableMultiMetrics", "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15205,10 +15059,14 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "token", + "textSecret", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", + "__template_wiz_environment", + "__template_data_center", + "__template_wiz_sourcetype", ] ) serialized = handler(self) @@ -15225,128 +15083,34 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSplunkLb(str, Enum): - SPLUNK_LB = "splunk_lb" - - -class CreateOutputSystemByPackAuthTokenTypedDict(TypedDict): - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - auth_token: NotRequired[str] - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - - -class CreateOutputSystemByPackAuthToken(BaseModel): - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["authType", "authToken", "textSecret"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackIndexerDiscoveryConfigsTypedDict(TypedDict): - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" - - site: str - r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" - master_uri: str - r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" - refresh_interval_sec: float - r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" - reject_unauthorized: NotRequired[bool] - r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" - auth_tokens: NotRequired[List[CreateOutputSystemByPackAuthTokenTypedDict]] - r"""Tokens required to authenticate to cluster manager for indexer discovery""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - auth_token: NotRequired[str] - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - - -class CreateOutputSystemByPackIndexerDiscoveryConfigs(BaseModel): - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" - - site: str - r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" - - master_uri: Annotated[str, pydantic.Field(alias="masterUri")] - r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" - - refresh_interval_sec: Annotated[float, pydantic.Field(alias="refreshIntervalSec")] - r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" +class CreateOutputSystemByPackTypeSplunkHec(str, Enum): + SPLUNK_HEC = "splunk_hec" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" - auth_tokens: Annotated[ - Optional[List[CreateOutputSystemByPackAuthToken]], - pydantic.Field(alias="authTokens"), - ] = None - r"""Tokens required to authenticate to cluster manager for indexer discovery""" +class CreateOutputSystemByPackURLSplunkHecTypedDict(TypedDict): + url: str + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" +class CreateOutputSystemByPackURLSplunkHec(BaseModel): + url: str + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set( - ["rejectUnauthorized", "authTokens", "authType", "authToken", "textSecret"] - ) + optional_fields = set(["weight", "__template_url"]) serialized = handler(self) m = {} @@ -15361,20 +15125,18 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackPqControlsSplunkLbTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsSplunkHecTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSplunkLb(BaseModel): +class CreateOutputSystemByPackPqControlsSplunkHec(BaseModel): pass -class CreateOutputSystemByPackOutputSplunkLbTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSplunkHecTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSplunkLb - hosts: List[HostConfOutputSyslogTypedDict] - r"""Set of Splunk indexers to load-balance data to.""" + type: CreateOutputSystemByPackTypeSplunkHec pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -15383,48 +15145,66 @@ class CreateOutputSystemByPackOutputSplunkLbTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" - nested_fields: NotRequired[NestedFieldSerializationOptions] - r"""How to serialize nested fields into index-time fields""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + next_queue: NotRequired[str] + r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" + tcp_routing: NotRequired[str] + r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" enable_multi_metrics: NotRequired[bool] - r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" - enable_ack: NotRequired[bool] - r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - max_s2_sversion: NotRequired[MaxS2SVersionOptions] - r"""The highest S2S protocol version to advertise during handshake""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - indexer_discovery: NotRequired[bool] - r"""Automatically discover indexers in indexer clustering environment.""" - sender_unhealthy_time_allowance: NotRequired[float] - r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" + r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - description: NotRequired[str] - max_failed_health_checks: NotRequired[float] - r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" - compress: NotRequired[CompressionOptions] - r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" - indexer_discovery_configs: NotRequired[ - CreateOutputSystemByPackIndexerDiscoveryConfigsTypedDict + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] ] - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[CreateOutputSystemByPackURLSplunkHecTypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + token: NotRequired[str] + r"""Splunk HEC authentication token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -15447,31 +15227,22 @@ class CreateOutputSystemByPackOutputSplunkLbTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSplunkLbTypedDict] - auth_token: NotRequired[str] - r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSplunkHecTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_nested_fields: NotRequired[str] - r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" - template_max_s2_sversion: NotRequired[str] - r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputSplunkLb(BaseModel): +class CreateOutputSystemByPackOutputSplunkHec(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSplunkLb - - hosts: List[HostConfOutputSyslog] - r"""Set of Splunk indexers to load-balance data to.""" + type: CreateOutputSystemByPackTypeSplunkHec pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -15487,101 +15258,131 @@ class CreateOutputSystemByPackOutputSplunkLb(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + next_queue: Annotated[Optional[str], pydantic.Field(alias="nextQueue")] = None + r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") - ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + tcp_routing: Annotated[Optional[str], pydantic.Field(alias="tcpRouting")] = None + r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" - nested_fields: Annotated[ - Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") - ] = None - r"""How to serialize nested fields into index-time fields""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") - ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Maximum size, in KB, of the request body""" - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - enable_multi_metrics: Annotated[ - Optional[bool], pydantic.Field(alias="enableMultiMetrics") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - enable_ack: Annotated[Optional[bool], pydantic.Field(alias="enableACK")] = None - r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Use to troubleshoot issues with sending data""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - max_s2_sversion: Annotated[ - Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""The highest S2S protocol version to advertise during handshake""" + r"""Headers to add to all events""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - indexer_discovery: Annotated[ - Optional[bool], pydantic.Field(alias="indexerDiscovery") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Automatically discover indexers in indexer clustering environment.""" + r"""List of headers that are safe to log in plain text""" - sender_unhealthy_time_allowance: Annotated[ - Optional[float], pydantic.Field(alias="senderUnhealthyTimeAllowance") + enable_multi_metrics: Annotated[ + Optional[bool], pydantic.Field(alias="enableMultiMetrics") ] = None - r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" + r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], pydantic.Field(alias="authType"), ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - max_failed_health_checks: Annotated[ - Optional[float], pydantic.Field(alias="maxFailedHealthChecks") - ] = None - r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" - - compress: Optional[CompressionOptions] = None - r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" + url: Optional[str] = None + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - indexer_discovery_configs: Annotated[ - Optional[CreateOutputSystemByPackIndexerDiscoveryConfigs], - pydantic.Field(alias="indexerDiscoveryConfigs"), + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: Optional[List[CreateOutputSystemByPackURLSplunkHec]] = None + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" + + token: Optional[str] = None + r"""Splunk HEC authentication token""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -15632,64 +15433,35 @@ class CreateOutputSystemByPackOutputSplunkLb(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSplunkLb], + Optional[CreateOutputSystemByPackPqControlsSplunkHec], pydantic.Field(alias="pqControls"), ] = None - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_nested_fields: Annotated[ - Optional[str], pydantic.Field(alias="__template_nestedFields") - ] = None - r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" - - template_max_s2_sversion: Annotated[ - Optional[str], pydantic.Field(alias="__template_maxS2Sversion") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - - @field_serializer("nested_fields") - def serialize_nested_fields(self, value): - if isinstance(value, str): - try: - return models.NestedFieldSerializationOptions(value) - except ValueError: - return value - return value - - @field_serializer("max_s2_sversion") - def serialize_max_s2_sversion(self, value): - if isinstance(value, str): - try: - return models.MaxS2SVersionOptions(value) - except ValueError: - return value - return value + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value @@ -15703,11 +15475,11 @@ def serialize_auth_type(self, value): return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptions(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -15747,27 +15519,35 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", - "nestedFields", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", + "loadBalanced", + "nextQueue", + "tcpRouting", "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", "enableMultiMetrics", - "enableACK", - "logFailedRequests", - "maxS2Sversion", - "onBackpressure", - "indexerDiscovery", - "senderUnhealthyTimeAllowance", "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", "description", - "maxFailedHealthChecks", - "compress", - "indexerDiscoveryConfigs", + "url", + "useRoundRobinDns", "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15780,13 +15560,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "authToken", - "textSecret", "__template_streamtags", - "__template_nestedFields", - "__template_maxS2Sversion", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_compress", + "__template_url", ] ) serialized = handler(self) @@ -15803,26 +15580,156 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSplunk(str, Enum): - SPLUNK = "splunk" - - -class CreateOutputSystemByPackPqControlsSplunkTypedDict(TypedDict): +class CreateOutputSystemByPackTypeSplunkLb(str, Enum): + SPLUNK_LB = "splunk_lb" + + +class CreateOutputSystemByPackAuthTokenTypedDict(TypedDict): + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + auth_token: NotRequired[str] + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + + +class CreateOutputSystemByPackAuthToken(BaseModel): + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["authType", "authToken", "textSecret"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackIndexerDiscoveryConfigsTypedDict(TypedDict): + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + + site: str + r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" + master_uri: str + r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" + refresh_interval_sec: float + r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" + reject_unauthorized: NotRequired[bool] + r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" + auth_tokens: NotRequired[List[CreateOutputSystemByPackAuthTokenTypedDict]] + r"""Tokens required to authenticate to cluster manager for indexer discovery""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + auth_token: NotRequired[str] + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + + +class CreateOutputSystemByPackIndexerDiscoveryConfigs(BaseModel): + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + + site: str + r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" + + master_uri: Annotated[str, pydantic.Field(alias="masterUri")] + r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" + + refresh_interval_sec: Annotated[float, pydantic.Field(alias="refreshIntervalSec")] + r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" + + auth_tokens: Annotated[ + Optional[List[CreateOutputSystemByPackAuthToken]], + pydantic.Field(alias="authTokens"), + ] = None + r"""Tokens required to authenticate to cluster manager for indexer discovery""" + + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + ["rejectUnauthorized", "authTokens", "authType", "authToken", "textSecret"] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackPqControlsSplunkLbTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSplunk(BaseModel): +class CreateOutputSystemByPackPqControlsSplunkLb(BaseModel): pass -class CreateOutputSystemByPackOutputSplunkTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSplunkLbTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSplunk - host: str - r"""The hostname of the receiver""" - port: float - r"""The port to connect to on the provided host""" + type: CreateOutputSystemByPackTypeSplunkLb + hosts: List[HostConfOutputSyslogTypedDict] + r"""Set of Splunk indexers to load-balance data to.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -15831,6 +15738,12 @@ class CreateOutputSystemByPackOutputSplunkTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" nested_fields: NotRequired[NestedFieldSerializationOptions] r"""How to serialize nested fields into index-time fields""" throttle_rate_per_sec: NotRequired[str] @@ -15850,13 +15763,24 @@ class CreateOutputSystemByPackOutputSplunkTypedDict(TypedDict): r"""The highest S2S protocol version to advertise during handshake""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + indexer_discovery: NotRequired[bool] + r"""Automatically discover indexers in indexer clustering environment.""" + sender_unhealthy_time_allowance: NotRequired[float] + r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" max_failed_health_checks: NotRequired[float] r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" compress: NotRequired[CompressionOptions] r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" + indexer_discovery_configs: NotRequired[ + CreateOutputSystemByPackIndexerDiscoveryConfigsTypedDict + ] + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -15879,17 +15803,13 @@ class CreateOutputSystemByPackOutputSplunkTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSplunkTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSplunkLbTypedDict] auth_token: NotRequired[str] r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" template_nested_fields: NotRequired[str] r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" template_max_s2_sversion: NotRequired[str] @@ -15900,17 +15820,14 @@ class CreateOutputSystemByPackOutputSplunkTypedDict(TypedDict): r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" -class CreateOutputSystemByPackOutputSplunk(BaseModel): +class CreateOutputSystemByPackOutputSplunkLb(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSplunk - - host: str - r"""The hostname of the receiver""" + type: CreateOutputSystemByPackTypeSplunkLb - port: float - r"""The port to connect to on the provided host""" + hosts: List[HostConfOutputSyslog] + r"""Set of Splunk indexers to load-balance data to.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -15926,6 +15843,21 @@ class CreateOutputSystemByPackOutputSplunk(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" + + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") + ] = None + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + nested_fields: Annotated[ Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") ] = None @@ -15971,6 +15903,16 @@ class CreateOutputSystemByPackOutputSplunk(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + indexer_discovery: Annotated[ + Optional[bool], pydantic.Field(alias="indexerDiscovery") + ] = None + r"""Automatically discover indexers in indexer clustering environment.""" + + sender_unhealthy_time_allowance: Annotated[ + Optional[float], pydantic.Field(alias="senderUnhealthyTimeAllowance") + ] = None + r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" + auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], pydantic.Field(alias="authType"), @@ -15978,6 +15920,7 @@ class CreateOutputSystemByPackOutputSplunk(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" max_failed_health_checks: Annotated[ Optional[float], pydantic.Field(alias="maxFailedHealthChecks") @@ -15987,6 +15930,15 @@ class CreateOutputSystemByPackOutputSplunk(BaseModel): compress: Optional[CompressionOptions] = None r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" + indexer_discovery_configs: Annotated[ + Optional[CreateOutputSystemByPackIndexerDiscoveryConfigs], + pydantic.Field(alias="indexerDiscoveryConfigs"), + ] = None + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -16037,7 +15989,7 @@ class CreateOutputSystemByPackOutputSplunk(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSplunk], + Optional[CreateOutputSystemByPackPqControlsSplunkLb], pydantic.Field(alias="pqControls"), ] = None @@ -16052,16 +16004,6 @@ class CreateOutputSystemByPackOutputSplunk(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - template_nested_fields: Annotated[ Optional[str], pydantic.Field(alias="__template_nestedFields") ] = None @@ -16162,170 +16104,82 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "nestedFields", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", - "tls", - "enableMultiMetrics", - "enableACK", - "logFailedRequests", - "maxS2Sversion", - "onBackpressure", - "authType", - "description", - "maxFailedHealthChecks", - "compress", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "authToken", - "textSecret", - "__template_streamtags", - "__template_host", - "__template_port", - "__template_nestedFields", - "__template_maxS2Sversion", - "__template_onBackpressure", - "__template_compress", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackTypeSyslog(str, Enum): - SYSLOG = "syslog" - - -class CreateOutputSystemByPackProtocolSyslog(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The network protocol to use for sending out syslog messages""" - - # TCP - TCP = "tcp" - # UDP - UDP = "udp" - - -class CreateOutputSystemByPackFacility(int, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - - # kern - KERN = 0 - # user - USER = 1 - # mail - MAIL = 2 - # daemon - DAEMON = 3 - # auth - AUTH = 4 - # syslog - SYSLOG = 5 - # lpr - LPR = 6 - # news - NEWS = 7 - # uucp - UUCP = 8 - # cron - CRON = 9 - # authpriv - AUTHPRIV = 10 - # ftp - FTP = 11 - # ntp - NTP = 12 - # security - SECURITY = 13 - # console - CONSOLE = 14 - # solaris-cron - SOLARIS_CRON = 15 - # local0 - LOCAL0 = 16 - # local1 - LOCAL1 = 17 - # local2 - LOCAL2 = 18 - # local3 - LOCAL3 = 19 - # local4 - LOCAL4 = 20 - # local5 - LOCAL5 = 21 - - -class CreateOutputSystemByPackSeveritySyslog(int, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - - # emergency - EMERGENCY = 0 - # alert - ALERT = 1 - # critical - CRITICAL = 2 - # error - ERROR = 3 - # warning - WARNING = 4 - # notice - NOTICE = 5 - # info - INFO = 6 - # debug - DEBUG = 7 - + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "nestedFields", + "throttleRatePerSec", + "connectionTimeout", + "writeTimeout", + "tls", + "enableMultiMetrics", + "enableACK", + "logFailedRequests", + "maxS2Sversion", + "onBackpressure", + "indexerDiscovery", + "senderUnhealthyTimeAllowance", + "authType", + "description", + "maxFailedHealthChecks", + "compress", + "indexerDiscoveryConfigs", + "excludeSelf", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "authToken", + "textSecret", + "__template_streamtags", + "__template_nestedFields", + "__template_maxS2Sversion", + "__template_onBackpressure", + "__template_compress", + ] + ) + serialized = handler(self) + m = {} -class CreateOutputSystemByPackMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The syslog message format depending on the receiver's support""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - # RFC3164 - RFC3164 = "rfc3164" - # RFC5424 - RFC5424 = "rfc5424" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + return m -class CreateOutputSystemByPackTimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Timestamp format to use when serializing event's time field""" - # Syslog - SYSLOG = "syslog" - # ISO8601 - ISO8601 = "iso8601" +class CreateOutputSystemByPackTypeSplunk(str, Enum): + SPLUNK = "splunk" -class CreateOutputSystemByPackPqControlsSyslogTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsSplunkTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSyslog(BaseModel): +class CreateOutputSystemByPackPqControlsSplunk(BaseModel): pass -class CreateOutputSystemByPackOutputSyslogTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSplunkTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSyslog + type: CreateOutputSystemByPackTypeSplunk + host: str + r"""The hostname of the receiver""" + port: float + r"""The port to connect to on the provided host""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -16334,54 +16188,33 @@ class CreateOutputSystemByPackOutputSyslogTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - protocol: NotRequired[CreateOutputSystemByPackProtocolSyslog] - r"""The network protocol to use for sending out syslog messages""" - facility: NotRequired[CreateOutputSystemByPackFacility] - r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - severity: NotRequired[CreateOutputSystemByPackSeveritySyslog] - r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - app_name: NotRequired[str] - r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" - message_format: NotRequired[CreateOutputSystemByPackMessageFormat] - r"""The syslog message format depending on the receiver's support""" - timestamp_format: NotRequired[CreateOutputSystemByPackTimestampFormat] - r"""Timestamp format to use when serializing event's time field""" + nested_fields: NotRequired[NestedFieldSerializationOptions] + r"""How to serialize nested fields into index-time fields""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - octet_count_framing: NotRequired[bool] - r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - description: NotRequired[str] - load_balanced: NotRequired[bool] - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - host: NotRequired[str] - r"""The hostname of the receiver""" - port: NotRequired[float] - r"""The port to connect to on the provided host""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] - r"""Set of hosts to load-balance data to""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" connection_timeout: NotRequired[float] r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" write_timeout: NotRequired[float] r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + enable_multi_metrics: NotRequired[bool] + r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" + enable_ack: NotRequired[bool] + r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + max_s2_sversion: NotRequired[MaxS2SVersionOptions] + r"""The highest S2S protocol version to advertise during handshake""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - max_record_size: NotRequired[float] - r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" - udp_dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" - enable_ip_spoofing: NotRequired[bool] - r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + max_failed_health_checks: NotRequired[float] + r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" + compress: NotRequired[CompressionOptions] + r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -16404,22 +16237,38 @@ class CreateOutputSystemByPackOutputSyslogTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSyslogTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSplunkTypedDict] + auth_token: NotRequired[str] + r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_host: NotRequired[str] r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" template_port: NotRequired[str] r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + template_nested_fields: NotRequired[str] + r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" + template_max_s2_sversion: NotRequired[str] + r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" -class CreateOutputSystemByPackOutputSyslog(BaseModel): +class CreateOutputSystemByPackOutputSplunk(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSyslog + type: CreateOutputSystemByPackTypeSplunk + + host: str + r"""The hostname of the receiver""" + + port: float + r"""The port to connect to on the provided host""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -16435,110 +16284,67 @@ class CreateOutputSystemByPackOutputSyslog(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - protocol: Optional[CreateOutputSystemByPackProtocolSyslog] = None - r"""The network protocol to use for sending out syslog messages""" - - facility: Optional[CreateOutputSystemByPackFacility] = None - r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - - severity: Optional[CreateOutputSystemByPackSeveritySyslog] = None - r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - - app_name: Annotated[Optional[str], pydantic.Field(alias="appName")] = None - r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" - - message_format: Annotated[ - Optional[CreateOutputSystemByPackMessageFormat], - pydantic.Field(alias="messageFormat"), - ] = None - r"""The syslog message format depending on the receiver's support""" - - timestamp_format: Annotated[ - Optional[CreateOutputSystemByPackTimestampFormat], - pydantic.Field(alias="timestampFormat"), + nested_fields: Annotated[ + Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") ] = None - r"""Timestamp format to use when serializing event's time field""" + r"""How to serialize nested fields into index-time fields""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - octet_count_framing: Annotated[ - Optional[bool], pydantic.Field(alias="octetCountFraming") - ] = None - r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Use to troubleshoot issues with sending data""" - - description: Optional[str] = None + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( None ) - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - - host: Optional[str] = None - r"""The hostname of the receiver""" - - port: Optional[float] = None - r"""The port to connect to on the provided host""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - hosts: Optional[List[HostConfOutputSyslog]] = None - r"""Set of hosts to load-balance data to""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + enable_multi_metrics: Annotated[ + Optional[bool], pydantic.Field(alias="enableMultiMetrics") ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + enable_ack: Annotated[Optional[bool], pydantic.Field(alias="enableACK")] = None + r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + r"""Use to troubleshoot issues with sending data""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + max_s2_sversion: Annotated[ + Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + r"""The highest S2S protocol version to advertise during handshake""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - max_record_size: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSize") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), ] = None - r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - udp_dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="udpDnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - enable_ip_spoofing: Annotated[ - Optional[bool], pydantic.Field(alias="enableIpSpoofing") + max_failed_health_checks: Annotated[ + Optional[float], pydantic.Field(alias="maxFailedHealthChecks") ] = None - r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" + + compress: Optional[CompressionOptions] = None + r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -16590,10 +16396,16 @@ class CreateOutputSystemByPackOutputSyslog(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSyslog], + Optional[CreateOutputSystemByPackPqControlsSplunk], pydantic.Field(alias="pqControls"), ] = None + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None @@ -16609,61 +16421,67 @@ class CreateOutputSystemByPackOutputSyslog(BaseModel): ) r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + template_nested_fields: Annotated[ + Optional[str], pydantic.Field(alias="__template_nestedFields") + ] = None + r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" + + template_max_s2_sversion: Annotated[ + Optional[str], pydantic.Field(alias="__template_maxS2Sversion") + ] = None + r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackProtocolSyslog(value) - except ValueError: - return value - return value + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - @field_serializer("facility") - def serialize_facility(self, value): + @field_serializer("nested_fields") + def serialize_nested_fields(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackFacility(value) + return models.NestedFieldSerializationOptions(value) except ValueError: return value return value - @field_serializer("severity") - def serialize_severity(self, value): + @field_serializer("max_s2_sversion") + def serialize_max_s2_sversion(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackSeveritySyslog(value) + return models.MaxS2SVersionOptions(value) except ValueError: return value return value - @field_serializer("message_format") - def serialize_message_format(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackMessageFormat(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("timestamp_format") - def serialize_timestamp_format(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackTimestampFormat(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptions(value) except ValueError: return value return value @@ -16703,31 +16521,20 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "protocol", - "facility", - "severity", - "appName", - "messageFormat", - "timestampFormat", + "nestedFields", "throttleRatePerSec", - "octetCountFraming", - "logFailedRequests", - "description", - "loadBalanced", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", "connectionTimeout", "writeTimeout", "tls", + "enableMultiMetrics", + "enableACK", + "logFailedRequests", + "maxS2Sversion", "onBackpressure", - "maxRecordSize", - "udpDnsResolvePeriodSec", - "enableIpSpoofing", + "authType", + "description", + "maxFailedHealthChecks", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -16740,10 +16547,15 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "authToken", + "textSecret", "__template_streamtags", "__template_host", "__template_port", + "__template_nestedFields", + "__template_maxS2Sversion", "__template_onBackpressure", + "__template_compress", ] ) serialized = handler(self) @@ -16760,122 +16572,119 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDevnull(str, Enum): - DEVNULL = "devnull" - - -class CreateOutputSystemByPackOutputDevnullTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDevnull - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - -class CreateOutputSystemByPackOutputDevnull(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeDevnull - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" +class CreateOutputSystemByPackTypeSyslog(str, Enum): + SYSLOG = "syslog" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "__template_streamtags", - ] - ) - serialized = handler(self) - m = {} - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) +class CreateOutputSystemByPackProtocolSyslog(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The network protocol to use for sending out syslog messages""" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val + # TCP + TCP = "tcp" + # UDP + UDP = "udp" - return m +class CreateOutputSystemByPackFacility(int, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" -class CreateOutputSystemByPackTypeSentinel(str, Enum): - SENTINEL = "sentinel" + # kern + KERN = 0 + # user + USER = 1 + # mail + MAIL = 2 + # daemon + DAEMON = 3 + # auth + AUTH = 4 + # syslog + SYSLOG = 5 + # lpr + LPR = 6 + # news + NEWS = 7 + # uucp + UUCP = 8 + # cron + CRON = 9 + # authpriv + AUTHPRIV = 10 + # ftp + FTP = 11 + # ntp + NTP = 12 + # security + SECURITY = 13 + # console + CONSOLE = 14 + # solaris-cron + SOLARIS_CRON = 15 + # local0 + LOCAL0 = 16 + # local1 + LOCAL1 = 17 + # local2 + LOCAL2 = 18 + # local3 + LOCAL3 = 19 + # local4 + LOCAL4 = 20 + # local5 + LOCAL5 = 21 -class CreateOutputSystemByPackAuthType(str, Enum, metaclass=utils.OpenEnumMeta): - OAUTH = "oauth" +class CreateOutputSystemByPackSeveritySyslog(int, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" + # emergency + EMERGENCY = 0 + # alert + ALERT = 1 + # critical + CRITICAL = 2 + # error + ERROR = 3 + # warning + WARNING = 4 + # notice + NOTICE = 5 + # info + INFO = 6 + # debug + DEBUG = 7 -class CreateOutputSystemByPackEndpointConfiguration( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Enter the data collection endpoint URL or the individual ID""" - # URL - URL = "url" - # ID - ID = "ID" +class CreateOutputSystemByPackMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The syslog message format depending on the receiver's support""" + # RFC3164 + RFC3164 = "rfc3164" + # RFC5424 + RFC5424 = "rfc5424" -class CreateOutputSystemByPackFormatSentinel(str, Enum, metaclass=utils.OpenEnumMeta): - NDJSON = "ndjson" - JSON_ARRAY = "json_array" - CUSTOM = "custom" - ADVANCED = "advanced" +class CreateOutputSystemByPackTimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Timestamp format to use when serializing event's time field""" -class CreateOutputSystemByPackPqControlsSentinelTypedDict(TypedDict): + # Syslog + SYSLOG = "syslog" + # ISO8601 + ISO8601 = "iso8601" + + +class CreateOutputSystemByPackPqControlsSyslogTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSentinel(BaseModel): +class CreateOutputSystemByPackPqControlsSyslog(BaseModel): pass -class CreateOutputSystemByPackOutputSentinelTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSyslogTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSentinel - login_url: str - r"""URL for OAuth""" - secret: str - r"""Secret parameter value to pass in request body""" - client_id: str - r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" - endpoint_url_configuration: CreateOutputSystemByPackEndpointConfiguration - r"""Enter the data collection endpoint URL or the individual ID""" + type: CreateOutputSystemByPackTypeSyslog pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -16884,65 +16693,55 @@ class CreateOutputSystemByPackOutputSentinelTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + protocol: NotRequired[CreateOutputSystemByPackProtocolSyslog] + r"""The network protocol to use for sending out syslog messages""" + facility: NotRequired[CreateOutputSystemByPackFacility] + r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" + severity: NotRequired[CreateOutputSystemByPackSeveritySyslog] + r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" + app_name: NotRequired[str] + r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" + message_format: NotRequired[CreateOutputSystemByPackMessageFormat] + r"""The syslog message format depending on the receiver's support""" + timestamp_format: NotRequired[CreateOutputSystemByPackTimestampFormat] + r"""Timestamp format to use when serializing event's time field""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + octet_count_framing: NotRequired[bool] + r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + load_balanced: NotRequired[bool] + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" + host: NotRequired[str] + r"""The hostname of the receiver""" + port: NotRequired[float] + r"""The port to connect to on the provided host""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] + r"""Set of hosts to load-balance data to""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputSystemByPackAuthType] - scope: NotRequired[str] - r"""Scope to pass in the OAuth request""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] - format_: NotRequired[CreateOutputSystemByPackFormatSentinel] - custom_source_expression: NotRequired[str] - r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" - custom_drop_when_null: NotRequired[bool] - r"""Whether to drop events when the source expression evaluates to null""" - custom_event_delimiter: NotRequired[str] - r"""Delimiter string to insert between individual events. Defaults to newline character.""" - custom_content_type: NotRequired[str] - r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" - custom_payload_expression: NotRequired[str] - r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" - advanced_content_type: NotRequired[str] - r"""HTTP content-type header value""" - format_event_code: NotRequired[str] - r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" - format_payload_code: NotRequired[str] - r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + max_record_size: NotRequired[float] + r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" + udp_dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" + enable_ip_spoofing: NotRequired[bool] + r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -16965,59 +16764,22 @@ class CreateOutputSystemByPackOutputSentinelTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSentinelTypedDict] - url: NotRequired[str] - r"""URL to send events to. Can be overwritten by an event's __url field.""" - dcr_id: NotRequired[str] - r"""Immutable ID for the Data Collection Rule (DCR)""" - dce_endpoint: NotRequired[str] - r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" - stream_name: NotRequired[str] - r"""The name of the stream (Sentinel table) in which to store the events""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSyslogTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_login_url: NotRequired[str] - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - template_secret: NotRequired[str] - r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" - template_scope: NotRequired[str] - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_dcr_id: NotRequired[str] - r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" - template_dce_endpoint: NotRequired[str] - r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" - template_stream_name: NotRequired[str] - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" -class CreateOutputSystemByPackOutputSentinel(BaseModel): +class CreateOutputSystemByPackOutputSyslog(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSentinel - - login_url: Annotated[str, pydantic.Field(alias="loginUrl")] - r"""URL for OAuth""" - - secret: str - r"""Secret parameter value to pass in request body""" - - client_id: str - r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" - - endpoint_url_configuration: Annotated[ - CreateOutputSystemByPackEndpointConfiguration, - pydantic.Field(alias="endpointURLConfiguration"), - ] - r"""Enter the data collection endpoint URL or the individual ID""" + type: CreateOutputSystemByPackTypeSyslog pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17033,140 +16795,111 @@ class CreateOutputSystemByPackOutputSentinel(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), - ] = None - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + protocol: Optional[CreateOutputSystemByPackProtocolSyslog] = None + r"""The network protocol to use for sending out syslog messages""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + facility: Optional[CreateOutputSystemByPackFacility] = None + r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" + severity: Optional[CreateOutputSystemByPackSeveritySyslog] = None + r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + app_name: Annotated[Optional[str], pydantic.Field(alias="appName")] = None + r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + message_format: Annotated[ + Optional[CreateOutputSystemByPackMessageFormat], + pydantic.Field(alias="messageFormat"), ] = None + r"""The syslog message format depending on the receiver's support""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + timestamp_format: Annotated[ + Optional[CreateOutputSystemByPackTimestampFormat], + pydantic.Field(alias="timestampFormat"), ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Timestamp format to use when serializing event's time field""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - auth_type: Annotated[ - Optional[CreateOutputSystemByPackAuthType], pydantic.Field(alias="authType") + octet_count_framing: Annotated[ + Optional[bool], pydantic.Field(alias="octetCountFraming") ] = None + r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" - scope: Optional[str] = None - r"""Scope to pass in the OAuth request""" - - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""Use to troubleshoot issues with sending data""" description: Optional[str] = None + r"""Optional description for this configuration.""" - format_: Annotated[ - Optional[CreateOutputSystemByPackFormatSentinel], pydantic.Field(alias="format") - ] = None + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - custom_source_expression: Annotated[ - Optional[str], pydantic.Field(alias="customSourceExpression") + host: Optional[str] = None + r"""The hostname of the receiver""" + + port: Optional[float] = None + r"""The port to connect to on the provided host""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + hosts: Optional[List[HostConfOutputSyslog]] = None + r"""Set of hosts to load-balance data to""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - custom_drop_when_null: Annotated[ - Optional[bool], pydantic.Field(alias="customDropWhenNull") + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""Whether to drop events when the source expression evaluates to null""" + r"""How far back in time to keep traffic stats for load balancing purposes""" - custom_event_delimiter: Annotated[ - Optional[str], pydantic.Field(alias="customEventDelimiter") + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") ] = None - r"""Delimiter string to insert between individual events. Defaults to newline character.""" + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" - custom_content_type: Annotated[ - Optional[str], pydantic.Field(alias="customContentType") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - custom_payload_expression: Annotated[ - Optional[str], pydantic.Field(alias="customPayloadExpression") + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" + r"""How to handle events when all receivers are exerting backpressure""" - advanced_content_type: Annotated[ - Optional[str], pydantic.Field(alias="advancedContentType") + max_record_size: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSize") ] = None - r"""HTTP content-type header value""" + r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" - format_event_code: Annotated[ - Optional[str], pydantic.Field(alias="formatEventCode") + udp_dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="udpDnsResolvePeriodSec") ] = None - r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" - format_payload_code: Annotated[ - Optional[str], pydantic.Field(alias="formatPayloadCode") + enable_ip_spoofing: Annotated[ + Optional[bool], pydantic.Field(alias="enableIpSpoofing") ] = None - r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17218,118 +16951,80 @@ class CreateOutputSystemByPackOutputSentinel(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSentinel], + Optional[CreateOutputSystemByPackPqControlsSyslog], pydantic.Field(alias="pqControls"), ] = None - url: Optional[str] = None - r"""URL to send events to. Can be overwritten by an event's __url field.""" - - dcr_id: Annotated[Optional[str], pydantic.Field(alias="dcrID")] = None - r"""Immutable ID for the Data Collection Rule (DCR)""" - - dce_endpoint: Annotated[Optional[str], pydantic.Field(alias="dceEndpoint")] = None - r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" - - stream_name: Annotated[Optional[str], pydantic.Field(alias="streamName")] = None - r"""The name of the stream (Sentinel table) in which to store the events""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_login_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_loginUrl") - ] = None - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - - template_secret: Annotated[ - Optional[str], pydantic.Field(alias="__template_secret") - ] = None - r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" - - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_client_id") - ] = None - r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" - - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") - ] = None - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( None ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_dcr_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_dcrID") - ] = None - r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - template_dce_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_dceEndpoint") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_stream_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamName") - ] = None - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" + @field_serializer("protocol") + def serialize_protocol(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackProtocolSyslog(value) + except ValueError: + return value + return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("facility") + def serialize_facility(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CreateOutputSystemByPackFacility(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("severity") + def serialize_severity(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CreateOutputSystemByPackSeveritySyslog(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("message_format") + def serialize_message_format(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAuthType(value) + return models.CreateOutputSystemByPackMessageFormat(value) except ValueError: return value return value - @field_serializer("endpoint_url_configuration") - def serialize_endpoint_url_configuration(self, value): + @field_serializer("timestamp_format") + def serialize_timestamp_format(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackEndpointConfiguration(value) + return models.CreateOutputSystemByPackTimestampFormat(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackFormatSentinel(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -17369,35 +17064,31 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "keepAlive", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "scope", - "totalMemoryLimitKB", + "protocol", + "facility", + "severity", + "appName", + "messageFormat", + "timestampFormat", + "throttleRatePerSec", + "octetCountFraming", + "logFailedRequests", "description", - "format", - "customSourceExpression", - "customDropWhenNull", - "customEventDelimiter", - "customContentType", - "customPayloadExpression", - "advancedContentType", - "formatEventCode", - "formatPayloadCode", + "loadBalanced", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "connectionTimeout", + "writeTimeout", + "tls", + "onBackpressure", + "maxRecordSize", + "udpDnsResolvePeriodSec", + "enableIpSpoofing", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17410,21 +17101,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "url", - "dcrID", - "dceEndpoint", - "streamName", "__template_streamtags", - "__template_failedRequestLoggingMode", + "__template_host", + "__template_port", "__template_onBackpressure", - "__template_loginUrl", - "__template_secret", - "__template_client_id", - "__template_scope", - "__template_url", - "__template_dcrID", - "__template_dceEndpoint", - "__template_streamName", ] ) serialized = handler(self) @@ -17441,76 +17121,62 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackOutputWebhookType2(str, Enum): - WEBHOOK = "webhook" - - -class CreateOutputSystemByPackOutputWebhookFormat2( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""How to format events before sending out""" - - # NDJSON (Newline Delimited JSON) - NDJSON = "ndjson" - # JSON Array - JSON_ARRAY = "json_array" - # Custom - CUSTOM = "custom" - # Advanced - ADVANCED = "advanced" - - -class CreateOutputSystemByPackOutputWebhookAuthenticationType2( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Authentication method to use for the HTTP request""" - - # None - NONE = "none" - # Basic - BASIC = "basic" - # Basic (credentials secret) - CREDENTIALS_SECRET = "credentialsSecret" - # Token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" - # OAuth - OAUTH = "oauth" +class CreateOutputSystemByPackTypeDevnull(str, Enum): + DEVNULL = "devnull" -class CreateOutputSystemByPackOutputWebhookPqControls2TypedDict(TypedDict): - pass +class CreateOutputSystemByPackOutputDevnullTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeDevnull + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" -class CreateOutputSystemByPackOutputWebhookPqControls2(BaseModel): - pass +class CreateOutputSystemByPackOutputDevnull(BaseModel): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeDevnull -class CreateOutputSystemByPackOutputWebhookURL2TypedDict(TypedDict): - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" -class CreateOutputSystemByPackOutputWebhookURL2(BaseModel): - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["weight", "__template_url"]) + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "__template_streamtags", + ] + ) serialized = handler(self) m = {} @@ -17525,11 +17191,52 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackOutputWebhookWebhook2TypedDict(TypedDict): +class CreateOutputSystemByPackTypeSentinel(str, Enum): + SENTINEL = "sentinel" + + +class CreateOutputSystemByPackAuthType(str, Enum, metaclass=utils.OpenEnumMeta): + OAUTH = "oauth" + + +class CreateOutputSystemByPackEndpointConfiguration( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Enter the data collection endpoint URL or the individual ID""" + + # URL + URL = "url" + # ID + ID = "ID" + + +class CreateOutputSystemByPackFormatSentinel(str, Enum, metaclass=utils.OpenEnumMeta): + NDJSON = "ndjson" + JSON_ARRAY = "json_array" + CUSTOM = "custom" + ADVANCED = "advanced" + + +class CreateOutputSystemByPackPqControlsSentinelTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsSentinel(BaseModel): + pass + + +class CreateOutputSystemByPackOutputSentinelTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackOutputWebhookType2 - urls: List[CreateOutputSystemByPackOutputWebhookURL2TypedDict] + type: CreateOutputSystemByPackTypeSentinel + login_url: str + r"""URL for OAuth""" + secret: str + r"""Secret parameter value to pass in request body""" + client_id: str + r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" + endpoint_url_configuration: CreateOutputSystemByPackEndpointConfiguration + r"""Enter the data collection endpoint URL or the individual ID""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -17538,16 +17245,12 @@ class CreateOutputSystemByPackOutputWebhookWebhook2TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - method: NotRequired[MethodOptions] - r"""The method to use when sending events""" - format_: NotRequired[CreateOutputSystemByPackOutputWebhookFormat2] - r"""How to format events before sending out""" keep_alive: NotRequired[bool] r"""Disable to close the connection immediately after sending the outgoing request""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" + r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" max_payload_events: NotRequired[float] r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" compress: NotRequired[bool] @@ -17578,14 +17281,14 @@ class CreateOutputSystemByPackOutputWebhookWebhook2TypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputSystemByPackOutputWebhookAuthenticationType2] - r"""Authentication method to use for the HTTP request""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + auth_type: NotRequired[CreateOutputSystemByPackAuthType] + scope: NotRequired[str] + r"""Scope to pass in the OAuth request""" total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + format_: NotRequired[CreateOutputSystemByPackFormatSentinel] custom_source_expression: NotRequired[str] r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" custom_drop_when_null: NotRequired[bool] @@ -17624,39 +17327,15 @@ class CreateOutputSystemByPackOutputWebhookWebhook2TypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackOutputWebhookPqControls2TypedDict] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - login_url: NotRequired[str] - r"""URL for OAuth""" - secret_param_name: NotRequired[str] - r"""Secret parameter name to pass in request body""" - secret: NotRequired[str] - r"""Secret parameter value to pass in request body""" - token_attribute_name: NotRequired[str] - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - auth_header_expr: NotRequired[str] - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - token_timeout_secs: NotRequired[float] - r"""How often the OAuth token should be refreshed.""" - oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" - oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] - 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.""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSentinelTypedDict] url: NotRequired[str] - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""URL to send events to. Can be overwritten by an event's __url field.""" + dcr_id: NotRequired[str] + r"""Immutable ID for the Data Collection Rule (DCR)""" + dce_endpoint: NotRequired[str] + r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" + stream_name: NotRequired[str] + r"""The name of the stream (Sentinel table) in which to store the events""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -17667,17 +17346,40 @@ class CreateOutputSystemByPackOutputWebhookWebhook2TypedDict(TypedDict): r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" template_secret: NotRequired[str] r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" + template_scope: NotRequired[str] + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" template_url: NotRequired[str] r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_dcr_id: NotRequired[str] + r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" + template_dce_endpoint: NotRequired[str] + r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" + template_stream_name: NotRequired[str] + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" -class CreateOutputSystemByPackOutputWebhookWebhook2(BaseModel): +class CreateOutputSystemByPackOutputSentinel(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackOutputWebhookType2 + type: CreateOutputSystemByPackTypeSentinel - urls: List[CreateOutputSystemByPackOutputWebhookURL2] + login_url: Annotated[str, pydantic.Field(alias="loginUrl")] + r"""URL for OAuth""" + + secret: str + r"""Secret parameter value to pass in request body""" + + client_id: str + r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" + + endpoint_url_configuration: Annotated[ + CreateOutputSystemByPackEndpointConfiguration, + pydantic.Field(alias="endpointURLConfiguration"), + ] + r"""Enter the data collection endpoint URL or the individual ID""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17693,15 +17395,6 @@ class CreateOutputSystemByPackOutputWebhookWebhook2(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - method: Optional[MethodOptions] = None - r"""The method to use when sending events""" - - format_: Annotated[ - Optional[CreateOutputSystemByPackOutputWebhookFormat2], - pydantic.Field(alias="format"), - ] = None - r"""How to format events before sending out""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None r"""Disable to close the connection immediately after sending the outgoing request""" @@ -17711,7 +17404,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook2(BaseModel): max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") @@ -17780,24 +17473,23 @@ class CreateOutputSystemByPackOutputWebhookWebhook2(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[CreateOutputSystemByPackOutputWebhookAuthenticationType2], - pydantic.Field(alias="authType"), + Optional[CreateOutputSystemByPackAuthType], pydantic.Field(alias="authType") ] = None - r"""Authentication method to use for the HTTP request""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + scope: Optional[str] = None + r"""Scope to pass in the OAuth request""" total_memory_limit_kb: Annotated[ Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" + + format_: Annotated[ + Optional[CreateOutputSystemByPackFormatSentinel], pydantic.Field(alias="format") + ] = None custom_source_expression: Annotated[ Optional[str], pydantic.Field(alias="customSourceExpression") @@ -17889,78 +17581,21 @@ class CreateOutputSystemByPackOutputWebhookWebhook2(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackOutputWebhookPqControls2], + Optional[CreateOutputSystemByPackPqControlsSentinel], pydantic.Field(alias="pqControls"), ] = None - username: Optional[str] = None - - password: Optional[str] = None - - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") - ] = None - r"""Select or create a secret that references your credentials""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None - r"""URL for OAuth""" - - secret_param_name: Annotated[ - Optional[str], pydantic.Field(alias="secretParamName") - ] = None - r"""Secret parameter name to pass in request body""" - - secret: Optional[str] = None - r"""Secret parameter value to pass in request body""" - - token_attribute_name: Annotated[ - Optional[str], pydantic.Field(alias="tokenAttributeName") - ] = None - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - - auth_header_expr: Annotated[ - Optional[str], pydantic.Field(alias="authHeaderExpr") - ] = None - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - - token_timeout_secs: Annotated[ - Optional[float], pydantic.Field(alias="tokenTimeoutSecs") - ] = None - r"""How often the OAuth token should be refreshed.""" - - oauth_params: Annotated[ - Optional[List[OauthParamConfInputServicenowTable]], - pydantic.Field(alias="oauthParams"), - ] = None - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" - - oauth_headers: Annotated[ - Optional[List[OauthHeaderConfInputServicenowTable]], - pydantic.Field(alias="oauthHeaders"), - ] = None - 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.""" - url: Optional[str] = None - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + r"""URL to send events to. Can be overwritten by an event's __url field.""" - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + dcr_id: Annotated[Optional[str], pydantic.Field(alias="dcrID")] = None + r"""Immutable ID for the Data Collection Rule (DCR)""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + dce_endpoint: Annotated[Optional[str], pydantic.Field(alias="dceEndpoint")] = None + r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + stream_name: Annotated[Optional[str], pydantic.Field(alias="streamName")] = None + r"""The name of the stream (Sentinel table) in which to store the events""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -17987,54 +17622,77 @@ class CreateOutputSystemByPackOutputWebhookWebhook2(BaseModel): ] = None r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_client_id") + ] = None + r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" + + template_scope: Annotated[ + Optional[str], pydantic.Field(alias="__template_scope") + ] = None + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - @field_serializer("method") - def serialize_method(self, value): + template_dcr_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_dcrID") + ] = None + r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" + + template_dce_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_dceEndpoint") + ] = None + r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" + + template_stream_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamName") + ] = None + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" + + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.MethodOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackOutputWebhookFormat2(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CreateOutputSystemByPackAuthType(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("endpoint_url_configuration") + def serialize_endpoint_url_configuration(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CreateOutputSystemByPackEndpointConfiguration(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackOutputWebhookAuthenticationType2( - value - ) + return models.CreateOutputSystemByPackFormatSentinel(value) except ValueError: return value return value @@ -18074,8 +17732,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "method", - "format", "keepAlive", "concurrency", "maxPayloadSizeKB", @@ -18093,10 +17749,10 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "onBackpressure", "authType", - "tls", + "scope", "totalMemoryLimitKB", - "loadBalanced", "description", + "format", "customSourceExpression", "customDropWhenNull", "customEventDelimiter", @@ -18117,29 +17773,21 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "loginUrl", - "secretParamName", - "secret", - "tokenAttributeName", - "authHeaderExpr", - "tokenTimeoutSecs", - "oauthParams", - "oauthHeaders", "url", - "excludeSelf", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", + "dcrID", + "dceEndpoint", + "streamName", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_client_id", + "__template_scope", "__template_url", + "__template_dcrID", + "__template_dceEndpoint", + "__template_streamName", ] ) serialized = handler(self) @@ -18156,11 +17804,11 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackOutputWebhookType1(str, Enum): +class CreateOutputSystemByPackOutputWebhookType2(str, Enum): WEBHOOK = "webhook" -class CreateOutputSystemByPackOutputWebhookFormat1( +class CreateOutputSystemByPackOutputWebhookFormat2( str, Enum, metaclass=utils.OpenEnumMeta ): r"""How to format events before sending out""" @@ -18175,7 +17823,7 @@ class CreateOutputSystemByPackOutputWebhookFormat1( ADVANCED = "advanced" -class CreateOutputSystemByPackOutputWebhookAuthenticationType1( +class CreateOutputSystemByPackOutputWebhookAuthenticationType2( str, Enum, metaclass=utils.OpenEnumMeta ): r"""Authentication method to use for the HTTP request""" @@ -18194,15 +17842,15 @@ class CreateOutputSystemByPackOutputWebhookAuthenticationType1( OAUTH = "oauth" -class CreateOutputSystemByPackOutputWebhookPqControls1TypedDict(TypedDict): +class CreateOutputSystemByPackOutputWebhookPqControls2TypedDict(TypedDict): pass -class CreateOutputSystemByPackOutputWebhookPqControls1(BaseModel): +class CreateOutputSystemByPackOutputWebhookPqControls2(BaseModel): pass -class CreateOutputSystemByPackOutputWebhookURL1TypedDict(TypedDict): +class CreateOutputSystemByPackOutputWebhookURL2TypedDict(TypedDict): url: str r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" weight: NotRequired[float] @@ -18211,7 +17859,7 @@ class CreateOutputSystemByPackOutputWebhookURL1TypedDict(TypedDict): r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputWebhookURL1(BaseModel): +class CreateOutputSystemByPackOutputWebhookURL2(BaseModel): url: str r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" @@ -18240,12 +17888,11 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(TypedDict): +class CreateOutputSystemByPackOutputWebhookWebhook2TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackOutputWebhookType1 - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + type: CreateOutputSystemByPackOutputWebhookType2 + urls: List[CreateOutputSystemByPackOutputWebhookURL2TypedDict] pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -18256,7 +17903,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(TypedDict): r"""Tags for filtering and grouping in @{product}""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" - format_: NotRequired[CreateOutputSystemByPackOutputWebhookFormat1] + format_: NotRequired[CreateOutputSystemByPackOutputWebhookFormat2] r"""How to format events before sending out""" keep_alive: NotRequired[bool] r"""Disable to close the connection immediately after sending the outgoing request""" @@ -18294,7 +17941,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputSystemByPackOutputWebhookAuthenticationType1] + auth_type: NotRequired[CreateOutputSystemByPackOutputWebhookAuthenticationType2] r"""Authentication method to use for the HTTP request""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] total_memory_limit_kb: NotRequired[float] @@ -18302,6 +17949,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(TypedDict): load_balanced: NotRequired[bool] r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_source_expression: NotRequired[str] r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" custom_drop_when_null: NotRequired[bool] @@ -18340,7 +17988,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackOutputWebhookPqControls1TypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackOutputWebhookPqControls2TypedDict] username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -18365,9 +18013,10 @@ class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(TypedDict): r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] 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.""" + url: NotRequired[str] + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[CreateOutputSystemByPackOutputWebhookURL1TypedDict]] dns_resolve_period_sec: NotRequired[float] r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" load_balance_stats_period_sec: NotRequired[float] @@ -18386,14 +18035,13 @@ class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(TypedDict): r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputWebhookWebhook1(BaseModel): +class CreateOutputSystemByPackOutputWebhookWebhook2(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackOutputWebhookType1 + type: CreateOutputSystemByPackOutputWebhookType2 - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + urls: List[CreateOutputSystemByPackOutputWebhookURL2] pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -18413,7 +18061,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1(BaseModel): r"""The method to use when sending events""" format_: Annotated[ - Optional[CreateOutputSystemByPackOutputWebhookFormat1], + Optional[CreateOutputSystemByPackOutputWebhookFormat2], pydantic.Field(alias="format"), ] = None r"""How to format events before sending out""" @@ -18496,7 +18144,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[CreateOutputSystemByPackOutputWebhookAuthenticationType1], + Optional[CreateOutputSystemByPackOutputWebhookAuthenticationType2], pydantic.Field(alias="authType"), ] = None r"""Authentication method to use for the HTTP request""" @@ -18514,6 +18162,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1(BaseModel): r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: Optional[str] = None + r"""Optional description for this configuration.""" custom_source_expression: Annotated[ Optional[str], pydantic.Field(alias="customSourceExpression") @@ -18605,7 +18254,7 @@ class CreateOutputSystemByPackOutputWebhookWebhook1(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackOutputWebhookPqControls1], + Optional[CreateOutputSystemByPackOutputWebhookPqControls2], pydantic.Field(alias="pqControls"), ] = None @@ -18662,11 +18311,12 @@ class CreateOutputSystemByPackOutputWebhookWebhook1(BaseModel): ] = None 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.""" + url: Optional[str] = None + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: Optional[List[CreateOutputSystemByPackOutputWebhookURL1]] = None - dns_resolve_period_sec: Annotated[ Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None @@ -18720,7 +18370,7 @@ def serialize_method(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackOutputWebhookFormat1(value) + return models.CreateOutputSystemByPackOutputWebhookFormat2(value) except ValueError: return value return value @@ -18747,7 +18397,7 @@ def serialize_on_backpressure(self, value): def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackOutputWebhookAuthenticationType1( + return models.CreateOutputSystemByPackOutputWebhookAuthenticationType2( value ) except ValueError: @@ -18845,8 +18495,8 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "url", "excludeSelf", - "urls", "dnsResolvePeriodSec", "loadBalanceStatsPeriodSec", "__template_streamtags", @@ -18871,6 +18521,48 @@ def serialize_model(self, handler): return m +class CreateOutputSystemByPackOutputWebhookType1(str, Enum): + WEBHOOK = "webhook" + + +class CreateOutputSystemByPackOutputWebhookFormat1( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""How to format events before sending out""" + + # NDJSON (Newline Delimited JSON) + NDJSON = "ndjson" + # JSON Array + JSON_ARRAY = "json_array" + # Custom + CUSTOM = "custom" + # Advanced + ADVANCED = "advanced" + + +class CreateOutputSystemByPackOutputWebhookAuthenticationType1( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Authentication method to use for the HTTP request""" + + # None + NONE = "none" + # Basic + BASIC = "basic" + # Basic (credentials secret) + CREDENTIALS_SECRET = "credentialsSecret" + # Token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" + # OAuth + OAUTH = "oauth" + + +try: + CreateOutputSystemByPackOutputStatsdExt.model_rebuild() +except NameError: + pass try: CreateOutputSystemByPackOutputStatsd.model_rebuild() except NameError: @@ -19043,11 +18735,3 @@ def serialize_model(self, handler): CreateOutputSystemByPackOutputWebhookWebhook2.model_rebuild() except NameError: pass -try: - CreateOutputSystemByPackOutputWebhookURL1.model_rebuild() -except NameError: - pass -try: - CreateOutputSystemByPackOutputWebhookWebhook1.model_rebuild() -except NameError: - pass diff --git a/src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_statsd.py b/src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_statsdext.py similarity index 97% rename from src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_statsd.py rename to src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_statsdext.py index c6aa6e1c4..163828dc5 100644 --- a/src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_statsd.py +++ b/src/cribl_control_plane/models/createoutputsystembypack_pqcontrols_statsdext.py @@ -137,20 +137,20 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict -class CreateOutputSystemByPackTypeAlibabaCloudS3(str, Enum): - ALIBABA_CLOUD_S3 = "alibaba_cloud_s3" +class CreateOutputSystemByPackTypeIbmCloudS3(str, Enum): + IBM_CLOUD_S3 = "ibm_cloud_s3" -class CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict(TypedDict): +class CreateOutputSystemByPackOutputIbmCloudS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAlibabaCloudS3 + type: CreateOutputSystemByPackTypeIbmCloudS3 + endpoint: str + r"""IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud)""" bucket: str - r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -207,9 +207,8 @@ class CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -248,6 +247,8 @@ class CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_dest_path: NotRequired[str] @@ -262,31 +263,27 @@ class CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputAlibabaCloudS3(BaseModel): +class CreateOutputSystemByPackOutputIbmCloudS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAlibabaCloudS3 + type: CreateOutputSystemByPackTypeIbmCloudS3 + + endpoint: str + r"""IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud)""" bucket: str - r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" - pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -421,12 +418,8 @@ class CreateOutputSystemByPackOutputAlibabaCloudS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") - ] = None - r"""Object ACL to assign to uploaded objects""" - description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -520,6 +513,11 @@ class CreateOutputSystemByPackOutputAlibabaCloudS3(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_bucket: Annotated[ Optional[str], pydantic.Field(alias="__template_bucket") ] = None @@ -555,16 +553,6 @@ class CreateOutputSystemByPackOutputAlibabaCloudS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") ] = None @@ -611,15 +599,6 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): - if isinstance(value, str): - try: - return models.ObjectACLOptions(value) - except ValueError: - return value - return value - @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -689,7 +668,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", "description", "awsSecret", "compress", @@ -710,6 +688,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_destPath", "__template_partitionExpr", @@ -717,8 +696,6 @@ def serialize_model(self, handler): "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_objectACL", - "__template_endpoint", "__template_compress", "__template_parquetSchema", ] @@ -737,20 +714,31 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeScalityS3(str, Enum): - SCALITY_S3 = "scality_s3" +class CreateOutputSystemByPackTypeAlibabaCloudS3(str, Enum): + ALIBABA_CLOUD_S3 = "alibaba_cloud_s3" -class CreateOutputSystemByPackOutputScalityS3TypedDict(TypedDict): +class CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Authentication method.""" + + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" + + +class CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeScalityS3 + type: CreateOutputSystemByPackTypeAlibabaCloudS3 bucket: str - r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" + r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -759,14 +747,14 @@ class CreateOutputSystemByPackOutputScalityS3TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] + aws_authentication_method: NotRequired[ + CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3 + ] r"""Authentication method.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the Scality bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -809,7 +797,10 @@ class CreateOutputSystemByPackOutputScalityS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -850,8 +841,6 @@ class CreateOutputSystemByPackOutputScalityS3TypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -864,6 +853,8 @@ class CreateOutputSystemByPackOutputScalityS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" template_endpoint: NotRequired[str] r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] @@ -872,20 +863,20 @@ class CreateOutputSystemByPackOutputScalityS3TypedDict(TypedDict): r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputScalityS3(BaseModel): +class CreateOutputSystemByPackOutputAlibabaCloudS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeScalityS3 + type: CreateOutputSystemByPackTypeAlibabaCloudS3 bucket: str - r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" + r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -902,7 +893,7 @@ class CreateOutputSystemByPackOutputScalityS3(BaseModel): r"""Tags for filtering and grouping in @{product}""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsSecret], + Optional[CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3], pydantic.Field(alias="awsAuthenticationMethod"), ] = None r"""Authentication method.""" @@ -917,9 +908,6 @@ class CreateOutputSystemByPackOutputScalityS3(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: Optional[str] = None - r"""Region where the Scality bucket is located""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -1024,7 +1012,13 @@ class CreateOutputSystemByPackOutputScalityS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" + description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -1123,11 +1117,6 @@ class CreateOutputSystemByPackOutputScalityS3(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None @@ -1158,6 +1147,11 @@ class CreateOutputSystemByPackOutputScalityS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_endpoint: Annotated[ Optional[str], pydantic.Field(alias="__template_endpoint") ] = None @@ -1177,7 +1171,11 @@ class CreateOutputSystemByPackOutputScalityS3(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsSecret(value) + return ( + models.CreateOutputSystemByPackAuthenticationMethodAlibabaCloudS3( + value + ) + ) except ValueError: return value return value @@ -1209,6 +1207,15 @@ def serialize_on_disk_full_backpressure(self, value): return value return value + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -1256,7 +1263,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -1279,6 +1285,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "objectACL", "description", "awsSecret", "compress", @@ -1300,13 +1307,13 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", - "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", + "__template_objectACL", "__template_endpoint", "__template_compress", "__template_parquetSchema", @@ -1326,20 +1333,20 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeCloudianS3(str, Enum): - CLOUDIAN_S3 = "cloudian_s3" +class CreateOutputSystemByPackTypeScalityS3(str, Enum): + SCALITY_S3 = "scality_s3" -class CreateOutputSystemByPackOutputCloudianS3TypedDict(TypedDict): +class CreateOutputSystemByPackOutputScalityS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCloudianS3 - endpoint: str - r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" + type: CreateOutputSystemByPackTypeScalityS3 bucket: str - r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -1355,7 +1362,7 @@ class CreateOutputSystemByPackOutputCloudianS3TypedDict(TypedDict): reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: NotRequired[str] - r"""Region where the Cloudian bucket is located""" + r"""Region where the Scality bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -1398,15 +1405,8 @@ class CreateOutputSystemByPackOutputCloudianS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptions] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: NotRequired[str] - r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -1445,8 +1445,6 @@ class CreateOutputSystemByPackOutputCloudianS3TypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_region: NotRequired[str] @@ -1463,35 +1461,29 @@ class CreateOutputSystemByPackOutputCloudianS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_kms_key_id: NotRequired[str] - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputCloudianS3(BaseModel): +class CreateOutputSystemByPackOutputScalityS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCloudianS3 - - endpoint: str - r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" + type: CreateOutputSystemByPackTypeScalityS3 bucket: str - r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" + pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -1523,7 +1515,7 @@ class CreateOutputSystemByPackOutputCloudianS3(BaseModel): r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: Optional[str] = None - r"""Region where the Cloudian bucket is located""" + r"""Region where the Scality bucket is located""" dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -1629,26 +1621,8 @@ class CreateOutputSystemByPackOutputCloudianS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") - ] = None - r"""Object ACL to assign to uploaded objects""" - - storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") - ] = None - r"""Storage class to select for uploaded objects""" - - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), - ] = None - r"""Server-side encryption to use for uploaded objects""" - - kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None - r"""ID or ARN of the KMS customer-managed key to use for encryption""" - description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -1742,11 +1716,6 @@ class CreateOutputSystemByPackOutputCloudianS3(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_bucket: Annotated[ Optional[str], pydantic.Field(alias="__template_bucket") ] = None @@ -1787,25 +1756,10 @@ class CreateOutputSystemByPackOutputCloudianS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") - ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -1853,33 +1807,6 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): - if isinstance(value, str): - try: - return models.ObjectACLOptions(value) - except ValueError: - return value - return value - - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.StorageClassOptions(value) - except ValueError: - return value - return value - - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptions(value) - except ValueError: - return value - return value - @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -1950,10 +1877,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", "description", "awsSecret", "compress", @@ -1974,7 +1897,6 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -1983,10 +1905,7 @@ def serialize_model(self, handler): "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", + "__template_endpoint", "__template_compress", "__template_parquetSchema", ] @@ -2005,20 +1924,20 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDellS3(str, Enum): - DELL_S3 = "dell_s3" +class CreateOutputSystemByPackTypeCloudianS3(str, Enum): + CLOUDIAN_S3 = "cloudian_s3" -class CreateOutputSystemByPackOutputDellS3TypedDict(TypedDict): +class CreateOutputSystemByPackOutputCloudianS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDellS3 + type: CreateOutputSystemByPackTypeCloudianS3 + endpoint: str + r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" bucket: str - r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -2034,7 +1953,7 @@ class CreateOutputSystemByPackOutputDellS3TypedDict(TypedDict): reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: NotRequired[str] - r"""Region where the Dell PowerScale OneFS bucket is located""" + r"""Region where the Cloudian bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -2079,7 +1998,14 @@ class CreateOutputSystemByPackOutputDellS3TypedDict(TypedDict): orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] object_acl: NotRequired[ObjectACLOptions] r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptions] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: NotRequired[str] + r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -2118,6 +2044,8 @@ class CreateOutputSystemByPackOutputDellS3TypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_region: NotRequired[str] @@ -2136,29 +2064,33 @@ class CreateOutputSystemByPackOutputDellS3TypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" template_object_acl: NotRequired[str] r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_kms_key_id: NotRequired[str] + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputDellS3(BaseModel): +class CreateOutputSystemByPackOutputCloudianS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDellS3 + type: CreateOutputSystemByPackTypeCloudianS3 + + endpoint: str + r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" bucket: str - r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" - pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -2190,7 +2122,7 @@ class CreateOutputSystemByPackOutputDellS3(BaseModel): r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: Optional[str] = None - r"""Region where the Dell PowerScale OneFS bucket is located""" + r"""Region where the Cloudian bucket is located""" dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -2301,7 +2233,22 @@ class CreateOutputSystemByPackOutputDellS3(BaseModel): ] = None r"""Object ACL to assign to uploaded objects""" + storage_class: Annotated[ + Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + ] = None + r"""Storage class to select for uploaded objects""" + + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptions], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" + + kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None + r"""ID or ARN of the KMS customer-managed key to use for encryption""" + description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -2395,6 +2342,11 @@ class CreateOutputSystemByPackOutputDellS3(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_bucket: Annotated[ Optional[str], pydantic.Field(alias="__template_bucket") ] = None @@ -2440,10 +2392,20 @@ class CreateOutputSystemByPackOutputDellS3(BaseModel): ] = None r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + + template_kms_key_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_kmsKeyId") + ] = None + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -2500,6 +2462,24 @@ def serialize_object_acl(self, value): return value return value + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.StorageClassOptions(value) + except ValueError: + return value + return value + + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): + if isinstance(value, str): + try: + return models.ServerSideEncryptionForUploadedObjectsOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -2571,6 +2551,9 @@ def serialize_model(self, handler): "retrySettings", "orphans", "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", "description", "awsSecret", "compress", @@ -2591,6 +2574,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -2600,7 +2584,9 @@ def serialize_model(self, handler): "__template_fileNameSuffix", "__template_onBackpressure", "__template_objectACL", - "__template_endpoint", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", "__template_compress", "__template_parquetSchema", ] @@ -2619,18 +2605,20 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeAlphasocS3(str, Enum): - ALPHASOC_S3 = "alphasoc_s3" +class CreateOutputSystemByPackTypeDellS3(str, Enum): + DELL_S3 = "dell_s3" -class CreateOutputSystemByPackOutputAlphasocS3TypedDict(TypedDict): +class CreateOutputSystemByPackOutputDellS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAlphasocS3 + type: CreateOutputSystemByPackTypeDellS3 bucket: str - r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -2645,6 +2633,8 @@ class CreateOutputSystemByPackOutputAlphasocS3TypedDict(TypedDict): r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the Dell PowerScale OneFS bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -2687,9 +2677,10 @@ class CreateOutputSystemByPackOutputAlphasocS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - endpoint: NotRequired[str] - r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -2730,8 +2721,12 @@ class CreateOutputSystemByPackOutputAlphasocS3TypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_base_file_name: NotRequired[str] @@ -2740,6 +2735,8 @@ class CreateOutputSystemByPackOutputAlphasocS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" template_endpoint: NotRequired[str] r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] @@ -2748,18 +2745,21 @@ class CreateOutputSystemByPackOutputAlphasocS3TypedDict(TypedDict): r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputAlphasocS3(BaseModel): +class CreateOutputSystemByPackOutputDellS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeAlphasocS3 + type: CreateOutputSystemByPackTypeDellS3 bucket: str - r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" + pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -2790,6 +2790,9 @@ class CreateOutputSystemByPackOutputAlphasocS3(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: Optional[str] = None + r"""Region where the Dell PowerScale OneFS bucket is located""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -2894,10 +2897,13 @@ class CreateOutputSystemByPackOutputAlphasocS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - endpoint: Optional[str] = None - r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -2996,11 +3002,21 @@ class CreateOutputSystemByPackOutputAlphasocS3(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None @@ -3021,6 +3037,11 @@ class CreateOutputSystemByPackOutputAlphasocS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_endpoint: Annotated[ Optional[str], pydantic.Field(alias="__template_endpoint") ] = None @@ -3072,6 +3093,15 @@ def serialize_on_disk_full_backpressure(self, value): return value return value + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -3119,6 +3149,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -3141,7 +3172,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "endpoint", + "objectACL", "description", "awsSecret", "compress", @@ -3163,11 +3194,14 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", + "__template_region", "__template_destPath", + "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", + "__template_objectACL", "__template_endpoint", "__template_compress", "__template_parquetSchema", @@ -3187,20 +3221,18 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeStorjS3(str, Enum): - STORJ_S3 = "storj_s3" +class CreateOutputSystemByPackTypeAlphasocS3(str, Enum): + ALPHASOC_S3 = "alphasoc_s3" -class CreateOutputSystemByPackOutputStorjS3TypedDict(TypedDict): +class CreateOutputSystemByPackOutputAlphasocS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeStorjS3 + type: CreateOutputSystemByPackTypeAlphasocS3 bucket: str - r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -3257,7 +3289,10 @@ class CreateOutputSystemByPackOutputStorjS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + endpoint: NotRequired[str] + r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -3300,8 +3335,6 @@ class CreateOutputSystemByPackOutputStorjS3TypedDict(TypedDict): r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_base_file_name: NotRequired[str] @@ -3318,21 +3351,18 @@ class CreateOutputSystemByPackOutputStorjS3TypedDict(TypedDict): r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputStorjS3(BaseModel): +class CreateOutputSystemByPackOutputAlphasocS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeStorjS3 + type: CreateOutputSystemByPackTypeAlphasocS3 bucket: str - r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" - pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -3467,7 +3497,11 @@ class CreateOutputSystemByPackOutputStorjS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None + endpoint: Optional[str] = None + r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" + description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -3571,11 +3605,6 @@ class CreateOutputSystemByPackOutputStorjS3(BaseModel): ] = None r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") - ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None @@ -3716,6 +3745,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "endpoint", "description", "awsSecret", "compress", @@ -3738,7 +3768,6 @@ def serialize_model(self, handler): "__template_streamtags", "__template_bucket", "__template_destPath", - "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", @@ -3762,20 +3791,20 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeNutanixObjects(str, Enum): - NUTANIX_OBJECTS = "nutanix_objects" +class CreateOutputSystemByPackTypeStorjS3(str, Enum): + STORJ_S3 = "storj_s3" -class CreateOutputSystemByPackOutputNutanixObjectsTypedDict(TypedDict): +class CreateOutputSystemByPackOutputStorjS3TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeNutanixObjects + type: CreateOutputSystemByPackTypeStorjS3 bucket: str - r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" + r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -3790,8 +3819,6 @@ class CreateOutputSystemByPackOutputNutanixObjectsTypedDict(TypedDict): r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the Nutanix Objects bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -3835,6 +3862,7 @@ class CreateOutputSystemByPackOutputNutanixObjectsTypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -3875,8 +3903,6 @@ class CreateOutputSystemByPackOutputNutanixObjectsTypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -3897,20 +3923,20 @@ class CreateOutputSystemByPackOutputNutanixObjectsTypedDict(TypedDict): r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputNutanixObjects(BaseModel): +class CreateOutputSystemByPackOutputStorjS3(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeNutanixObjects + type: CreateOutputSystemByPackTypeStorjS3 bucket: str - r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" + r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -3942,9 +3968,6 @@ class CreateOutputSystemByPackOutputNutanixObjects(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: Optional[str] = None - r"""Region where the Nutanix Objects bucket is located""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -4050,6 +4073,7 @@ class CreateOutputSystemByPackOutputNutanixObjects(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -4148,11 +4172,6 @@ class CreateOutputSystemByPackOutputNutanixObjects(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None @@ -4281,7 +4300,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -4325,7 +4343,6 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", - "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", @@ -4351,20 +4368,20 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeCloudflareR2(str, Enum): - CLOUDFLARE_R2 = "cloudflare_r2" +class CreateOutputSystemByPackTypeNutanixObjects(str, Enum): + NUTANIX_OBJECTS = "nutanix_objects" -class CreateOutputSystemByPackOutputCloudflareR2TypedDict(TypedDict): +class CreateOutputSystemByPackOutputNutanixObjectsTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCloudflareR2 + type: CreateOutputSystemByPackTypeNutanixObjects bucket: str - r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" + r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -4373,12 +4390,14 @@ class CreateOutputSystemByPackOutputCloudflareR2TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] - r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] + r"""Authentication method.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the Nutanix Objects bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -4421,15 +4440,8 @@ class CreateOutputSystemByPackOutputCloudflareR2TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ - ServerSideEncryptionForUploadedObjectsOptionsAes256 - ] - r"""Server-side encryption to use for uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -4470,6 +4482,8 @@ class CreateOutputSystemByPackOutputCloudflareR2TypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -4482,32 +4496,28 @@ class CreateOutputSystemByPackOutputCloudflareR2TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): +class CreateOutputSystemByPackOutputNutanixObjects(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCloudflareR2 + type: CreateOutputSystemByPackTypeNutanixObjects bucket: str - r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" + r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -4524,10 +4534,10 @@ class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): r"""Tags for filtering and grouping in @{product}""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsAutoSecret], + Optional[AuthenticationMethodOptionsSecret], pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Authentication method.""" reuse_connections: Annotated[ Optional[bool], pydantic.Field(alias="reuseConnections") @@ -4539,6 +4549,9 @@ class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: Optional[str] = None + r"""Region where the Nutanix Objects bucket is located""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -4643,24 +4656,8 @@ class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - - storage_class: Annotated[ - Optional[StorageClassOptionsReducedredundancyStandard], - pydantic.Field(alias="storageClass"), - ] = None - r"""Storage class to select for uploaded objects""" - - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], - pydantic.Field(alias="serverSideEncryption"), - ] = None - r"""Server-side encryption to use for uploaded objects""" - description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -4759,6 +4756,11 @@ class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None @@ -4789,20 +4791,10 @@ class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -4818,7 +4810,7 @@ class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAutoSecret(value) + return models.AuthenticationMethodOptionsSecret(value) except ValueError: return value return value @@ -4850,24 +4842,6 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.StorageClassOptionsReducedredundancyStandard(value) - except ValueError: - return value - return value - - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) - except ValueError: - return value - return value - @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -4915,6 +4889,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -4937,9 +4912,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "storageClass", - "serverSideEncryption", "description", "awsSecret", "compress", @@ -4961,15 +4933,14 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", + "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_storageClass", - "__template_serverSideEncryption", + "__template_endpoint", "__template_compress", "__template_parquetSchema", ] @@ -4988,202 +4959,20 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeMicrosoftFabric(str, Enum): - MICROSOFT_FABRIC = "microsoft_fabric" - - -class CreateOutputSystemByPackAuthenticationTypedDict(TypedDict): - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - - disabled: bool - mechanism: NotRequired[SaslMechanismOptionsSaslOauthbearerPlain] - username: NotRequired[str] - r"""The username for authentication. This should always be $ConnectionString.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" - client_secret_auth_type: NotRequired[AuthenticationMethodOptionsAuth] - client_text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - certificate_name: NotRequired[str] - r"""Select or create a stored certificate""" - cert_path: NotRequired[str] - priv_key_path: NotRequired[str] - passphrase: NotRequired[str] - oauth_endpoint: NotRequired[MicrosoftEntraIDAuthenticationEndpointOptionsSasl] - r"""Endpoint used to acquire authentication tokens from Azure""" - client_id: NotRequired[str] - r"""client_id to pass in the OAuth request parameter""" - tenant_id: NotRequired[str] - r"""Directory ID (tenant identifier) in Azure Active Directory""" - scope: NotRequired[str] - r"""Scope to pass in the OAuth request parameter""" - template_mechanism: NotRequired[str] - r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" - template_oauth_endpoint: NotRequired[str] - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_tenant_id: NotRequired[str] - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_scope: NotRequired[str] - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - - -class CreateOutputSystemByPackAuthentication(BaseModel): - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - - disabled: bool - - mechanism: Optional[SaslMechanismOptionsSaslOauthbearerPlain] = None - - username: Optional[str] = None - r"""The username for authentication. This should always be $ConnectionString.""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" - - client_secret_auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuth], - pydantic.Field(alias="clientSecretAuthType"), - ] = None - - client_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="clientTextSecret") - ] = None - r"""Select or create a stored text secret""" - - certificate_name: Annotated[ - Optional[str], pydantic.Field(alias="certificateName") - ] = None - r"""Select or create a stored certificate""" - - cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None - - priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None - - passphrase: Optional[str] = None - - oauth_endpoint: Annotated[ - Optional[MicrosoftEntraIDAuthenticationEndpointOptionsSasl], - pydantic.Field(alias="oauthEndpoint"), - ] = None - r"""Endpoint used to acquire authentication tokens from Azure""" - - client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None - r"""client_id to pass in the OAuth request parameter""" - - tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None - r"""Directory ID (tenant identifier) in Azure Active Directory""" - - scope: Optional[str] = None - r"""Scope to pass in the OAuth request parameter""" - - template_mechanism: Annotated[ - Optional[str], pydantic.Field(alias="__template_mechanism") - ] = None - r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" - - template_oauth_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_oauthEndpoint") - ] = None - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") - ] = None - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - - template_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") - ] = None - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") - ] = None - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - - @field_serializer("mechanism") - def serialize_mechanism(self, value): - if isinstance(value, str): - try: - return models.SaslMechanismOptionsSaslOauthbearerPlain(value) - except ValueError: - return value - return value - - @field_serializer("client_secret_auth_type") - def serialize_client_secret_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuth(value) - except ValueError: - return value - return value +class CreateOutputSystemByPackTypeCloudflareR2(str, Enum): + CLOUDFLARE_R2 = "cloudflare_r2" - @field_serializer("oauth_endpoint") - def serialize_oauth_endpoint(self, value): - if isinstance(value, str): - try: - return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) - except ValueError: - return value - return value - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "mechanism", - "username", - "textSecret", - "clientSecretAuthType", - "clientTextSecret", - "certificateName", - "certPath", - "privKeyPath", - "passphrase", - "oauthEndpoint", - "clientId", - "tenantId", - "scope", - "__template_mechanism", - "__template_oauthEndpoint", - "__template_clientId", - "__template_tenantId", - "__template_scope", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackPqControlsMicrosoftFabricTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsMicrosoftFabric(BaseModel): - pass - - -class CreateOutputSystemByPackOutputMicrosoftFabricTypedDict(TypedDict): +class CreateOutputSystemByPackOutputCloudflareR2TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeMicrosoftFabric - topic: str - r"""Topic name from Fabric Eventstream's endpoint""" - bootstrap_server: str - r"""Bootstrap server from Fabric Eventstream's endpoint""" + type: CreateOutputSystemByPackTypeCloudflareR2 + bucket: str + r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -5192,84 +4981,142 @@ class CreateOutputSystemByPackOutputMicrosoftFabricTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - ack: NotRequired[AcknowledgmentsOptions] - r"""Control the number of required acknowledgments""" - format_: NotRequired[RecordDataFormatOptions] - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - flush_event_count: NotRequired[float] - r"""Maximum number of events in a batch before forcing a flush""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: NotRequired[CreateOutputSystemByPackAuthenticationTypedDict] - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - tls: NotRequired[TLSSettingsClientSideTypeTypedDict] - on_backpressure: NotRequired[BackpressureBehaviorOptions] + aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ + ServerSideEncryptionForUploadedObjectsOptionsAes256 + ] + r"""Server-side encryption to use for uploaded objects""" description: NotRequired[str] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsMicrosoftFabricTypedDict] + r"""Optional description for this configuration.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_bootstrap_server: NotRequired[str] - r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputMicrosoftFabric(BaseModel): +class CreateOutputSystemByPackOutputCloudflareR2(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeMicrosoftFabric + type: CreateOutputSystemByPackTypeCloudflareR2 - topic: str - r"""Topic name from Fabric Eventstream's endpoint""" + bucket: str + r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - bootstrap_server: str - r"""Bootstrap server from Fabric Eventstream's endpoint""" + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + + endpoint: str + r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -5285,159 +5132,303 @@ class CreateOutputSystemByPackOutputMicrosoftFabric(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsAutoSecret], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + r"""Reuse connections between requests, which can improve performance""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = None - r"""Maximum number of events in a batch before forcing a flush""" + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + r"""Disable if you can access files within the bucket but not the bucket itself""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") ] = None - r"""Maximum time to wait for a connection to complete successfully""" + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Maximum time to wait for Kafka to respond to a request""" + r"""Add the Output ID value to staging location""" - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" + + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - sasl: Optional[CreateOutputSystemByPackAuthentication] = None - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - tls: Optional[TLSSettingsClientSideType] = None + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") + ] = None + r"""Buffer size used to write to a file""" on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), + ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + ] = None + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = None + + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + + storage_class: Annotated[ + Optional[StorageClassOptionsReducedredundancyStandard], + pydantic.Field(alias="storageClass"), + ] = None + r"""Storage class to select for uploaded objects""" + + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Compression level to apply before moving files to final destination""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Determines which data types are supported and how they are represented""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + ] = None + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""Codec to use to compress the persisted data""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsMicrosoftFabric], - pydantic.Field(alias="pqControls"), + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") + ] = None + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + ] = None + r"""How frequently, in seconds, to clean up empty directories""" + + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") + ] = None + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") + ] = None + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_bootstrap_server: Annotated[ - Optional[str], pydantic.Field(alias="__template_bootstrap_server") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - @field_serializer("ack") - def serialize_ack(self, value): + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") + ] = None + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.AcknowledgmentsOptions(value) + return models.AuthenticationMethodOptionsAutoSecret(value) except ValueError: return value return value @@ -5446,7 +5437,7 @@ def serialize_ack(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.RecordDataFormatOptions(value) + return models.DataFormatOptions(value) except ValueError: return value return value @@ -5455,34 +5446,70 @@ def serialize_format_(self, value): def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.StorageClassOptionsReducedredundancyStandard(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsHTTP(value) + except ValueError: + return value + return value + + @field_serializer("compression_level") + def serialize_compression_level(self, value): + if isinstance(value, str): + try: + return models.CompressionLevelOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): + if isinstance(value, str): + try: + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -5495,40 +5522,66 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", + "awsAuthenticationMethod", + "reuseConnections", + "rejectUnauthorized", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", "format", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "tls", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "storageClass", + "serverSideEncryption", "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_topic", + "__template_bucket", + "__template_destPath", + "__template_partitionExpr", "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_bootstrap_server", + "__template_awsSecretKey", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -5545,457 +5598,503 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDatabricks(str, Enum): - DATABRICKS = "databricks" +class CreateOutputSystemByPackTypeMicrosoftFabric(str, Enum): + MICROSOFT_FABRIC = "microsoft_fabric" -class CreateOutputSystemByPackOutputDatabricksTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDatabricks - workspace_id: str - r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" - scope: str - r"""OAuth scope for Unity Catalog authentication""" - client_id: str - r"""OAuth client ID for Unity Catalog authentication""" - catalog: str - r"""Name of the Unity Catalog catalog to use for the Destination.""" - schema_: str - r"""Name of the Unity Catalog schema to use for the Destination.""" - events_volume_name: str - r"""Name of the Unity Catalog volume where event data is written.""" - client_text_secret: str - r"""OAuth client secret for Unity Catalog authentication""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - dest_path: NotRequired[str] - r"""Optional path to prepend to files before uploading.""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - workspace_host: NotRequired[str] - r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" - timeout_sec: NotRequired[int] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - - -class CreateOutputSystemByPackOutputDatabricks(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeDatabricks - - workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] - r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" +class CreateOutputSystemByPackAuthenticationTypedDict(TypedDict): + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - scope: str - r"""OAuth scope for Unity Catalog authentication""" + disabled: bool + mechanism: NotRequired[SaslMechanismOptionsSaslOauthbearerPlain] + username: NotRequired[str] + r"""The username for authentication. This should always be $ConnectionString.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" + client_secret_auth_type: NotRequired[AuthenticationMethodOptionsAuth] + client_text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + certificate_name: NotRequired[str] + r"""Select or create a stored certificate""" + cert_path: NotRequired[str] + priv_key_path: NotRequired[str] + passphrase: NotRequired[str] + oauth_endpoint: NotRequired[MicrosoftEntraIDAuthenticationEndpointOptionsSasl] + r"""Endpoint used to acquire authentication tokens from Azure""" + client_id: NotRequired[str] + r"""client_id to pass in the OAuth request parameter""" + tenant_id: NotRequired[str] + r"""Directory ID (tenant identifier) in Azure Active Directory""" + scope: NotRequired[str] + r"""Scope to pass in the OAuth request parameter""" + template_mechanism: NotRequired[str] + r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" + template_oauth_endpoint: NotRequired[str] + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + template_tenant_id: NotRequired[str] + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + template_scope: NotRequired[str] + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - client_id: Annotated[str, pydantic.Field(alias="clientId")] - r"""OAuth client ID for Unity Catalog authentication""" - catalog: str - r"""Name of the Unity Catalog catalog to use for the Destination.""" +class CreateOutputSystemByPackAuthentication(BaseModel): + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - schema_: Annotated[str, pydantic.Field(alias="schema")] - r"""Name of the Unity Catalog schema to use for the Destination.""" + disabled: bool - events_volume_name: Annotated[str, pydantic.Field(alias="eventsVolumeName")] - r"""Name of the Unity Catalog volume where event data is written.""" + mechanism: Optional[SaslMechanismOptionsSaslOauthbearerPlain] = None - client_text_secret: Annotated[str, pydantic.Field(alias="clientTextSecret")] - r"""OAuth client secret for Unity Catalog authentication""" + username: Optional[str] = None + r"""The username for authentication. This should always be $ConnectionString.""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + client_secret_auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuth], + pydantic.Field(alias="clientSecretAuthType"), ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Optional path to prepend to files before uploading.""" - - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + client_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="clientTextSecret") ] = None - r"""Add the Output ID value to staging location""" + r"""Select or create a stored text secret""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + certificate_name: Annotated[ + Optional[str], pydantic.Field(alias="certificateName") ] = None - r"""Remove empty staging directories after moving files""" - - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" - - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + r"""Select or create a stored certificate""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") - ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + passphrase: Optional[str] = None - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + oauth_endpoint: Annotated[ + Optional[MicrosoftEntraIDAuthenticationEndpointOptionsSasl], + pydantic.Field(alias="oauthEndpoint"), ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + r"""Endpoint used to acquire authentication tokens from Azure""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None + r"""client_id to pass in the OAuth request parameter""" - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" + tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None + r"""Directory ID (tenant identifier) in Azure Active Directory""" - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") - ] = None - r"""Buffer size used to write to a file""" + scope: Optional[str] = None + r"""Scope to pass in the OAuth request parameter""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), + template_mechanism: Annotated[ + Optional[str], pydantic.Field(alias="__template_mechanism") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + template_oauth_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_oauthEndpoint") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientId") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + template_tenant_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tenantId") ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + template_scope: Annotated[ + Optional[str], pydantic.Field(alias="__template_scope") ] = None + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - orphans: Optional[OrphanFileRecoveryType] = None - - workspace_host: Annotated[Optional[str], pydantic.Field(alias="workspaceHost")] = ( - None - ) - r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" - - timeout_sec: Annotated[Optional[int], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" + @field_serializer("mechanism") + def serialize_mechanism(self, value): + if isinstance(value, str): + try: + return models.SaslMechanismOptionsSaslOauthbearerPlain(value) + except ValueError: + return value + return value - description: Optional[str] = None + @field_serializer("client_secret_auth_type") + def serialize_client_secret_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuth(value) + except ValueError: + return value + return value - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + @field_serializer("oauth_endpoint") + def serialize_oauth_endpoint(self, value): + if isinstance(value, str): + try: + return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) + except ValueError: + return value + return value - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "mechanism", + "username", + "textSecret", + "clientSecretAuthType", + "clientTextSecret", + "certificateName", + "certPath", + "privKeyPath", + "passphrase", + "oauthEndpoint", + "clientId", + "tenantId", + "scope", + "__template_mechanism", + "__template_oauthEndpoint", + "__template_clientId", + "__template_tenantId", + "__template_scope", + ] + ) + serialized = handler(self) + m = {} - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" + return m - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" +class CreateOutputSystemByPackPqControlsMicrosoftFabricTypedDict(TypedDict): + pass - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") - ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") - ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" +class CreateOutputSystemByPackPqControlsMicrosoftFabric(BaseModel): + pass - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" +class CreateOutputSystemByPackOutputMicrosoftFabricTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeMicrosoftFabric + topic: str + r"""Topic name from Fabric Eventstream's endpoint""" + bootstrap_server: str + r"""Bootstrap server from Fabric Eventstream's endpoint""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + ack: NotRequired[AcknowledgmentsOptions] + r"""Control the number of required acknowledgments""" + format_: NotRequired[RecordDataFormatOptions] + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + max_record_size_kb: NotRequired[float] + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + flush_event_count: NotRequired[float] + r"""Maximum number of events in a batch before forcing a flush""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + connection_timeout: NotRequired[float] + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + sasl: NotRequired[CreateOutputSystemByPackAuthenticationTypedDict] + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + tls: NotRequired[TLSSettingsClientSideTypeTypedDict] + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsMicrosoftFabricTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_bootstrap_server: NotRequired[str] + r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") - ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") - ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" +class CreateOutputSystemByPackOutputMicrosoftFabric(BaseModel): + id: str + r"""Unique ID for this output""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") - ] = None - r"""How frequently, in seconds, to clean up empty directories""" + type: CreateOutputSystemByPackTypeMicrosoftFabric - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") - ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + topic: str + r"""Topic name from Fabric Eventstream's endpoint""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") - ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + bootstrap_server: str + r"""Bootstrap server from Fabric Eventstream's endpoint""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") - ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" + + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Maximum number of events in a batch before forcing a flush""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + r"""Maximum time to wait for a connection to complete successfully""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + r"""Maximum time to wait for Kafka to respond to a request""" - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") + ] = None + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") + ] = None + r"""Maximum time to wait for Kafka to respond to an authentication request""" + + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") + ] = None + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + + sasl: Optional[CreateOutputSystemByPackAuthentication] = None + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + + tls: Optional[TLSSettingsClientSideType] = None + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") + ] = None + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" + + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + ] = None + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackPqControlsMicrosoftFabric], + pydantic.Field(alias="pqControls"), + ] = None + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") + ] = None + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + template_bootstrap_server: Annotated[ + Optional[str], pydantic.Field(alias="__template_bootstrap_server") + ] = None + r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" + + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.AcknowledgmentsOptions(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.RecordDataFormatOptions(value) except ValueError: return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsHTTP(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("compression_level") - def serialize_compression_level(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.CompressionLevelOptions(value) + return models.ModeOptions(value) except ValueError: return value return value - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): if isinstance(value, str): try: - return models.ParquetVersionOptions(value) + return models.CompressionOptionsPq(value) except ValueError: return value return value - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -6008,54 +6107,40 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "destPath", - "stagePath", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", + "ack", "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "workspaceHost", - "timeoutSec", "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_partitionExpr", + "__template_topic", "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", + "__template_bootstrap_server", ] ) serialized = handler(self) @@ -6072,69 +6157,28 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeChronicle(str, Enum): - CHRONICLE = "chronicle" - - -class CreateOutputSystemByPackAuthenticationMethodChronicle( - str, Enum, metaclass=utils.OpenEnumMeta -): - SERVICE_ACCOUNT = "serviceAccount" - SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" - - -class CreateOutputSystemByPackCustomLabelTypedDict(TypedDict): - key: str - value: str - rbac_enabled: NotRequired[bool] - r"""Designate this label for role-based access control and filtering""" - - -class CreateOutputSystemByPackCustomLabel(BaseModel): - key: str - - value: str +class CreateOutputSystemByPackTypeDatabricks(str, Enum): + DATABRICKS = "databricks" - rbac_enabled: Annotated[Optional[bool], pydantic.Field(alias="rbacEnabled")] = None - r"""Designate this label for role-based access control and filtering""" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["rbacEnabled"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackPqControlsChronicleTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsChronicle(BaseModel): - pass - - -class CreateOutputSystemByPackOutputChronicleTypedDict(TypedDict): +class CreateOutputSystemByPackOutputDatabricksTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeChronicle - region: str - r"""Regional endpoint to send events to""" - log_type: str - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" - gcp_project_id: str - r"""The Google Cloud Platform (GCP) project ID to send events to""" - gcp_instance: str - r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" + type: CreateOutputSystemByPackTypeDatabricks + workspace_id: str + r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" + scope: str + r"""OAuth scope for Unity Catalog authentication""" + client_id: str + r"""OAuth client ID for Unity Catalog authentication""" + catalog: str + r"""Name of the Unity Catalog catalog to use for the Destination.""" + schema_: str + r"""Name of the Unity Catalog schema to use for the Destination.""" + events_volume_name: str + r"""Name of the Unity Catalog volume where event data is written.""" + client_text_secret: str + r"""OAuth client secret for Unity Catalog authentication""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -6143,122 +6187,128 @@ class CreateOutputSystemByPackOutputChronicleTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - api_version: NotRequired[str] - authentication_method: NotRequired[ - CreateOutputSystemByPackAuthenticationMethodChronicle - ] - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] + dest_path: NotRequired[str] + r"""Optional path to prepend to files before uploading.""" + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - ingestion_method: NotRequired[str] - namespace: NotRequired[str] - r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" - log_text_field: NotRequired[str] - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - custom_labels: NotRequired[List[CreateOutputSystemByPackCustomLabelTypedDict]] - r"""Custom labels to be added to every event""" - endpoint: NotRequired[str] - r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + workspace_host: NotRequired[str] + r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" + timeout_sec: NotRequired[int] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" description: NotRequired[str] - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - service_account_credentials_secret: NotRequired[str] - r"""Select or create a stored text secret""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsChronicleTypedDict] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_namespace: NotRequired[str] - r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" - template_log_type: NotRequired[str] - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" - template_log_text_field: NotRequired[str] - r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" - template_gcp_project_id: NotRequired[str] - r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" - template_gcp_instance: NotRequired[str] - r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputChronicle(BaseModel): +class CreateOutputSystemByPackOutputDatabricks(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeChronicle + type: CreateOutputSystemByPackTypeDatabricks - region: str - r"""Regional endpoint to send events to""" + workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] + r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" - log_type: Annotated[str, pydantic.Field(alias="logType")] - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + scope: str + r"""OAuth scope for Unity Catalog authentication""" - gcp_project_id: Annotated[str, pydantic.Field(alias="gcpProjectId")] - r"""The Google Cloud Platform (GCP) project ID to send events to""" + client_id: Annotated[str, pydantic.Field(alias="clientId")] + r"""OAuth client ID for Unity Catalog authentication""" - gcp_instance: Annotated[str, pydantic.Field(alias="gcpInstance")] - r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" + catalog: str + r"""Name of the Unity Catalog catalog to use for the Destination.""" + + schema_: Annotated[str, pydantic.Field(alias="schema")] + r"""Name of the Unity Catalog schema to use for the Destination.""" + + events_volume_name: Annotated[str, pydantic.Field(alias="eventsVolumeName")] + r"""Name of the Unity Catalog volume where event data is written.""" + + client_text_secret: Annotated[str, pydantic.Field(alias="clientTextSecret")] + r"""OAuth client secret for Unity Catalog authentication""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -6274,281 +6324,292 @@ class CreateOutputSystemByPackOutputChronicle(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - api_version: Annotated[Optional[str], pydantic.Field(alias="apiVersion")] = None + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Optional path to prepend to files before uploading.""" - authentication_method: Annotated[ - Optional[CreateOutputSystemByPackAuthenticationMethodChronicle], - pydantic.Field(alias="authenticationMethod"), - ] = None + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Add the Output ID value to staging location""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None + r"""Remove empty staging directories after moving files""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""Headers to add to all events""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" + r"""Buffer size used to write to a file""" on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - ingestion_method: Annotated[ - Optional[str], pydantic.Field(alias="ingestionMethod") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - namespace: Optional[str] = None - r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + ] = None + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = None + + workspace_host: Annotated[Optional[str], pydantic.Field(alias="workspaceHost")] = ( None ) - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - - custom_labels: Annotated[ - Optional[List[CreateOutputSystemByPackCustomLabel]], - pydantic.Field(alias="customLabels"), - ] = None - r"""Custom labels to be added to every event""" + r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" - endpoint: Optional[str] = None - r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" + timeout_sec: Annotated[Optional[int], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" description: Optional[str] = None + r"""Optional description for this configuration.""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + r"""Compression level to apply before moving files to final destination""" - service_account_credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Select or create a stored text secret""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Determines which data types are supported and how they are represented""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") + ] = None + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""Codec to use to compress the persisted data""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsChronicle], - pydantic.Field(alias="pqControls"), + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_namespace: Annotated[ - Optional[str], pydantic.Field(alias="__template_namespace") - ] = None - r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" - - template_log_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_logType") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_log_text_field: Annotated[ - Optional[str], pydantic.Field(alias="__template_logTextField") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_gcp_project_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_gcpProjectId") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_gcp_instance: Annotated[ - Optional[str], pydantic.Field(alias="__template_gcpInstance") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.DataFormatOptions(value) + except ValueError: + return value + return value - @field_serializer("authentication_method") - def serialize_authentication_method(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAuthenticationMethodChronicle( - value - ) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.ParquetVersionOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -6561,54 +6622,54 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "useRoundRobinDns", + "destPath", + "stagePath", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", - "totalMemoryLimitKB", - "ingestionMethod", - "namespace", - "logTextField", - "customLabels", - "endpoint", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "workspaceHost", + "timeoutSec", "description", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_region", - "__template_failedRequestLoggingMode", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_namespace", - "__template_logType", - "__template_logTextField", - "__template_gcpProjectId", - "__template_gcpInstance", - "__template_endpoint", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -6625,47 +6686,69 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSentinelOneAiSiem(str, Enum): - SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem" +class CreateOutputSystemByPackTypeChronicle(str, Enum): + CHRONICLE = "chronicle" -class CreateOutputSystemByPackRegion(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" +class CreateOutputSystemByPackAuthenticationMethodChronicle( + str, Enum, metaclass=utils.OpenEnumMeta +): + SERVICE_ACCOUNT = "serviceAccount" + SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" - US = "US" - CA = "CA" - EMEA = "EMEA" - AP = "AP" - APS = "APS" - AU = "AU" - CUSTOM = "Custom" +class CreateOutputSystemByPackCustomLabelTypedDict(TypedDict): + key: str + value: str + rbac_enabled: NotRequired[bool] + r"""Designate this label for role-based access control and filtering""" -class CreateOutputSystemByPackAISIEMEndpointPath( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" - ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event" - ROOT_SERVICES_COLLECTOR_RAW = "/services/collector/raw" +class CreateOutputSystemByPackCustomLabel(BaseModel): + key: str + value: str -class CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict(TypedDict): + rbac_enabled: Annotated[Optional[bool], pydantic.Field(alias="rbacEnabled")] = None + r"""Designate this label for role-based access control and filtering""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["rbacEnabled"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackPqControlsChronicleTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSentinelOneAiSiem(BaseModel): +class CreateOutputSystemByPackPqControlsChronicle(BaseModel): pass -class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(TypedDict): +class CreateOutputSystemByPackOutputChronicleTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSentinelOneAiSiem - region: CreateOutputSystemByPackRegion - r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" - endpoint: CreateOutputSystemByPackAISIEMEndpointPath - r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" + type: CreateOutputSystemByPackTypeChronicle + region: str + r"""Regional endpoint to send events to""" + log_type: str + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + gcp_project_id: str + r"""The Google Cloud Platform (GCP) project ID to send events to""" + gcp_instance: str + r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -6674,6 +6757,17 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + api_version: NotRequired[str] + authentication_method: NotRequired[ + CreateOutputSystemByPackAuthenticationMethodChronicle + ] + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -6697,52 +6791,27 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + ingestion_method: NotRequired[str] + namespace: NotRequired[str] + r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + log_text_field: NotRequired[str] + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + custom_labels: NotRequired[List[CreateOutputSystemByPackCustomLabelTypedDict]] + r"""Custom labels to be added to every event""" + endpoint: NotRequired[str] + r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" description: NotRequired[str] - token: NotRequired[str] - r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" - text_secret: NotRequired[str] + r"""Optional description for this configuration.""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + service_account_credentials_secret: NotRequired[str] r"""Select or create a stored text secret""" - base_url: NotRequired[str] - r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" - host_expression: NotRequired[str] - r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - source_expression: NotRequired[str] - r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" - source_type_expression: NotRequired[str] - r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" - data_source_category_expression: NotRequired[str] - r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" - data_source_name_expression: NotRequired[str] - r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" - data_source_vendor_expression: NotRequired[str] - r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" - event_type_expression: NotRequired[str] - r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" - host: NotRequired[str] - r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" - source: NotRequired[str] - r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" - source_type: NotRequired[str] - r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" - data_source_category: NotRequired[str] - r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" - data_source_name: NotRequired[str] - r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" - data_source_vendor: NotRequired[str] - r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" - event_type: NotRequired[str] - r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -6765,28 +6834,46 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict - ] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsChronicleTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_namespace: NotRequired[str] + r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" + template_log_type: NotRequired[str] + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + template_log_text_field: NotRequired[str] + r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" + template_gcp_project_id: NotRequired[str] + r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" + template_gcp_instance: NotRequired[str] + r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" -class CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): +class CreateOutputSystemByPackOutputChronicle(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSentinelOneAiSiem + type: CreateOutputSystemByPackTypeChronicle - region: CreateOutputSystemByPackRegion - r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" + region: str + r"""Regional endpoint to send events to""" - endpoint: CreateOutputSystemByPackAISIEMEndpointPath - r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" + log_type: Annotated[str, pydantic.Field(alias="logType")] + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + + gcp_project_id: Annotated[str, pydantic.Field(alias="gcpProjectId")] + r"""The Google Cloud Platform (GCP) project ID to send events to""" + + gcp_instance: Annotated[str, pydantic.Field(alias="gcpInstance")] + r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -6802,6 +6889,28 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + api_version: Annotated[Optional[str], pydantic.Field(alias="apiVersion")] = None + + authentication_method: Annotated[ + Optional[CreateOutputSystemByPackAuthenticationMethodChronicle], + pydantic.Field(alias="authenticationMethod"), + ] = None + + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -6851,104 +6960,54 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - token: Optional[str] = None - r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - base_url: Annotated[Optional[str], pydantic.Field(alias="baseUrl")] = None - r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" - - host_expression: Annotated[ - Optional[str], pydantic.Field(alias="hostExpression") - ] = None - r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - - source_expression: Annotated[ - Optional[str], pydantic.Field(alias="sourceExpression") - ] = None - r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" - - source_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="sourceTypeExpression") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - data_source_category_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceCategoryExpression") + ingestion_method: Annotated[ + Optional[str], pydantic.Field(alias="ingestionMethod") ] = None - r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" - data_source_name_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceNameExpression") - ] = None - r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" + namespace: Optional[str] = None + r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" - data_source_vendor_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceVendorExpression") - ] = None - r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" + log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( + None + ) + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - event_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="eventTypeExpression") + custom_labels: Annotated[ + Optional[List[CreateOutputSystemByPackCustomLabel]], + pydantic.Field(alias="customLabels"), ] = None - r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" - - host: Optional[str] = None - r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" - - source: Optional[str] = None - r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" + r"""Custom labels to be added to every event""" - source_type: Annotated[Optional[str], pydantic.Field(alias="sourceType")] = None - r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" + endpoint: Optional[str] = None + r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" - data_source_category: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceCategory") - ] = None - r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - data_source_name: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceName") + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") ] = None - r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - data_source_vendor: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceVendor") + service_account_credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") ] = None - r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" - - event_type: Annotated[Optional[str], pydantic.Field(alias="eventType")] = None - r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -7000,7 +7059,7 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSentinelOneAiSiem], + Optional[CreateOutputSystemByPackPqControlsChronicle], pydantic.Field(alias="pqControls"), ] = None @@ -7009,6 +7068,11 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -7019,38 +7083,52 @@ class CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("region") - def serialize_region(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackRegion(value) - except ValueError: - return value - return value - - @field_serializer("endpoint") - def serialize_endpoint(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackAISIEMEndpointPath(value) - except ValueError: - return value - return value + template_namespace: Annotated[ + Optional[str], pydantic.Field(alias="__template_namespace") + ] = None + r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): - if isinstance(value, str): - try: - return models.FailedRequestLoggingModeOptions(value) - except ValueError: - return value - return value + template_log_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logType") + ] = None + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): + template_log_text_field: Annotated[ + Optional[str], pydantic.Field(alias="__template_logTextField") + ] = None + r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" + + template_gcp_project_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_gcpProjectId") + ] = None + r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" + + template_gcp_instance: Annotated[ + Optional[str], pydantic.Field(alias="__template_gcpInstance") + ] = None + r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" + + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + @field_serializer("authentication_method") + def serialize_authentication_method(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.CreateOutputSystemByPackAuthenticationMethodChronicle( + value + ) + except ValueError: + return value + return value + + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value @@ -7099,6 +7177,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -7109,29 +7192,17 @@ def serialize_model(self, handler): "extraHttpHeaders", "failedRequestLoggingMode", "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "useRoundRobinDns", "onBackpressure", + "totalMemoryLimitKB", + "ingestionMethod", + "namespace", + "logTextField", + "customLabels", + "endpoint", "description", - "token", - "textSecret", - "baseUrl", - "hostExpression", - "sourceExpression", - "sourceTypeExpression", - "dataSourceCategoryExpression", - "dataSourceNameExpression", - "dataSourceVendorExpression", - "eventTypeExpression", - "host", - "source", - "sourceType", - "dataSourceCategory", - "dataSourceName", - "dataSourceVendor", - "eventType", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -7145,8 +7216,15 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_region", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_namespace", + "__template_logType", + "__template_logTextField", + "__template_gcpProjectId", + "__template_gcpInstance", + "__template_endpoint", ] ) serialized = handler(self) @@ -7163,50 +7241,47 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDynatraceOtlp(str, Enum): - DYNATRACE_OTLP = "dynatrace_otlp" +class CreateOutputSystemByPackTypeSentinelOneAiSiem(str, Enum): + SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem" -class CreateOutputSystemByPackProtocolDynatraceOtlp( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Select a transport option for Dynatrace""" +class CreateOutputSystemByPackRegion(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" - # HTTP - HTTP = "http" + US = "US" + CA = "CA" + EMEA = "EMEA" + AP = "AP" + APS = "APS" + AU = "AU" + CUSTOM = "Custom" -class CreateOutputSystemByPackEndpointType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Select the type of Dynatrace endpoint configured""" +class CreateOutputSystemByPackAISIEMEndpointPath( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" - # SaaS - SAAS = "saas" - # ActiveGate - AG = "ag" + ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event" + ROOT_SERVICES_COLLECTOR_RAW = "/services/collector/raw" -class CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsDynatraceOtlp(BaseModel): +class CreateOutputSystemByPackPqControlsSentinelOneAiSiem(BaseModel): pass -class CreateOutputSystemByPackOutputDynatraceOtlpTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSentinelOneAiSiemTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDynatraceOtlp - protocol: CreateOutputSystemByPackProtocolDynatraceOtlp - r"""Select a transport option for Dynatrace""" - endpoint: str - r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - otlp_version: OtlpVersionOptions131 - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - endpoint_type: CreateOutputSystemByPackEndpointType - r"""Select the type of Dynatrace endpoint configured""" - token_secret: str - r"""Select or create a stored text secret""" + type: CreateOutputSystemByPackTypeSentinelOneAiSiem + region: CreateOutputSystemByPackRegion + r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" + endpoint: CreateOutputSystemByPackAISIEMEndpointPath + r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -7215,53 +7290,31 @@ class CreateOutputSystemByPackOutputDynatraceOtlpTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - compress: NotRequired[CompressionOptionsDeflateGzip] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_compress: NotRequired[CompressionOptionsMessages] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_traces_endpoint_override: NotRequired[str] - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_metrics_endpoint_override: NotRequired[str] - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_logs_endpoint_override: NotRequired[str] - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - dynamic_headers_enabled: NotRequired[bool] - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: NotRequired[str] - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - keep_alive_time: NotRequired[float] - r"""How often the sender should ping the peer to keep the connection open""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" - auth_token_name: NotRequired[str] - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -7269,6 +7322,44 @@ class CreateOutputSystemByPackOutputDynatraceOtlpTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + token: NotRequired[str] + r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + base_url: NotRequired[str] + r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" + host_expression: NotRequired[str] + r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" + source_expression: NotRequired[str] + r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" + source_type_expression: NotRequired[str] + r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" + data_source_category_expression: NotRequired[str] + r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" + data_source_name_expression: NotRequired[str] + r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" + data_source_vendor_expression: NotRequired[str] + r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" + event_type_expression: NotRequired[str] + r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" + host: NotRequired[str] + r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" + source: NotRequired[str] + r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" + source_type: NotRequired[str] + r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" + data_source_category: NotRequired[str] + r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" + data_source_name: NotRequired[str] + r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" + data_source_vendor: NotRequired[str] + r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" + event_type: NotRequired[str] + r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -7291,7 +7382,9 @@ class CreateOutputSystemByPackOutputDynatraceOtlpTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict] + pq_controls: NotRequired[ + CreateOutputSystemByPackPqControlsSentinelOneAiSiemTypedDict + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -7300,28 +7393,17 @@ class CreateOutputSystemByPackOutputDynatraceOtlpTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): +class CreateOutputSystemByPackOutputSentinelOneAiSiem(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDynatraceOtlp - - protocol: CreateOutputSystemByPackProtocolDynatraceOtlp - r"""Select a transport option for Dynatrace""" - - endpoint: str - r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - - otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + type: CreateOutputSystemByPackTypeSentinelOneAiSiem - endpoint_type: Annotated[ - CreateOutputSystemByPackEndpointType, pydantic.Field(alias="endpointType") - ] - r"""Select the type of Dynatrace endpoint configured""" + region: CreateOutputSystemByPackRegion + r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" - token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] - r"""Select or create a stored text secret""" + endpoint: CreateOutputSystemByPackAISIEMEndpointPath + r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -7337,49 +7419,29 @@ class CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - compress: Optional[CompressionOptionsDeflateGzip] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - http_compress: Annotated[ - Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + r"""Maximum size, in KB, of the request body""" - http_traces_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - - http_metrics_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") - ] = None - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - - http_logs_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") - ] = None - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - - metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") - ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" - - dynamic_headers_field: Annotated[ - Optional[str], pydantic.Field(alias="dynamicHeadersField") - ] = None - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" @@ -7389,28 +7451,43 @@ class CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): ] = None r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), ] = None r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""List of headers that are safe to log in plain text""" - keep_alive_time: Annotated[ - Optional[float], pydantic.Field(alias="keepAliveTime") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), ] = None - r"""How often the sender should ping the peer to keep the connection open""" + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( - None - ) + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -7418,45 +7495,78 @@ class CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + token: Optional[str] = None + r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + base_url: Annotated[Optional[str], pydantic.Field(alias="baseUrl")] = None + r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" + + host_expression: Annotated[ + Optional[str], pydantic.Field(alias="hostExpression") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + source_expression: Annotated[ + Optional[str], pydantic.Field(alias="sourceExpression") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + source_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="sourceTypeExpression") ] = None - r"""Headers to add to all events""" + r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + data_source_category_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceCategoryExpression") ] = None - r"""List of headers that are safe to log in plain text""" + r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + data_source_name_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceNameExpression") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + data_source_vendor_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceVendorExpression") ] = None + r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + event_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="eventTypeExpression") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" + + host: Optional[str] = None + r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" + + source: Optional[str] = None + r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" + + source_type: Annotated[Optional[str], pydantic.Field(alias="sourceType")] = None + r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" + + data_source_category: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceCategory") + ] = None + r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" + + data_source_name: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceName") + ] = None + r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" + + data_source_vendor: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceVendor") + ] = None + r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" + + event_type: Annotated[Optional[str], pydantic.Field(alias="eventType")] = None + r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -7508,7 +7618,7 @@ class CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsDynatraceOtlp], + Optional[CreateOutputSystemByPackPqControlsSentinelOneAiSiem], pydantic.Field(alias="pqControls"), ] = None @@ -7527,38 +7637,20 @@ class CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackProtocolDynatraceOtlp(value) - except ValueError: - return value - return value - - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): - if isinstance(value, str): - try: - return models.OtlpVersionOptions131(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("region") + def serialize_region(self, value): if isinstance(value, str): try: - return models.CompressionOptionsDeflateGzip(value) + return models.CreateOutputSystemByPackRegion(value) except ValueError: return value return value - @field_serializer("http_compress") - def serialize_http_compress(self, value): + @field_serializer("endpoint") + def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.CompressionOptionsMessages(value) + return models.CreateOutputSystemByPackAISIEMEndpointPath(value) except ValueError: return value return value @@ -7572,11 +7664,11 @@ def serialize_failed_request_logging_mode(self, value): return value return value - @field_serializer("endpoint_type") - def serialize_endpoint_type(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackEndpointType(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value @@ -7625,32 +7717,39 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "compress", - "httpCompress", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", - "authTokenName", - "onBackpressure", - "description", - "rejectUnauthorized", - "useRoundRobinDns", "extraHttpHeaders", + "failedRequestLoggingMode", "safeHeaders", + "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "baseUrl", + "hostExpression", + "sourceExpression", + "sourceTypeExpression", + "dataSourceCategoryExpression", + "dataSourceNameExpression", + "dataSourceVendorExpression", + "eventTypeExpression", + "host", + "source", + "sourceType", + "dataSourceCategory", + "dataSourceName", + "dataSourceVendor", + "eventType", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -7682,64 +7781,50 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDynatraceHTTP(str, Enum): - DYNATRACE_HTTP = "dynatrace_http" +class CreateOutputSystemByPackTypeDynatraceOtlp(str, Enum): + DYNATRACE_OTLP = "dynatrace_otlp" -class CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP( +class CreateOutputSystemByPackProtocolDynatraceOtlp( str, Enum, metaclass=utils.OpenEnumMeta ): - # Auth token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" + r"""Select a transport option for Dynatrace""" + # HTTP + HTTP = "http" -class CreateOutputSystemByPackFormatDynatraceHTTP( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" - - # JSON - JSON_ARRAY = "json_array" - # Plaintext - PLAINTEXT = "plaintext" +class CreateOutputSystemByPackEndpointType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Select the type of Dynatrace endpoint configured""" -class CreateOutputSystemByPackEndpointDynatraceHTTP( - str, Enum, metaclass=utils.OpenEnumMeta -): - # Cloud - CLOUD = "cloud" + # SaaS + SAAS = "saas" # ActiveGate - ACTIVE_GATE = "activeGate" - # Manual - MANUAL = "manual" - - -class CreateOutputSystemByPackTelemetryType(str, Enum, metaclass=utils.OpenEnumMeta): - # Logs - LOGS = "logs" - # Metrics - METRICS = "metrics" + AG = "ag" -class CreateOutputSystemByPackPqControlsDynatraceHTTPTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsDynatraceHTTP(BaseModel): +class CreateOutputSystemByPackPqControlsDynatraceOtlp(BaseModel): pass -class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(TypedDict): +class CreateOutputSystemByPackOutputDynatraceOtlpTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDynatraceHTTP - format_: CreateOutputSystemByPackFormatDynatraceHTTP - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" - endpoint: CreateOutputSystemByPackEndpointDynatraceHTTP - telemetry_type: CreateOutputSystemByPackTelemetryType + type: CreateOutputSystemByPackTypeDynatraceOtlp + protocol: CreateOutputSystemByPackProtocolDynatraceOtlp + r"""Select a transport option for Dynatrace""" + endpoint: str + r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" + otlp_version: OtlpVersionOptions131 + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + endpoint_type: CreateOutputSystemByPackEndpointType + r"""Select the type of Dynatrace endpoint configured""" + token_secret: str + r"""Select or create a stored text secret""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -7748,33 +7833,52 @@ class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - method: NotRequired[MethodOptions] - r"""The method to use when sending events""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" + compress: NotRequired[CompressionOptionsDeflateGzip] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + http_compress: NotRequired[CompressionOptionsMessages] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + http_traces_endpoint_override: NotRequired[str] + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_metrics_endpoint_override: NotRequired[str] + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_logs_endpoint_override: NotRequired[str] + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + dynamic_headers_enabled: NotRequired[bool] + r"""Batch event data upon dynamic metadata (whether presented or not)""" + dynamic_headers_field: NotRequired[str] + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" + r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + keep_alive_time: NotRequired[float] + r"""How often the sender should ping the peer to keep the connection open""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + auth_token_name: NotRequired[str] + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" use_round_robin_dns: NotRequired[bool] r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" response_retry_settings: NotRequired[ @@ -7784,12 +7888,6 @@ class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP] - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -7812,43 +7910,37 @@ class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsDynatraceHTTPTypedDict] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - environment_id: NotRequired[str] - r"""ID of the environment to send to""" - active_gate_domain: NotRequired[str] - r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" - url: NotRequired[str] - r"""URL to send events to. Can be overwritten by an event's __url field.""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsDynatraceOtlpTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): +class CreateOutputSystemByPackOutputDynatraceOtlp(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDynatraceHTTP + type: CreateOutputSystemByPackTypeDynatraceOtlp - format_: Annotated[ - CreateOutputSystemByPackFormatDynatraceHTTP, pydantic.Field(alias="format") - ] - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + protocol: CreateOutputSystemByPackProtocolDynatraceOtlp + r"""Select a transport option for Dynatrace""" - endpoint: CreateOutputSystemByPackEndpointDynatraceHTTP + endpoint: str + r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - telemetry_type: Annotated[ - CreateOutputSystemByPackTelemetryType, pydantic.Field(alias="telemetryType") + otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + endpoint_type: Annotated[ + CreateOutputSystemByPackEndpointType, pydantic.Field(alias="endpointType") ] + r"""Select the type of Dynatrace endpoint configured""" + + token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] + r"""Select or create a stored text secret""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -7864,35 +7956,49 @@ class CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - method: Optional[MethodOptions] = None - r"""The method to use when sending events""" + compress: Optional[CompressionOptionsDeflateGzip] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + http_compress: Annotated[ + Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + ] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + http_traces_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + ] = None + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + http_metrics_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") ] = None - r"""Maximum size, in KB, of the request body""" + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + http_logs_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + dynamic_headers_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Batch event data upon dynamic metadata (whether presented or not)""" + + dynamic_headers_field: Annotated[ + Optional[str], pydantic.Field(alias="dynamicHeadersField") + ] = None + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" @@ -7902,22 +8008,55 @@ class CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): ] = None r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = None + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + + keep_alive_time: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTime") + ] = None + r"""How often the sender should ping the peer to keep the connection open""" + + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" + + auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( + None + ) + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ use_round_robin_dns: Annotated[ Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Headers to add to all events""" safe_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="safeHeaders") @@ -7939,32 +8078,15 @@ class CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - auth_type: Annotated[ - Optional[CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP], - pydantic.Field(alias="authType"), + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - - description: Optional[str] = None - - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") - ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") - ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" @@ -8006,29 +8128,10 @@ class CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsDynatraceHTTP], + Optional[CreateOutputSystemByPackPqControlsDynatraceOtlp], pydantic.Field(alias="pqControls"), ] = None - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - environment_id: Annotated[Optional[str], pydantic.Field(alias="environmentId")] = ( - None - ) - r"""ID of the environment to send to""" - - active_gate_domain: Annotated[ - Optional[str], pydantic.Field(alias="activeGateDomain") - ] = None - r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" - - url: Optional[str] = None - r"""URL to send events to. Can be overwritten by an event's __url field.""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None @@ -8044,72 +8147,65 @@ class CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - @field_serializer("method") - def serialize_method(self, value): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.MethodOptions(value) + return models.CreateOutputSystemByPackProtocolDynatraceOtlp(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.OtlpVersionOptions131(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptionsDeflateGzip(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("http_compress") + def serialize_http_compress(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP( - value - ) + return models.CompressionOptionsMessages(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackFormatDynatraceHTTP(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("endpoint") - def serialize_endpoint(self, value): + @field_serializer("endpoint_type") + def serialize_endpoint_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackEndpointDynatraceHTTP(value) + return models.CreateOutputSystemByPackEndpointType(value) except ValueError: return value return value - @field_serializer("telemetry_type") - def serialize_telemetry_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackTelemetryType(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -8149,26 +8245,32 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "method", - "keepAlive", + "compress", + "httpCompress", + "httpTracesEndpointOverride", + "httpMetricsEndpointOverride", + "httpLogsEndpointOverride", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", + "authTokenName", + "onBackpressure", + "description", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", "safeHeaders", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "totalMemoryLimitKB", - "description", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -8181,15 +8283,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "token", - "textSecret", - "environmentId", - "activeGateDomain", - "url", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", ] ) serialized = handler(self) @@ -8206,61 +8302,64 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeNetflow(str, Enum): - NETFLOW = "netflow" +class CreateOutputSystemByPackTypeDynatraceHTTP(str, Enum): + DYNATRACE_HTTP = "dynatrace_http" -class CreateOutputSystemByPackHostNetflowTypedDict(TypedDict): - host: str - r"""Destination host""" - port: float - r"""Destination port, default is 2055""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" +class CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP( + str, Enum, metaclass=utils.OpenEnumMeta +): + # Auth token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" -class CreateOutputSystemByPackHostNetflow(BaseModel): - host: str - r"""Destination host""" +class CreateOutputSystemByPackFormatDynatraceHTTP( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" - port: float - r"""Destination port, default is 2055""" + # JSON + JSON_ARRAY = "json_array" + # Plaintext + PLAINTEXT = "plaintext" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" +class CreateOutputSystemByPackEndpointDynatraceHTTP( + str, Enum, metaclass=utils.OpenEnumMeta +): + # Cloud + CLOUD = "cloud" + # ActiveGate + ACTIVE_GATE = "activeGate" + # Manual + MANUAL = "manual" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["__template_host", "__template_port"]) - serialized = handler(self) - m = {} - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) +class CreateOutputSystemByPackTelemetryType(str, Enum, metaclass=utils.OpenEnumMeta): + # Logs + LOGS = "logs" + # Metrics + METRICS = "metrics" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - return m +class CreateOutputSystemByPackPqControlsDynatraceHTTPTypedDict(TypedDict): + pass -class CreateOutputSystemByPackOutputNetflowTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsDynatraceHTTP(BaseModel): + pass + + +class CreateOutputSystemByPackOutputDynatraceHTTPTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeNetflow - hosts: List[CreateOutputSystemByPackHostNetflowTypedDict] - r"""One or more NetFlow Destinations to forward events to""" + type: CreateOutputSystemByPackTypeDynatraceHTTP + format_: CreateOutputSystemByPackFormatDynatraceHTTP + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + endpoint: CreateOutputSystemByPackEndpointDynatraceHTTP + telemetry_type: CreateOutputSystemByPackTelemetryType pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -8269,206 +8368,49 @@ class CreateOutputSystemByPackOutputNetflowTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" - enable_ip_spoofing: NotRequired[bool] - r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + method: NotRequired[MethodOptions] + r"""The method to use when sending events""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP] + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - max_record_size: NotRequired[float] - r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - -class CreateOutputSystemByPackOutputNetflow(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeNetflow - - hosts: List[CreateOutputSystemByPackHostNetflow] - r"""One or more NetFlow Destinations to forward events to""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" - - enable_ip_spoofing: Annotated[ - Optional[bool], pydantic.Field(alias="enableIpSpoofing") - ] = None - r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - - description: Optional[str] = None - - max_record_size: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSize") - ] = None - r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "enableIpSpoofing", - "description", - "maxRecordSize", - "__template_streamtags", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackTypeXsiam(str, Enum): - XSIAM = "xsiam" - - -class CreateOutputSystemByPackAuthenticationMethodXsiam( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Enter a token directly, or provide a secret referencing a token""" - - TOKEN = "token" - SECRET = "secret" - - -class CreateOutputSystemByPackURLXsiamTypedDict(TypedDict): - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - -class CreateOutputSystemByPackURLXsiam(BaseModel): - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["weight"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackPqControlsXsiamTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsXsiam(BaseModel): - pass - - -class CreateOutputSystemByPackOutputXsiamTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeXsiam - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[CreateOutputSystemByPackAuthenticationMethodXsiam] - r"""Enter a token directly, or provide a secret referencing a token""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - throttle_rate_req_per_sec: NotRequired[int] - r"""Maximum number of requests to limit to per second""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] - url: NotRequired[str] - r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[CreateOutputSystemByPackURLXsiamTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - token: NotRequired[str] - r"""XSIAM authentication token""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -8491,7 +8433,17 @@ class CreateOutputSystemByPackOutputXsiamTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsXsiamTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsDynatraceHTTPTypedDict] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + environment_id: NotRequired[str] + r"""ID of the environment to send to""" + active_gate_domain: NotRequired[str] + r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" + url: NotRequired[str] + r"""URL to send events to. Can be overwritten by an event's __url field.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -8502,11 +8454,22 @@ class CreateOutputSystemByPackOutputXsiamTypedDict(TypedDict): r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputXsiam(BaseModel): +class CreateOutputSystemByPackOutputDynatraceHTTP(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeXsiam + type: CreateOutputSystemByPackTypeDynatraceHTTP + + format_: Annotated[ + CreateOutputSystemByPackFormatDynatraceHTTP, pydantic.Field(alias="format") + ] + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + + endpoint: CreateOutputSystemByPackEndpointDynatraceHTTP + + telemetry_type: Annotated[ + CreateOutputSystemByPackTelemetryType, pydantic.Field(alias="telemetryType") + ] pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -8522,10 +8485,11 @@ class CreateOutputSystemByPackOutputXsiam(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + method: Optional[MethodOptions] = None + r"""The method to use when sending events""" + + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -8563,7 +8527,12 @@ class CreateOutputSystemByPackOutputXsiam(BaseModel): Optional[List[ExtraHTTPHeaderConfInputElastic]], pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Headers to add to all events""" + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], @@ -8576,12 +8545,6 @@ class CreateOutputSystemByPackOutputXsiam(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - auth_type: Annotated[ - Optional[CreateOutputSystemByPackAuthenticationMethodXsiam], - pydantic.Field(alias="authType"), - ] = None - r"""Enter a token directly, or provide a secret referencing a token""" - response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -8597,56 +8560,28 @@ class CreateOutputSystemByPackOutputXsiam(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - throttle_rate_req_per_sec: Annotated[ - Optional[int], pydantic.Field(alias="throttleRateReqPerSec") - ] = None - r"""Maximum number of requests to limit to per second""" - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" + auth_type: Annotated[ + Optional[CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP], + pydantic.Field(alias="authType"), + ] = None + total_memory_limit_kb: Annotated[ Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" - url: Optional[str] = None - r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - urls: Optional[List[CreateOutputSystemByPackURLXsiam]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" - - token: Optional[str] = None - r"""XSIAM authentication token""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") - ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: Annotated[ Optional[float], pydantic.Field(alias="pqRatePerSec") @@ -8693,10 +8628,29 @@ class CreateOutputSystemByPackOutputXsiam(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsXsiam], + Optional[CreateOutputSystemByPackPqControlsDynatraceHTTP], pydantic.Field(alias="pqControls"), ] = None + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + environment_id: Annotated[Optional[str], pydantic.Field(alias="environmentId")] = ( + None + ) + r"""ID of the environment to send to""" + + active_gate_domain: Annotated[ + Optional[str], pydantic.Field(alias="activeGateDomain") + ] = None + r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" + + url: Optional[str] = None + r"""URL to send events to. Can be overwritten by an event's __url field.""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None @@ -8717,6 +8671,15 @@ class CreateOutputSystemByPackOutputXsiam(BaseModel): ) r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + @field_serializer("method") + def serialize_method(self, value): + if isinstance(value, str): + try: + return models.MethodOptions(value) + except ValueError: + return value + return value + @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -8726,20 +8689,49 @@ def serialize_failed_request_logging_mode(self, value): return value return value + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + @field_serializer("auth_type") def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAuthenticationMethodXsiam(value) + return models.CreateOutputSystemByPackAuthenticationTypeDynatraceHTTP( + value + ) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CreateOutputSystemByPackFormatDynatraceHTTP(value) + except ValueError: + return value + return value + + @field_serializer("endpoint") + def serialize_endpoint(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackEndpointDynatraceHTTP(value) + except ValueError: + return value + return value + + @field_serializer("telemetry_type") + def serialize_telemetry_type(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackTelemetryType(value) except ValueError: return value return value @@ -8779,7 +8771,8 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", + "method", + "keepAlive", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -8788,24 +8781,16 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "throttleRateReqPerSec", "onBackpressure", + "authType", "totalMemoryLimitKB", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -8818,6 +8803,11 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "token", + "textSecret", + "environmentId", + "activeGateDomain", + "url", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", @@ -8838,116 +8828,41 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeLocalSearchStorage(str, Enum): - LOCAL_SEARCH_STORAGE = "local_search_storage" - - -class CreateOutputSystemByPackFormatLocalSearchStorage( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Data format to use when sending data. Defaults to JSON Compact.""" - - # JSONCompactEachRowWithNames - JSON_COMPACT_EACH_ROW_WITH_NAMES = "json-compact-each-row-with-names" - # JSONEachRow - JSON_EACH_ROW = "json-each-row" - - -class CreateOutputSystemByPackMappingType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How event fields are mapped to columns.""" - - # Automatic - AUTOMATIC = "automatic" - # Custom - CUSTOM = "custom" - - -class CreateOutputSystemByPackStatsDestinationTypedDict(TypedDict): - url: NotRequired[str] - database: NotRequired[str] - table_name: NotRequired[str] - auth_type: NotRequired[str] - username: NotRequired[str] - sql_username: NotRequired[str] - password: NotRequired[str] - wait_for_async_inserts: NotRequired[bool] - concurrency: NotRequired[float] - - -class CreateOutputSystemByPackStatsDestination(BaseModel): - url: Optional[str] = None - - database: Optional[str] = None - - table_name: Annotated[Optional[str], pydantic.Field(alias="tableName")] = None - - auth_type: Annotated[Optional[str], pydantic.Field(alias="authType")] = None - - username: Optional[str] = None - - sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None - - password: Optional[str] = None - - wait_for_async_inserts: Annotated[ - Optional[bool], pydantic.Field(alias="waitForAsyncInserts") - ] = None - - concurrency: Optional[float] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "url", - "database", - "tableName", - "authType", - "username", - "sqlUsername", - "password", - "waitForAsyncInserts", - "concurrency", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val +class CreateOutputSystemByPackTypeNetflow(str, Enum): + NETFLOW = "netflow" - return m +class CreateOutputSystemByPackHostNetflowTypedDict(TypedDict): + host: str + r"""Destination host""" + port: float + r"""Destination port, default is 2055""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" -class CreateOutputSystemByPackColumnMappingTypedDict(TypedDict): - column_name: str - r"""Name of the column that will store field value""" - column_value_expression: str - r"""JavaScript expression to compute value to be inserted into the table""" - column_type: NotRequired[str] - r"""Type of the column in the database""" +class CreateOutputSystemByPackHostNetflow(BaseModel): + host: str + r"""Destination host""" -class CreateOutputSystemByPackColumnMapping(BaseModel): - column_name: Annotated[str, pydantic.Field(alias="columnName")] - r"""Name of the column that will store field value""" + port: float + r"""Destination port, default is 2055""" - column_value_expression: Annotated[ - str, pydantic.Field(alias="columnValueExpression") - ] - r"""JavaScript expression to compute value to be inserted into the table""" + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None - r"""Type of the column in the database""" + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["columnType"]) + optional_fields = set(["__template_host", "__template_port"]) serialized = handler(self) m = {} @@ -8962,23 +8877,12 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackPqControlsLocalSearchStorageTypedDict(TypedDict): - pass - - -class CreateOutputSystemByPackPqControlsLocalSearchStorage(BaseModel): - pass - - -class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(TypedDict): +class CreateOutputSystemByPackOutputNetflowTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeLocalSearchStorage - url: str - r"""URL of the database instance. Example: http://localhost:8123/""" - database: str - table_name: str - r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" + type: CreateOutputSystemByPackTypeNetflow + hosts: List[CreateOutputSystemByPackHostNetflowTypedDict] + r"""One or more NetFlow Destinations to forward events to""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -8987,14 +8891,154 @@ class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[CreateOutputSystemByPackFormatLocalSearchStorage] - r"""Data format to use when sending data. Defaults to JSON Compact.""" - mapping_type: NotRequired[CreateOutputSystemByPackMappingType] - r"""How event fields are mapped to columns.""" - async_inserts: NotRequired[bool] - r"""Collect data into batches for later processing. Disable to write to a table immediately.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" + enable_ip_spoofing: NotRequired[bool] + r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + max_record_size: NotRequired[float] + r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + +class CreateOutputSystemByPackOutputNetflow(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeNetflow + + hosts: List[CreateOutputSystemByPackHostNetflow] + r"""One or more NetFlow Destinations to forward events to""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" + + enable_ip_spoofing: Annotated[ + Optional[bool], pydantic.Field(alias="enableIpSpoofing") + ] = None + r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + max_record_size: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSize") + ] = None + r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "dnsResolvePeriodSec", + "enableIpSpoofing", + "description", + "maxRecordSize", + "__template_streamtags", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackTypeXsiam(str, Enum): + XSIAM = "xsiam" + + +class CreateOutputSystemByPackAuthenticationMethodXsiam( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Enter a token directly, or provide a secret referencing a token""" + + TOKEN = "token" + SECRET = "secret" + + +class CreateOutputSystemByPackURLXsiamTypedDict(TypedDict): + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + +class CreateOutputSystemByPackURLXsiam(BaseModel): + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["weight"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackPqControlsXsiamTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsXsiam(BaseModel): + pass + + +class CreateOutputSystemByPackOutputXsiamTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeXsiam + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -9014,12 +9058,12 @@ class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" + auth_type: NotRequired[CreateOutputSystemByPackAuthenticationMethodXsiam] + r"""Enter a token directly, or provide a secret referencing a token""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -9027,27 +9071,29 @@ class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - workload: NotRequired[str] - r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" - dump_format_errors_to_disk: NotRequired[bool] - r"""Log the most recent event that fails to match the table schema""" + throttle_rate_req_per_sec: NotRequired[int] + r"""Maximum number of requests to limit to per second""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - stats_destination: NotRequired[CreateOutputSystemByPackStatsDestinationTypedDict] + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - username: NotRequired[str] - password: NotRequired[str] - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - sql_username: NotRequired[str] - r"""Username for certificate authentication""" - wait_for_async_inserts: NotRequired[bool] - r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" - exclude_mapping_fields: NotRequired[List[str]] - r"""Fields to exclude from sending""" - describe_table: NotRequired[str] - r"""Retrieves the table schema and populates the Column Mapping table""" - column_mappings: NotRequired[List[CreateOutputSystemByPackColumnMappingTypedDict]] + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[CreateOutputSystemByPackURLXsiamTypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + token: NotRequired[str] + r"""XSIAM authentication token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9070,36 +9116,22 @@ class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackPqControlsLocalSearchStorageTypedDict - ] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsXsiamTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_database: NotRequired[str] - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_table_name: NotRequired[str] - r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): +class CreateOutputSystemByPackOutputXsiam(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeLocalSearchStorage - - url: str - r"""URL of the database instance. Example: http://localhost:8123/""" - - database: str - - table_name: Annotated[str, pydantic.Field(alias="tableName")] - r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" + type: CreateOutputSystemByPackTypeXsiam pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -9115,28 +9147,10 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - auth_type: Annotated[ - Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") - ] = None - - format_: Annotated[ - Optional[CreateOutputSystemByPackFormatLocalSearchStorage], - pydantic.Field(alias="format"), - ] = None - r"""Data format to use when sending data. Defaults to JSON Compact.""" - - mapping_type: Annotated[ - Optional[CreateOutputSystemByPackMappingType], - pydantic.Field(alias="mappingType"), - ] = None - r"""How event fields are mapped to columns.""" - - async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None ) - r"""Collect data into batches for later processing. Disable to write to a table immediately.""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -9176,11 +9190,6 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): ] = None r"""Headers to add to all events""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -9192,6 +9201,12 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" + auth_type: Annotated[ + Optional[CreateOutputSystemByPackAuthenticationMethodXsiam], + pydantic.Field(alias="authType"), + ] = None + r"""Enter a token directly, or provide a secret referencing a token""" + response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -9207,57 +9222,52 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - workload: Optional[str] = None - r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" - - dump_format_errors_to_disk: Annotated[ - Optional[bool], pydantic.Field(alias="dumpFormatErrorsToDisk") + throttle_rate_req_per_sec: Annotated[ + Optional[int], pydantic.Field(alias="throttleRateReqPerSec") ] = None - r"""Log the most recent event that fails to match the table schema""" + r"""Maximum number of requests to limit to per second""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - stats_destination: Annotated[ - Optional[CreateOutputSystemByPackStatsDestination], - pydantic.Field(alias="statsDestination"), + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" - username: Optional[str] = None - - password: Optional[str] = None + url: Optional[str] = None + r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Select or create a secret that references your credentials""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None - r"""Username for certificate authentication""" + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - wait_for_async_inserts: Annotated[ - Optional[bool], pydantic.Field(alias="waitForAsyncInserts") + urls: Optional[List[CreateOutputSystemByPackURLXsiam]] = None + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - exclude_mapping_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeMappingFields") + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""Fields to exclude from sending""" + r"""How far back in time to keep traffic stats for load balancing purposes""" - describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( - None - ) - r"""Retrieves the table schema and populates the Column Mapping table""" + token: Optional[str] = None + r"""XSIAM authentication token""" - column_mappings: Annotated[ - Optional[List[CreateOutputSystemByPackColumnMapping]], - pydantic.Field(alias="columnMappings"), - ] = None + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -9309,7 +9319,7 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsLocalSearchStorage], + Optional[CreateOutputSystemByPackPqControlsXsiam], pydantic.Field(alias="pqControls"), ] = None @@ -9318,21 +9328,6 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - template_database: Annotated[ - Optional[str], pydantic.Field(alias="__template_database") - ] = None - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - - template_table_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_tableName") - ] = None - r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -9343,38 +9338,25 @@ class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationTypeOptions(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackFormatLocalSearchStorage(value) - except ValueError: - return value - return value + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - @field_serializer("mapping_type") - def serialize_mapping_type(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackMappingType(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CreateOutputSystemByPackAuthenticationMethodXsiam(value) except ValueError: return value return value @@ -9423,11 +9405,7 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "authType", - "format", - "mappingType", - "asyncInserts", - "tls", + "loadBalanced", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -9436,25 +9414,24 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", + "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "workload", - "dumpFormatErrorsToDisk", + "throttleRateReqPerSec", "onBackpressure", - "statsDestination", + "totalMemoryLimitKB", "description", - "username", - "password", - "credentialsSecret", - "sqlUsername", - "waitForAsyncInserts", - "excludeMappingFields", - "describeTable", - "columnMappings", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -9468,11 +9445,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_url", - "__template_database", - "__template_tableName", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_url", ] ) serialized = handler(self) @@ -9489,119 +9464,241 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeCustomerMetricsStorage(str, Enum): - CUSTOMER_METRICS_STORAGE = "customer_metrics_storage" +class CreateOutputSystemByPackTypeLocalSearchStorage(str, Enum): + LOCAL_SEARCH_STORAGE = "local_search_storage" -class CreateOutputSystemByPackPqControlsCustomerMetricsStorageTypedDict(TypedDict): - pass +class CreateOutputSystemByPackFormatLocalSearchStorage( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Data format to use when sending data. Defaults to JSON Compact.""" + # JSONCompactEachRowWithNames + JSON_COMPACT_EACH_ROW_WITH_NAMES = "json-compact-each-row-with-names" + # JSONEachRow + JSON_EACH_ROW = "json-each-row" -class CreateOutputSystemByPackPqControlsCustomerMetricsStorage(BaseModel): - pass +class CreateOutputSystemByPackMappingType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How event fields are mapped to columns.""" -class CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCustomerMetricsStorage - url: str - r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" - database: str - table_name: str - r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[FormatOptions] - r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" - mapping_type: NotRequired[MappingTypeOptions] - r"""How event fields are mapped to ClickHouse columns""" - async_inserts: NotRequired[bool] - r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - workload: NotRequired[str] - r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" - dump_format_errors_to_disk: NotRequired[bool] - r"""Log the most recent event that fails to match the table schema""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] + # Automatic + AUTOMATIC = "automatic" + # Custom + CUSTOM = "custom" + + +class CreateOutputSystemByPackStatsDestinationTypedDict(TypedDict): + url: NotRequired[str] + database: NotRequired[str] + table_name: NotRequired[str] + auth_type: NotRequired[str] username: NotRequired[str] - password: NotRequired[str] - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" sql_username: NotRequired[str] - r"""Username for certificate authentication""" + password: NotRequired[str] wait_for_async_inserts: NotRequired[bool] - r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" - exclude_mapping_fields: NotRequired[List[str]] - r"""Fields to exclude from sending to ClickHouse""" - describe_table: NotRequired[str] - r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" - column_mappings: NotRequired[List[ColumnMappingConfOutputClickHouseTypedDict]] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" + concurrency: NotRequired[float] + + +class CreateOutputSystemByPackStatsDestination(BaseModel): + url: Optional[str] = None + + database: Optional[str] = None + + table_name: Annotated[Optional[str], pydantic.Field(alias="tableName")] = None + + auth_type: Annotated[Optional[str], pydantic.Field(alias="authType")] = None + + username: Optional[str] = None + + sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None + + password: Optional[str] = None + + wait_for_async_inserts: Annotated[ + Optional[bool], pydantic.Field(alias="waitForAsyncInserts") + ] = None + + concurrency: Optional[float] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "url", + "database", + "tableName", + "authType", + "username", + "sqlUsername", + "password", + "waitForAsyncInserts", + "concurrency", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackColumnMappingTypedDict(TypedDict): + column_name: str + r"""Name of the column that will store field value""" + column_value_expression: str + r"""JavaScript expression to compute value to be inserted into the table""" + column_type: NotRequired[str] + r"""Type of the column in the database""" + + +class CreateOutputSystemByPackColumnMapping(BaseModel): + column_name: Annotated[str, pydantic.Field(alias="columnName")] + r"""Name of the column that will store field value""" + + column_value_expression: Annotated[ + str, pydantic.Field(alias="columnValueExpression") + ] + r"""JavaScript expression to compute value to be inserted into the table""" + + column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None + r"""Type of the column in the database""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["columnType"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackPqControlsLocalSearchStorageTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsLocalSearchStorage(BaseModel): + pass + + +class CreateOutputSystemByPackOutputLocalSearchStorageTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeLocalSearchStorage + url: str + r"""URL of the database instance. Example: http://localhost:8123/""" + database: str + table_name: str + r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + auth_type: NotRequired[AuthenticationTypeOptions] + format_: NotRequired[CreateOutputSystemByPackFormatLocalSearchStorage] + r"""Data format to use when sending data. Defaults to JSON Compact.""" + mapping_type: NotRequired[CreateOutputSystemByPackMappingType] + r"""How event fields are mapped to columns.""" + async_inserts: NotRequired[bool] + r"""Collect data into batches for later processing. Disable to write to a table immediately.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + workload: NotRequired[str] + r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" + dump_format_errors_to_disk: NotRequired[bool] + r"""Log the most recent event that fails to match the table schema""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + stats_destination: NotRequired[CreateOutputSystemByPackStatsDestinationTypedDict] + description: NotRequired[str] + r"""Optional description for this configuration.""" + username: NotRequired[str] + password: NotRequired[str] + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + sql_username: NotRequired[str] + r"""Username for certificate authentication""" + wait_for_async_inserts: NotRequired[bool] + r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + exclude_mapping_fields: NotRequired[List[str]] + r"""Fields to exclude from sending""" + describe_table: NotRequired[str] + r"""Retrieves the table schema and populates the Column Mapping table""" + column_mappings: NotRequired[List[CreateOutputSystemByPackColumnMappingTypedDict]] + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: NotRequired[ - CreateOutputSystemByPackPqControlsCustomerMetricsStorageTypedDict + CreateOutputSystemByPackPqControlsLocalSearchStorageTypedDict ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -9617,19 +9714,19 @@ class CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputCustomerMetricsStorage(BaseModel): +class CreateOutputSystemByPackOutputLocalSearchStorage(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCustomerMetricsStorage + type: CreateOutputSystemByPackTypeLocalSearchStorage url: str - r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + r"""URL of the database instance. Example: http://localhost:8123/""" database: str table_name: Annotated[str, pydantic.Field(alias="tableName")] - r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" + r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -9649,18 +9746,22 @@ class CreateOutputSystemByPackOutputCustomerMetricsStorage(BaseModel): Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") ] = None - format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None - r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" + format_: Annotated[ + Optional[CreateOutputSystemByPackFormatLocalSearchStorage], + pydantic.Field(alias="format"), + ] = None + r"""Data format to use when sending data. Defaults to JSON Compact.""" mapping_type: Annotated[ - Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") + Optional[CreateOutputSystemByPackMappingType], + pydantic.Field(alias="mappingType"), ] = None - r"""How event fields are mapped to ClickHouse columns""" + r"""How event fields are mapped to columns.""" async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( None ) - r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" + r"""Collect data into batches for later processing. Disable to write to a table immediately.""" tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None @@ -9746,7 +9847,13 @@ class CreateOutputSystemByPackOutputCustomerMetricsStorage(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + stats_destination: Annotated[ + Optional[CreateOutputSystemByPackStatsDestination], + pydantic.Field(alias="statsDestination"), + ] = None + description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -9763,20 +9870,20 @@ class CreateOutputSystemByPackOutputCustomerMetricsStorage(BaseModel): wait_for_async_inserts: Annotated[ Optional[bool], pydantic.Field(alias="waitForAsyncInserts") ] = None - r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" exclude_mapping_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="excludeMappingFields") ] = None - r"""Fields to exclude from sending to ClickHouse""" + r"""Fields to exclude from sending""" describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( None ) - r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" + r"""Retrieves the table schema and populates the Column Mapping table""" column_mappings: Annotated[ - Optional[List[ColumnMappingConfOutputClickHouse]], + Optional[List[CreateOutputSystemByPackColumnMapping]], pydantic.Field(alias="columnMappings"), ] = None @@ -9830,7 +9937,7 @@ class CreateOutputSystemByPackOutputCustomerMetricsStorage(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsCustomerMetricsStorage], + Optional[CreateOutputSystemByPackPqControlsLocalSearchStorage], pydantic.Field(alias="pqControls"), ] = None @@ -9877,7 +9984,7 @@ def serialize_auth_type(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.FormatOptions(value) + return models.CreateOutputSystemByPackFormatLocalSearchStorage(value) except ValueError: return value return value @@ -9886,7 +9993,7 @@ def serialize_format_(self, value): def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.MappingTypeOptions(value) + return models.CreateOutputSystemByPackMappingType(value) except ValueError: return value return value @@ -9966,6 +10073,7 @@ def serialize_model(self, handler): "workload", "dumpFormatErrorsToDisk", "onBackpressure", + "statsDestination", "description", "username", "password", @@ -10009,22 +10117,22 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeClickHouse(str, Enum): - CLICK_HOUSE = "click_house" +class CreateOutputSystemByPackTypeCustomerMetricsStorage(str, Enum): + CUSTOMER_METRICS_STORAGE = "customer_metrics_storage" -class CreateOutputSystemByPackPqControlsClickHouseTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsCustomerMetricsStorageTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsClickHouse(BaseModel): +class CreateOutputSystemByPackPqControlsCustomerMetricsStorage(BaseModel): pass -class CreateOutputSystemByPackOutputClickHouseTypedDict(TypedDict): +class CreateOutputSystemByPackOutputCustomerMetricsStorageTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeClickHouse + type: CreateOutputSystemByPackTypeCustomerMetricsStorage url: str r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" database: str @@ -10085,6 +10193,7 @@ class CreateOutputSystemByPackOutputClickHouseTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -10120,7 +10229,9 @@ class CreateOutputSystemByPackOutputClickHouseTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsClickHouseTypedDict] + pq_controls: NotRequired[ + CreateOutputSystemByPackPqControlsCustomerMetricsStorageTypedDict + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_url: NotRequired[str] @@ -10135,11 +10246,11 @@ class CreateOutputSystemByPackOutputClickHouseTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputClickHouse(BaseModel): +class CreateOutputSystemByPackOutputCustomerMetricsStorage(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeClickHouse + type: CreateOutputSystemByPackTypeCustomerMetricsStorage url: str r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" @@ -10265,6 +10376,7 @@ class CreateOutputSystemByPackOutputClickHouse(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -10348,7 +10460,7 @@ class CreateOutputSystemByPackOutputClickHouse(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsClickHouse], + Optional[CreateOutputSystemByPackPqControlsCustomerMetricsStorage], pydantic.Field(alias="pqControls"), ] = None @@ -10527,14 +10639,27 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDiskSpool(str, Enum): - DISK_SPOOL = "disk_spool" +class CreateOutputSystemByPackTypeClickHouse(str, Enum): + CLICK_HOUSE = "click_house" -class CreateOutputSystemByPackOutputDiskSpoolTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsClickHouseTypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackPqControlsClickHouse(BaseModel): + pass + + +class CreateOutputSystemByPackOutputClickHouseTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDiskSpool + type: CreateOutputSystemByPackTypeClickHouse + url: str + r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + database: str + table_name: str + r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -10543,26 +10668,117 @@ class CreateOutputSystemByPackOutputDiskSpoolTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - time_window: NotRequired[str] - r"""Time period for grouping spooled events. Default is 10m.""" - max_data_size: NotRequired[str] - r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" - max_data_time: NotRequired[str] - r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" - compress: NotRequired[CompressionOptionsPersistence] - r"""Data compression format. Default is gzip.""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" + auth_type: NotRequired[AuthenticationTypeOptions] + format_: NotRequired[FormatOptions] + r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" + mapping_type: NotRequired[MappingTypeOptions] + r"""How event fields are mapped to ClickHouse columns""" + async_inserts: NotRequired[bool] + r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + workload: NotRequired[str] + r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" + dump_format_errors_to_disk: NotRequired[bool] + r"""Log the most recent event that fails to match the table schema""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" + username: NotRequired[str] + password: NotRequired[str] + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + sql_username: NotRequired[str] + r"""Username for certificate authentication""" + wait_for_async_inserts: NotRequired[bool] + r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + exclude_mapping_fields: NotRequired[List[str]] + r"""Fields to exclude from sending to ClickHouse""" + describe_table: NotRequired[str] + r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" + column_mappings: NotRequired[List[ColumnMappingConfOutputClickHouseTypedDict]] + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsClickHouseTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_database: NotRequired[str] + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" + template_table_name: NotRequired[str] + r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputDiskSpool(BaseModel): +class CreateOutputSystemByPackOutputClickHouse(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDiskSpool + type: CreateOutputSystemByPackTypeClickHouse + + url: str + r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + + database: str + + table_name: Annotated[str, pydantic.Field(alias="tableName")] + r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -10578,480 +10794,294 @@ class CreateOutputSystemByPackOutputDiskSpool(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = None - r"""Time period for grouping spooled events. Default is 10m.""" - - max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None - r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" + auth_type: Annotated[ + Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") + ] = None - max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None - r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" + format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None + r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" - compress: Optional[CompressionOptionsPersistence] = None - r"""Data compression format. Default is gzip.""" + mapping_type: Annotated[ + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") + ] = None + r"""How event fields are mapped to ClickHouse columns""" - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( None ) - r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" + r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" - description: Optional[str] = None + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Maximum size, in KB, of the request body""" - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPersistence(value) - except ValueError: - return value - return value + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "timeWindow", - "maxDataSize", - "maxDataTime", - "compress", - "partitionExpr", - "description", - "__template_streamtags", - ] - ) - serialized = handler(self) - m = {} + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - return m + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" -class CreateOutputSystemByPackTypeCriblLake(str, Enum): - CRIBL_LAKE = "cribl_lake" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" -class CreateOutputSystemByPackFormatCriblLake(str, Enum, metaclass=utils.OpenEnumMeta): - JSON = "json" - PARQUET = "parquet" - RAW = "raw" + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" -class CreateOutputSystemByPackOutputCriblLakeTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCriblLake - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - dest_path: NotRequired[str] - r"""Lake dataset to send the data to.""" - format_: NotRequired[CreateOutputSystemByPackFormatCriblLake] - dynamic_dataset: NotRequired[bool] - max_closing_files_to_backpressure: NotRequired[float] - max_concurrent_file_parts: NotRequired[float] - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - - -class CreateOutputSystemByPackOutputCriblLake(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeCriblLake - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + workload: Optional[str] = None + r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + dump_format_errors_to_disk: Annotated[ + Optional[bool], pydantic.Field(alias="dumpFormatErrorsToDisk") ] = None - r"""Add the Output ID value to staging location""" + r"""Log the most recent event that fails to match the table schema""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Remove empty staging directories after moving files""" + r"""How to handle events when all receivers are exerting backpressure""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + username: Optional[str] = None - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") + password: Optional[str] = None + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + r"""Select or create a secret that references your credentials""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None + r"""Username for certificate authentication""" + + wait_for_async_inserts: Annotated[ + Optional[bool], pydantic.Field(alias="waitForAsyncInserts") ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + exclude_mapping_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeMappingFields") ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + r"""Fields to exclude from sending to ClickHouse""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( None ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" + r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") + column_mappings: Annotated[ + Optional[List[ColumnMappingConfOutputClickHouse]], + pydantic.Field(alias="columnMappings"), ] = None - r"""Buffer size used to write to a file""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - orphans: Optional[OrphanFileRecoveryType] = None + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Lake dataset to send the data to.""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - format_: Annotated[ - Optional[CreateOutputSystemByPackFormatCriblLake], - pydantic.Field(alias="format"), + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None + r"""Codec to use to compress the persisted data""" - dynamic_dataset: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicDataset") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackPqControlsClickHouse], + pydantic.Field(alias="pqControls"), ] = None - description: Optional[str] = None - - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" - - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Compression level to apply before moving files to final destination""" - - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" - - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") - ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") - ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") - ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") - ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") - ] = None - r"""How frequently, in seconds, to clean up empty directories""" - - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") - ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") - ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_database: Annotated[ + Optional[str], pydantic.Field(alias="__template_database") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + template_table_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_tableName") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") - ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") - ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationTypeOptions(value) + except ValueError: + return value + return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.FormatOptions(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("mapping_type") + def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.MappingTypeOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackFormatCriblLake(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsHTTP(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("compression_level") - def serialize_compression_level(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.CompressionLevelOptions(value) + return models.ModeOptions(value) except ValueError: return value return value - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): if isinstance(value, str): try: - return models.ParquetVersionOptions(value) + return models.CompressionOptionsPq(value) except ValueError: return value return value - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -11064,53 +11094,55 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "stagePath", - "addIdToStagePath", - "removeEmptyDirs", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "destPath", + "authType", "format", - "dynamicDataset", - "maxClosingFilesToBackpressure", - "maxConcurrentFileParts", - "description", + "mappingType", + "asyncInserts", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "workload", + "dumpFormatErrorsToDisk", + "onBackpressure", + "description", + "username", + "password", + "credentialsSecret", + "sqlUsername", + "waitForAsyncInserts", + "excludeMappingFields", + "describeTable", + "columnMappings", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_baseFileName", - "__template_fileNameSuffix", + "__template_url", + "__template_database", + "__template_tableName", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_destPath", - "__template_compress", - "__template_parquetSchema", ] ) serialized = handler(self) @@ -11127,60 +11159,155 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSecurityLake(str, Enum): - SECURITY_LAKE = "security_lake" +class CreateOutputSystemByPackTypeDiskSpool(str, Enum): + DISK_SPOOL = "disk_spool" -class CreateOutputSystemByPackOutputSecurityLakeTypedDict(TypedDict): +class CreateOutputSystemByPackOutputDiskSpoolTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSecurityLake - assume_role_arn: str - r"""Amazon Resource Name (ARN) of the role to assume""" - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - region: str - r"""Region where the Amazon Security Lake is located.""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - account_id: str - r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" - custom_source: str - r"""Name of the custom source configured in Amazon Security Lake""" + type: CreateOutputSystemByPackTypeDiskSpool pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - endpoint: NotRequired[str] - r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access S3""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - max_closing_files_to_backpressure: NotRequired[float] - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + time_window: NotRequired[str] + r"""Time period for grouping spooled events. Default is 10m.""" + max_data_size: NotRequired[str] + r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" + max_data_time: NotRequired[str] + r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" + compress: NotRequired[CompressionOptionsPersistence] + r"""Data compression format. Default is gzip.""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + +class CreateOutputSystemByPackOutputDiskSpool(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeDiskSpool + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = None + r"""Time period for grouping spooled events. Default is 10m.""" + + max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None + r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" + + max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None + r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" + + compress: Optional[CompressionOptionsPersistence] = None + r"""Data compression format. Default is gzip.""" + + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPersistence(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "timeWindow", + "maxDataSize", + "maxDataTime", + "compress", + "partitionExpr", + "description", + "__template_streamtags", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackTypeCriblLake(str, Enum): + CRIBL_LAKE = "cribl_lake" + + +class CreateOutputSystemByPackFormatCriblLake(str, Enum, metaclass=utils.OpenEnumMeta): + JSON = "json" + PARQUET = "parquet" + RAW = "raw" + + +class CreateOutputSystemByPackOutputCriblLakeTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeCriblLake + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" add_id_to_stage_path: NotRequired[bool] r"""Add the Output ID value to staging location""" remove_empty_dirs: NotRequired[bool] r"""Remove empty staging directories after moving files""" base_file_name: NotRequired[str] r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" max_file_size_mb: NotRequired[float] r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" max_file_open_time_sec: NotRequired[float] @@ -11203,17 +11330,22 @@ class CreateOutputSystemByPackOutputSecurityLakeTypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptions] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: NotRequired[str] - r"""ID or ARN of the KMS customer-managed key to use for encryption""" + dest_path: NotRequired[str] + r"""Lake dataset to send the data to.""" + format_: NotRequired[CreateOutputSystemByPackFormatCriblLake] + dynamic_dataset: NotRequired[bool] + max_closing_files_to_backpressure: NotRequired[float] + max_concurrent_file_parts: NotRequired[float] + description: NotRequired[str] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" automatic_schema: NotRequired[bool] r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" parquet_version: NotRequired[ParquetVersionOptions] r"""Determines which data types are supported and how they are represented""" parquet_data_page_version: NotRequired[DataPageVersionOptions] @@ -11232,80 +11364,35 @@ class CreateOutputSystemByPackOutputSecurityLakeTypedDict(TypedDict): r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" directory_batch_size: NotRequired[float] r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" deadletter_path: NotRequired[str] r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" max_retry_num: NotRequired[float] r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_base_file_name: NotRequired[str] r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_kms_key_id: NotRequired[str] - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_account_id: NotRequired[str] - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - template_custom_source: NotRequired[str] - r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputSecurityLake(BaseModel): +class CreateOutputSystemByPackOutputCriblLake(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSecurityLake - - assume_role_arn: Annotated[str, pydantic.Field(alias="assumeRoleArn")] - r"""Amazon Resource Name (ARN) of the role to assume""" - - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - - region: str - r"""Region where the Amazon Security Lake is located.""" - - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - - account_id: Annotated[str, pydantic.Field(alias="accountId")] - r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" - - custom_source: Annotated[str, pydantic.Field(alias="customSource")] - r"""Name of the custom source configured in Amazon Security Lake""" + type: CreateOutputSystemByPackTypeCriblLake pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -11313,7 +11400,7 @@ class CreateOutputSystemByPackOutputSecurityLake(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -11321,59 +11408,13 @@ class CreateOutputSystemByPackOutputSecurityLake(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - endpoint: Optional[str] = None - r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Use Assume Role credentials to access S3""" - - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" - - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") - ] = None - 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).""" - - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None - r"""Reuse connections between requests, which can improve performance""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") - ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" - - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") - ] = None - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" - - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") - ] = None - r"""Add the Output ID value to staging location""" + r"""Add the Output ID value to staging location""" remove_empty_dirs: Annotated[ Optional[bool], pydantic.Field(alias="removeEmptyDirs") @@ -11385,6 +11426,11 @@ class CreateOutputSystemByPackOutputSecurityLake(BaseModel): ) r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: Annotated[ Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None @@ -11441,34 +11487,47 @@ class CreateOutputSystemByPackOutputSecurityLake(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Lake dataset to send the data to.""" - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + format_: Annotated[ + Optional[CreateOutputSystemByPackFormatCriblLake], + pydantic.Field(alias="format"), ] = None - r"""Object ACL to assign to uploaded objects""" - storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + dynamic_dataset: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicDataset") ] = None - r"""Storage class to select for uploaded objects""" - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") ] = None - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None - r"""ID or ARN of the KMS customer-managed key to use for encryption""" + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" automatic_schema: Annotated[ Optional[bool], pydantic.Field(alias="automaticSchema") ] = None r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: Annotated[ Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None @@ -11515,14 +11574,6 @@ class CreateOutputSystemByPackOutputSecurityLake(BaseModel): ] = None r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - empty_dir_cleanup_sec: Annotated[ Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None @@ -11533,11 +11584,6 @@ class CreateOutputSystemByPackOutputSecurityLake(BaseModel): ] = None r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - deadletter_path: Annotated[ Optional[str], pydantic.Field(alias="deadletterPath") ] = None @@ -11553,95 +11599,36 @@ class CreateOutputSystemByPackOutputSecurityLake(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") - ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") - ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_base_file_name: Annotated[ Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") - ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") - ] = None - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - - template_account_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_accountId") - ] = None - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - - template_custom_source: Annotated[ - Optional[str], pydantic.Field(alias="__template_customSource") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = None - r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: Annotated[ Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value - @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -11660,29 +11647,29 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.ObjectACLOptions(value) + return models.CreateOutputSystemByPackFormatCriblLake(value) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.StorageClassOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.ServerSideEncryptionForUploadedObjectsOptions(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value @@ -11713,19 +11700,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleExternalId", - "durationSeconds", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", + "stagePath", "addIdToStagePath", "removeEmptyDirs", "baseFileName", + "fileNameSuffix", "maxFileSizeMB", "maxFileOpenTimeSec", "maxFileIdleTimeSec", @@ -11738,12 +11717,16 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", + "destPath", + "format", + "dynamicDataset", + "maxClosingFilesToBackpressure", + "maxConcurrentFileParts", + "description", + "compress", + "compressionLevel", "automaticSchema", + "parquetSchema", "parquetVersion", "parquetDataPageVersion", "parquetRowGroupLength", @@ -11753,30 +11736,16 @@ def serialize_model(self, handler): "enableStatistics", "enableWritePageIndex", "enablePageChecksum", - "description", - "awsApiKey", - "awsSecret", "emptyDirCleanupSec", "directoryBatchSize", - "parquetSchema", "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_bucket", - "__template_region", "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", - "__template_accountId", - "__template_customSource", - "__template_awsApiKey", + "__template_destPath", + "__template_compress", "__template_parquetSchema", ] ) @@ -11794,32 +11763,38 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDlS3(str, Enum): - DL_S3 = "dl_s3" +class CreateOutputSystemByPackTypeSecurityLake(str, Enum): + SECURITY_LAKE = "security_lake" -class CreateOutputSystemByPackOutputDlS3TypedDict(TypedDict): +class CreateOutputSystemByPackOutputSecurityLakeTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDlS3 - bucket: str + type: CreateOutputSystemByPackTypeSecurityLake + assume_role_arn: str + r"""Amazon Resource Name (ARN) of the role to assume""" + bucket: str r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + region: str + r"""Region where the Amazon Security Lake is located.""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + account_id: str + r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" + custom_source: str + r"""Name of the custom source configured in Amazon Security Lake""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" endpoint: NotRequired[str] - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" enable_assume_role: NotRequired[bool] r"""Use Assume Role credentials to access S3""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" assume_role_external_id: NotRequired[str] r"""External ID to use when assuming role""" duration_seconds: NotRequired[float] @@ -11830,10 +11805,6 @@ class CreateOutputSystemByPackOutputDlS3TypedDict(TypedDict): r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the S3 bucket is located""" - dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" verify_permissions: NotRequired[bool] @@ -11844,12 +11815,8 @@ class CreateOutputSystemByPackOutputDlS3TypedDict(TypedDict): r"""Add the Output ID value to staging location""" remove_empty_dirs: NotRequired[bool] r"""Remove empty staging directories after moving files""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" base_file_name: NotRequired[str] r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" max_file_size_mb: NotRequired[float] r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" max_file_open_time_sec: NotRequired[float] @@ -11873,7 +11840,6 @@ class CreateOutputSystemByPackOutputDlS3TypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" object_acl: NotRequired[ObjectACLOptions] r"""Object ACL to assign to uploaded objects""" storage_class: NotRequired[StorageClassOptions] @@ -11882,21 +11848,8 @@ class CreateOutputSystemByPackOutputDlS3TypedDict(TypedDict): r"""Server-side encryption to use for uploaded objects""" kms_key_id: NotRequired[str] r"""ID or ARN of the KMS customer-managed key to use for encryption""" - partitioning_fields: NotRequired[List[str]] - r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" - description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" automatic_schema: NotRequired[bool] r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" parquet_version: NotRequired[ParquetVersionOptions] r"""Determines which data types are supported and how they are represented""" parquet_data_page_version: NotRequired[DataPageVersionOptions] @@ -11915,10 +11868,18 @@ class CreateOutputSystemByPackOutputDlS3TypedDict(TypedDict): r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" directory_batch_size: NotRequired[float] r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" deadletter_path: NotRequired[str] r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" max_retry_num: NotRequired[float] @@ -11935,14 +11896,8 @@ class CreateOutputSystemByPackOutputDlS3TypedDict(TypedDict): r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_base_file_name: NotRequired[str] r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" template_aws_secret_key: NotRequired[str] @@ -11955,35 +11910,47 @@ class CreateOutputSystemByPackOutputDlS3TypedDict(TypedDict): r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" template_kms_key_id: NotRequired[str] r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_partitioning_fields: NotRequired[str] - r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" + template_account_id: NotRequired[str] + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" + template_custom_source: NotRequired[str] + r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" template_aws_api_key: NotRequired[str] r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" -class CreateOutputSystemByPackOutputDlS3(BaseModel): +class CreateOutputSystemByPackOutputSecurityLake(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDlS3 + type: CreateOutputSystemByPackTypeSecurityLake + + assume_role_arn: Annotated[str, pydantic.Field(alias="assumeRoleArn")] + r"""Amazon Resource Name (ARN) of the role to assume""" bucket: str r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + region: str + r"""Region where the Amazon Security Lake is located.""" + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + account_id: Annotated[str, pydantic.Field(alias="accountId")] + r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" + + custom_source: Annotated[str, pydantic.Field(alias="customSource")] + r"""Name of the custom source configured in Amazon Security Lake""" + pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -11992,18 +11959,13 @@ class CreateOutputSystemByPackOutputDlS3(BaseModel): r"""Tags for filtering and grouping in @{product}""" endpoint: Optional[str] = None - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" enable_assume_role: Annotated[ Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None r"""Use Assume Role credentials to access S3""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: Annotated[ Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None @@ -12030,12 +11992,6 @@ class CreateOutputSystemByPackOutputDlS3(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: Optional[str] = None - r"""Region where the S3 bucket is located""" - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - max_concurrent_file_parts: Annotated[ Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = None @@ -12061,21 +12017,11 @@ class CreateOutputSystemByPackOutputDlS3(BaseModel): ] = None r"""Remove empty staging directories after moving files""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( None ) r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: Annotated[ Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None @@ -12135,7 +12081,6 @@ class CreateOutputSystemByPackOutputDlS3(BaseModel): aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( None ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" object_acl: Annotated[ Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") @@ -12156,37 +12101,11 @@ class CreateOutputSystemByPackOutputDlS3(BaseModel): kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None r"""ID or ARN of the KMS customer-managed key to use for encryption""" - partitioning_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="partitioningFields") - ] = None - r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" - - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" - - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" - automatic_schema: Annotated[ Optional[bool], pydantic.Field(alias="automaticSchema") ] = None r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: Annotated[ Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None @@ -12233,6 +12152,15 @@ class CreateOutputSystemByPackOutputDlS3(BaseModel): ] = None r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + empty_dir_cleanup_sec: Annotated[ Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None @@ -12243,6 +12171,11 @@ class CreateOutputSystemByPackOutputDlS3(BaseModel): ] = None r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + deadletter_path: Annotated[ Optional[str], pydantic.Field(alias="deadletterPath") ] = None @@ -12283,26 +12216,11 @@ class CreateOutputSystemByPackOutputDlS3(BaseModel): ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") - ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: Annotated[ Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") - ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None @@ -12333,21 +12251,21 @@ class CreateOutputSystemByPackOutputDlS3(BaseModel): ] = None r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_partitioning_fields: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitioningFields") + template_account_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_accountId") ] = None - r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" + + template_custom_source: Annotated[ + Optional[str], pydantic.Field(alias="__template_customSource") + ] = None + r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" template_aws_api_key: Annotated[ Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: Annotated[ Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None @@ -12362,15 +12280,6 @@ def serialize_aws_authentication_method(self, value): return value return value - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value - @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -12416,24 +12325,6 @@ def serialize_server_side_encryption(self, value): return value return value - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsHTTP(value) - except ValueError: - return value - return value - - @field_serializer("compression_level") - def serialize_compression_level(self, value): - if isinstance(value, str): - try: - return models.CompressionLevelOptions(value) - except ValueError: - return value - return value - @field_serializer("parquet_version") def serialize_parquet_version(self, value): if isinstance(value, str): @@ -12462,22 +12353,17 @@ def serialize_model(self, handler): "streamtags", "endpoint", "enableAssumeRole", - "assumeRoleArn", "assumeRoleExternalId", "durationSeconds", "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", - "destPath", "maxConcurrentFileParts", "verifyPermissions", "maxClosingFilesToBackpressure", "addIdToStagePath", "removeEmptyDirs", - "format", "baseFileName", - "fileNameSuffix", "maxFileSizeMB", "maxFileOpenTimeSec", "maxFileIdleTimeSec", @@ -12495,14 +12381,7 @@ def serialize_model(self, handler): "storageClass", "serverSideEncryption", "kmsKeyId", - "partitioningFields", - "description", - "awsApiKey", - "awsSecret", - "compress", - "compressionLevel", "automaticSchema", - "parquetSchema", "parquetVersion", "parquetDataPageVersion", "parquetRowGroupLength", @@ -12512,8 +12391,12 @@ def serialize_model(self, handler): "enableStatistics", "enableWritePageIndex", "enablePageChecksum", + "description", + "awsApiKey", + "awsSecret", "emptyDirCleanupSec", "directoryBatchSize", + "parquetSchema", "deadletterPath", "maxRetryNum", "__template_streamtags", @@ -12522,19 +12405,16 @@ def serialize_model(self, handler): "__template_assumeRoleExternalId", "__template_bucket", "__template_region", - "__template_destPath", - "__template_format", "__template_baseFileName", - "__template_fileNameSuffix", "__template_onBackpressure", "__template_awsSecretKey", "__template_objectACL", "__template_storageClass", "__template_serverSideEncryption", "__template_kmsKeyId", - "__template_partitioningFields", + "__template_accountId", + "__template_customSource", "__template_awsApiKey", - "__template_compress", "__template_parquetSchema", ] ) @@ -12552,305 +12432,572 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem(str, Enum): - CROWDSTRIKE_NEXT_GEN_SIEM = "crowdstrike_next_gen_siem" +class CreateOutputSystemByPackTypeDlS3(str, Enum): + DL_S3 = "dl_s3" + + +class CreateOutputSystemByPackOutputDlS3TypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeDlS3 + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + endpoint: NotRequired[str] + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access S3""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the S3 bucket is located""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptions] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: NotRequired[str] + r"""ID or ARN of the KMS customer-managed key to use for encryption""" + partitioning_fields: NotRequired[List[str]] + r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_kms_key_id: NotRequired[str] + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + template_partitioning_fields: NotRequired[str] + r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + +class CreateOutputSystemByPackOutputDlS3(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeDlS3 + + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + endpoint: Optional[str] = None + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access S3""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + region: Optional[str] = None + r"""Region where the S3 bucket is located""" + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" + + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + ] = None + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" + + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + ] = None + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") + ] = None + r"""Buffer size used to write to a file""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), + ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + ] = None + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + orphans: Optional[OrphanFileRecoveryType] = None -class CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict(TypedDict): - pass + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" -class CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem(BaseModel): - pass + storage_class: Annotated[ + Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + ] = None + r"""Storage class to select for uploaded objects""" + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptions], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" -class CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem - url: str - r"""URL provided from a CrowdStrike data connector. - Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector - """ - format_: RequestFormatOptions - r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] - token: NotRequired[str] - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict - ] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None + r"""ID or ARN of the KMS customer-managed key to use for encryption""" + partitioning_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="partitioningFields") + ] = None + r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" -class CreateOutputSystemByPackOutputCrowdstrikeNextGenSiem(BaseModel): - id: str - r"""Unique ID for this output""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - type: CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - url: str - r"""URL provided from a CrowdStrike data connector. - Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector - """ + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" - format_: Annotated[RequestFormatOptions, pydantic.Field(alias="format")] - r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + ] = None + r"""Determines which data types are supported and how they are represented""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + ] = None + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Maximum size, in KB, of the request body""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + ] = None + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""Headers to add to all events""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""How frequently, in seconds, to clean up empty directories""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""List of headers that are safe to log in plain text""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None - - token: Optional[str] = None - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") ] = None - r"""Codec to use to compress the persisted data""" + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem], - pydantic.Field(alias="pqControls"), + template_kms_key_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_kmsKeyId") ] = None + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_partitioning_fields: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitioningFields") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -12859,52 +13006,88 @@ def serialize_failed_request_logging_mode(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.RequestFormatOptions(value) + return models.DataFormatOptions(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("object_acl") + def serialize_object_acl(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.ObjectACLOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.StorageClassOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ServerSideEncryptionForUploadedObjectsOptions(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsHTTP(value) + except ValueError: + return value + return value + + @field_serializer("compression_level") + def serialize_compression_level(self, value): + if isinstance(value, str): + try: + return models.CompressionLevelOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): + if isinstance(value, str): + try: + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -12917,41 +13100,82 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", + "endpoint", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "awsAuthenticationMethod", + "reuseConnections", "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "region", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", - "description", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", + "partitioningFields", + "description", + "awsApiKey", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__template_bucket", + "__template_region", + "__template_destPath", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_awsSecretKey", + "__template_objectACL", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", + "__template_partitioningFields", + "__template_awsApiKey", + "__template_compress", + "__template_parquetSchema", ] ) serialized = handler(self) @@ -12968,24 +13192,26 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeHumioHec(str, Enum): - HUMIO_HEC = "humio_hec" +class CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem(str, Enum): + CROWDSTRIKE_NEXT_GEN_SIEM = "crowdstrike_next_gen_siem" -class CreateOutputSystemByPackPqControlsHumioHecTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsHumioHec(BaseModel): +class CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem(BaseModel): pass -class CreateOutputSystemByPackOutputHumioHecTypedDict(TypedDict): +class CreateOutputSystemByPackOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeHumioHec + type: CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem url: str - r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + r"""URL provided from a CrowdStrike data connector. + Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector + """ format_: RequestFormatOptions r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" pipeline: NotRequired[str] @@ -13033,8 +13259,8 @@ class CreateOutputSystemByPackOutputHumioHecTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] - r"""CrowdStrike Falcon LogScale authentication token""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] @@ -13059,7 +13285,9 @@ class CreateOutputSystemByPackOutputHumioHecTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsHumioHecTypedDict] + pq_controls: NotRequired[ + CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiemTypedDict + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_url: NotRequired[str] @@ -13070,14 +13298,16 @@ class CreateOutputSystemByPackOutputHumioHecTypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputHumioHec(BaseModel): +class CreateOutputSystemByPackOutputCrowdstrikeNextGenSiem(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeHumioHec + type: CreateOutputSystemByPackTypeCrowdstrikeNextGenSiem url: str - r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + r"""URL provided from a CrowdStrike data connector. + Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector + """ format_: Annotated[RequestFormatOptions, pydantic.Field(alias="format")] r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" @@ -13177,9 +13407,9 @@ class CreateOutputSystemByPackOutputHumioHec(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None - r"""CrowdStrike Falcon LogScale authentication token""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -13234,7 +13464,7 @@ class CreateOutputSystemByPackOutputHumioHec(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsHumioHec], + Optional[CreateOutputSystemByPackPqControlsCrowdstrikeNextGenSiem], pydantic.Field(alias="pqControls"), ] = None @@ -13380,22 +13610,26 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeCriblSearchEngine(str, Enum): - CRIBL_SEARCH_ENGINE = "cribl_search_engine" +class CreateOutputSystemByPackTypeHumioHec(str, Enum): + HUMIO_HEC = "humio_hec" -class CreateOutputSystemByPackPqControlsCriblSearchEngineTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsHumioHecTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsCriblSearchEngine(BaseModel): +class CreateOutputSystemByPackPqControlsHumioHec(BaseModel): pass -class CreateOutputSystemByPackOutputCriblSearchEngineTypedDict(TypedDict): +class CreateOutputSystemByPackOutputHumioHecTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCriblSearchEngine + type: CreateOutputSystemByPackTypeHumioHec + url: str + r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + format_: RequestFormatOptions + r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13404,21 +13638,14 @@ class CreateOutputSystemByPackOutputCriblSearchEngineTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] - token_ttl_minutes: NotRequired[float] - r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" - exclude_fields: NotRequired[List[str]] - r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" - compression: NotRequired[CompressionOptionsGzipNone] - r"""Codec to use to compress the data before sending""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] r"""Maximum size, in KB, of the request body""" max_payload_events: NotRequired[float] r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -13430,12 +13657,14 @@ class CreateOutputSystemByPackOutputCriblSearchEngineTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -13443,22 +13672,14 @@ class CreateOutputSystemByPackOutputCriblSearchEngineTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - auth_tokens: NotRequired[List[AuthTokenConfOutputCriblHTTPTypedDict]] - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" description: NotRequired[str] - url: NotRequired[str] - r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[URLConfOutputCriblHTTPTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Optional description for this configuration.""" + token: NotRequired[str] + r"""CrowdStrike Falcon LogScale authentication token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -13481,24 +13702,28 @@ class CreateOutputSystemByPackOutputCriblSearchEngineTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackPqControlsCriblSearchEngineTypedDict - ] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsHumioHecTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): +class CreateOutputSystemByPackOutputHumioHec(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCriblSearchEngine + type: CreateOutputSystemByPackTypeHumioHec + + url: str + r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + + format_: Annotated[RequestFormatOptions, pydantic.Field(alias="format")] + r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -13514,26 +13739,6 @@ class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - - token_ttl_minutes: Annotated[ - Optional[float], pydantic.Field(alias="tokenTTLMinutes") - ] = None - r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" - - exclude_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeFields") - ] = None - r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" - - compression: Optional[CompressionOptionsGzipNone] = None - r"""Codec to use to compress the data before sending""" - concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -13547,6 +13752,9 @@ class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): ] = None r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None @@ -13569,6 +13777,11 @@ class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): ] = None r"""Headers to add to all events""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -13580,10 +13793,11 @@ class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], @@ -13600,40 +13814,19 @@ class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - auth_tokens: Annotated[ - Optional[List[AuthTokenConfOutputCriblHTTP]], pydantic.Field(alias="authTokens") - ] = None - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" - url: Optional[str] = None - r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - urls: Optional[List[URLConfOutputCriblHTTP]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + token: Optional[str] = None + r"""CrowdStrike Falcon LogScale authentication token""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -13685,7 +13878,7 @@ class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsCriblSearchEngine], + Optional[CreateOutputSystemByPackPqControlsHumioHec], pydantic.Field(alias="pqControls"), ] = None @@ -13694,6 +13887,11 @@ class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -13704,25 +13902,29 @@ class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipNone(value) + return models.RequestFormatOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value @@ -13771,33 +13973,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", - "tls", - "tokenTTLMinutes", - "excludeFields", - "compression", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", + "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "throttleRatePerSec", + "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "authTokens", "onBackpressure", - "useRoundRobinDns", "description", - "url", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -13811,9 +14005,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", ] ) serialized = handler(self) @@ -13830,22 +14024,22 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeCriblHTTP(str, Enum): - CRIBL_HTTP = "cribl_http" +class CreateOutputSystemByPackTypeCriblSearchEngine(str, Enum): + CRIBL_SEARCH_ENGINE = "cribl_search_engine" -class CreateOutputSystemByPackPqControlsCriblHTTPTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsCriblSearchEngineTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsCriblHTTP(BaseModel): +class CreateOutputSystemByPackPqControlsCriblSearchEngine(BaseModel): pass -class CreateOutputSystemByPackOutputCriblHTTPTypedDict(TypedDict): +class CreateOutputSystemByPackOutputCriblSearchEngineTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCriblHTTP + type: CreateOutputSystemByPackTypeCriblSearchEngine pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -13894,14 +14088,15 @@ class CreateOutputSystemByPackOutputCriblHTTPTypedDict(TypedDict): response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" auth_tokens: NotRequired[List[AuthTokenConfOutputCriblHTTPTypedDict]] - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" description: NotRequired[str] + r"""Optional description for this configuration.""" url: NotRequired[str] r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" urls: NotRequired[List[URLConfOutputCriblHTTPTypedDict]] @@ -13931,7 +14126,9 @@ class CreateOutputSystemByPackOutputCriblHTTPTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsCriblHTTPTypedDict] + pq_controls: NotRequired[ + CreateOutputSystemByPackPqControlsCriblSearchEngineTypedDict + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -13942,11 +14139,11 @@ class CreateOutputSystemByPackOutputCriblHTTPTypedDict(TypedDict): r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputCriblHTTP(BaseModel): +class CreateOutputSystemByPackOutputCriblSearchEngine(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCriblHTTP + type: CreateOutputSystemByPackTypeCriblSearchEngine pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14051,23 +14248,24 @@ class CreateOutputSystemByPackOutputCriblHTTP(BaseModel): auth_tokens: Annotated[ Optional[List[AuthTokenConfOutputCriblHTTP]], pydantic.Field(alias="authTokens") ] = None - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - url: Optional[str] = None - r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - use_round_robin_dns: Annotated[ Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + url: Optional[str] = None + r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" @@ -14133,7 +14331,7 @@ class CreateOutputSystemByPackOutputCriblHTTP(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsCriblHTTP], + Optional[CreateOutputSystemByPackPqControlsCriblSearchEngine], pydantic.Field(alias="pqControls"), ] = None @@ -14239,9 +14437,9 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "authTokens", "onBackpressure", + "useRoundRobinDns", "description", "url", - "useRoundRobinDns", "excludeSelf", "urls", "dnsResolvePeriodSec", @@ -14278,22 +14476,22 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeCriblTCP(str, Enum): - CRIBL_TCP = "cribl_tcp" +class CreateOutputSystemByPackTypeCriblHTTP(str, Enum): + CRIBL_HTTP = "cribl_http" -class CreateOutputSystemByPackPqControlsCriblTCPTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsCriblHTTPTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsCriblTCP(BaseModel): +class CreateOutputSystemByPackPqControlsCriblHTTP(BaseModel): pass -class CreateOutputSystemByPackOutputCriblTCPTypedDict(TypedDict): +class CreateOutputSystemByPackOutputCriblHTTPTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCriblTCP + type: CreateOutputSystemByPackTypeCriblHTTP pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -14303,41 +14501,61 @@ class CreateOutputSystemByPackOutputCriblTCPTypedDict(TypedDict): streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" load_balanced: NotRequired[bool] - r"""Use load-balanced destinations""" - compression: NotRequired[CompressionOptionsGzipNone] - r"""Codec to use to compress the data before sending""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" token_ttl_minutes: NotRequired[float] - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - auth_tokens: NotRequired[List[AuthTokenConfInputCriblTCPTypedDict]] - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" + r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" exclude_fields: NotRequired[List[str]] r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" + compression: NotRequired[CompressionOptionsGzipNone] + r"""Codec to use to compress the data before sending""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + auth_tokens: NotRequired[List[AuthTokenConfOutputCriblHTTPTypedDict]] + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - host: NotRequired[str] - r"""The hostname of the receiver""" - port: NotRequired[float] - r"""The port to connect to on the provided host""" + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] - r"""Set of hosts to load-balance data to""" + urls: NotRequired[List[URLConfOutputCriblHTTPTypedDict]] dns_resolve_period_sec: NotRequired[float] r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" load_balance_stats_period_sec: NotRequired[float] r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14360,22 +14578,22 @@ class CreateOutputSystemByPackOutputCriblTCPTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsCriblTCPTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsCriblHTTPTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class CreateOutputSystemByPackOutputCriblTCP(BaseModel): +class CreateOutputSystemByPackOutputCriblHTTP(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeCriblTCP + type: CreateOutputSystemByPackTypeCriblHTTP pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14394,47 +14612,93 @@ class CreateOutputSystemByPackOutputCriblTCP(BaseModel): load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None ) - r"""Use load-balanced destinations""" + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + token_ttl_minutes: Annotated[ + Optional[float], pydantic.Field(alias="tokenTTLMinutes") + ] = None + r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" + + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") + ] = None + r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" compression: Optional[CompressionOptionsGzipNone] = None r"""Codec to use to compress the data before sending""" - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Use to troubleshoot issues with sending data""" + r"""Maximum size, in KB, of the request body""" + + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - token_ttl_minutes: Annotated[ - Optional[float], pydantic.Field(alias="tokenTTLMinutes") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - auth_tokens: Annotated[ - Optional[List[AuthTokenConfInputCriblTCP]], pydantic.Field(alias="authTokens") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - exclude_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeFields") + auth_tokens: Annotated[ + Optional[List[AuthTokenConfOutputCriblHTTP]], pydantic.Field(alias="authTokens") ] = None - r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -14442,18 +14706,20 @@ class CreateOutputSystemByPackOutputCriblTCP(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - host: Optional[str] = None - r"""The hostname of the receiver""" + url: Optional[str] = None + r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - port: Optional[float] = None - r"""The port to connect to on the provided host""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: Optional[List[HostConfOutputSyslog]] = None - r"""Set of hosts to load-balance data to""" + urls: Optional[List[URLConfOutputCriblHTTP]] = None dns_resolve_period_sec: Annotated[ Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") @@ -14465,11 +14731,6 @@ class CreateOutputSystemByPackOutputCriblTCP(BaseModel): ] = None r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") - ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" - pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -14520,29 +14781,29 @@ class CreateOutputSystemByPackOutputCriblTCP(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsCriblTCP], + Optional[CreateOutputSystemByPackPqControlsCriblHTTP], pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + ] = None + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" @field_serializer("compression") def serialize_compression(self, value): @@ -14553,6 +14814,15 @@ def serialize_compression(self, value): return value return value + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value + @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -14598,24 +14868,32 @@ def serialize_model(self, handler): "environment", "streamtags", "loadBalanced", - "compression", - "logFailedRequests", - "throttleRatePerSec", "tls", - "connectionTimeout", - "writeTimeout", "tokenTTLMinutes", - "authTokens", "excludeFields", + "compression", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "throttleRatePerSec", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "authTokens", "onBackpressure", "description", - "host", - "port", + "url", + "useRoundRobinDns", "excludeSelf", - "hosts", + "urls", "dnsResolvePeriodSec", "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14629,9 +14907,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_host", - "__template_port", + "__template_url", ] ) serialized = handler(self) @@ -14648,52 +14926,22 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeDataset(str, Enum): - DATASET = "dataset" - - -class CreateOutputSystemByPackSeverityDataset(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - - # 0 - finest - FINEST = "finest" - # 1 - finer - FINER = "finer" - # 2 - fine - FINE = "fine" - # 3 - info - INFO = "info" - # 4 - warning - WARNING = "warning" - # 5 - error - ERROR = "error" - # 6 - fatal - FATAL = "fatal" - - -class CreateOutputSystemByPackDataSetSite(str, Enum, metaclass=utils.OpenEnumMeta): - r"""DataSet site to which events should be sent""" - - # US - US = "us" - # Europe - EU = "eu" - # Custom - CUSTOM = "custom" +class CreateOutputSystemByPackTypeCriblTCP(str, Enum): + CRIBL_TCP = "cribl_tcp" -class CreateOutputSystemByPackPqControlsDatasetTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsCriblTCPTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsDataset(BaseModel): +class CreateOutputSystemByPackPqControlsCriblTCP(BaseModel): pass -class CreateOutputSystemByPackOutputDatasetTypedDict(TypedDict): +class CreateOutputSystemByPackOutputCriblTCPTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDataset + type: CreateOutputSystemByPackTypeCriblTCP pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -14702,58 +14950,43 @@ class CreateOutputSystemByPackOutputDatasetTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - message_field: NotRequired[str] - r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" + load_balanced: NotRequired[bool] + r"""Use load-balanced destinations""" + compression: NotRequired[CompressionOptionsGzipNone] + r"""Codec to use to compress the data before sending""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + token_ttl_minutes: NotRequired[float] + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" + auth_tokens: NotRequired[List[AuthTokenConfInputCriblTCPTypedDict]] + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" exclude_fields: NotRequired[List[str]] - r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" - server_host_field: NotRequired[str] - r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" - timestamp_field: NotRequired[str] - r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" - default_severity: NotRequired[CreateOutputSystemByPackSeverityDataset] - r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - site: NotRequired[CreateOutputSystemByPackDataSetSite] - r"""DataSet site to which events should be sent""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" + r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - custom_url: NotRequired[str] + r"""Optional description for this configuration.""" + host: NotRequired[str] + r"""The hostname of the receiver""" + port: NotRequired[float] + r"""The port to connect to on the provided host""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] + r"""Set of hosts to load-balance data to""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14776,26 +15009,22 @@ class CreateOutputSystemByPackOutputDatasetTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsDatasetTypedDict] - api_key: NotRequired[str] - r"""A 'Log Write Access' API key for the DataSet account""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsCriblTCPTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: NotRequired[str] - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" -class CreateOutputSystemByPackOutputDataset(BaseModel): +class CreateOutputSystemByPackOutputCriblTCP(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDataset + type: CreateOutputSystemByPackTypeCriblTCP pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -14811,120 +15040,85 @@ class CreateOutputSystemByPackOutputDataset(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None - r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" - - exclude_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeFields") - ] = None - r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" - - server_host_field: Annotated[ - Optional[str], pydantic.Field(alias="serverHostField") - ] = None - r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" - - timestamp_field: Annotated[ - Optional[str], pydantic.Field(alias="timestampField") - ] = None - r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" - - default_severity: Annotated[ - Optional[CreateOutputSystemByPackSeverityDataset], - pydantic.Field(alias="defaultSeverity"), - ] = None - r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - - site: Optional[CreateOutputSystemByPackDataSetSite] = None - r"""DataSet site to which events should be sent""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), - ] = None - r"""Headers to add to all events""" + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + token_ttl_minutes: Annotated[ + Optional[float], pydantic.Field(alias="tokenTTLMinutes") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCriblTCP]], pydantic.Field(alias="authTokens") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") ] = None - r"""List of headers that are safe to log in plain text""" + r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") - ] = None - r"""Enter API key directly, or select a stored secret""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + host: Optional[str] = None + r"""The hostname of the receiver""" + + port: Optional[float] = None + r"""The port to connect to on the provided host""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + hosts: Optional[List[HostConfOutputSyslog]] = None + r"""Set of hosts to load-balance data to""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - description: Optional[str] = None + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") + ] = None + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -14976,59 +15170,35 @@ class CreateOutputSystemByPackOutputDataset(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsDataset], + Optional[CreateOutputSystemByPackPqControlsCriblTCP], pydantic.Field(alias="pqControls"), ] = None - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""A 'Log Write Access' API key for the DataSet account""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_customUrl") - ] = None - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" - - @field_serializer("default_severity") - def serialize_default_severity(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackSeverityDataset(value) - except ValueError: - return value - return value + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - @field_serializer("site") - def serialize_site(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackDataSetSite(value) - except ValueError: - return value - return value + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("compression") + def serialize_compression(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CompressionOptionsGzipNone(value) except ValueError: return value return value @@ -15042,15 +15212,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAPI(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -15086,31 +15247,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "messageField", + "loadBalanced", + "compression", + "logFailedRequests", + "throttleRatePerSec", + "tls", + "connectionTimeout", + "writeTimeout", + "tokenTTLMinutes", + "authTokens", "excludeFields", - "serverHostField", - "timestampField", - "defaultSeverity", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "site", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", "onBackpressure", - "authType", - "totalMemoryLimitKB", "description", - "customUrl", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15123,12 +15278,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", - "textSecret", "__template_streamtags", - "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_customUrl", + "__template_host", + "__template_port", ] ) serialized = handler(self) @@ -15145,93 +15298,113 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeServiceNow(str, Enum): - SERVICE_NOW = "service_now" +class CreateOutputSystemByPackTypeDataset(str, Enum): + DATASET = "dataset" -class CreateOutputSystemByPackPqControlsServiceNowTypedDict(TypedDict): +class CreateOutputSystemByPackSeverityDataset(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" + + # 0 - finest + FINEST = "finest" + # 1 - finer + FINER = "finer" + # 2 - fine + FINE = "fine" + # 3 - info + INFO = "info" + # 4 - warning + WARNING = "warning" + # 5 - error + ERROR = "error" + # 6 - fatal + FATAL = "fatal" + + +class CreateOutputSystemByPackDataSetSite(str, Enum, metaclass=utils.OpenEnumMeta): + r"""DataSet site to which events should be sent""" + + # US + US = "us" + # Europe + EU = "eu" + # Custom + CUSTOM = "custom" + + +class CreateOutputSystemByPackPqControlsDatasetTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsServiceNow(BaseModel): +class CreateOutputSystemByPackPqControlsDataset(BaseModel): pass -class CreateOutputSystemByPackOutputServiceNowTypedDict(TypedDict): +class CreateOutputSystemByPackOutputDatasetTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeServiceNow - endpoint: str - r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - token_secret: str - r"""Select or create a stored text secret""" - otlp_version: OtlpVersionOptions131 - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - protocol: ProtocolOptions - r"""Select a transport option for OpenTelemetry""" + type: CreateOutputSystemByPackTypeDataset pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - auth_token_name: NotRequired[str] - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - compress: NotRequired[CompressionOptionsDeflateGzip] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_compress: NotRequired[CompressionOptionsMessages] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_traces_endpoint_override: NotRequired[str] - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_metrics_endpoint_override: NotRequired[str] - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_logs_endpoint_override: NotRequired[str] - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - dynamic_headers_enabled: NotRequired[bool] - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: NotRequired[str] - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + message_field: NotRequired[str] + r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" + exclude_fields: NotRequired[List[str]] + r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" + server_host_field: NotRequired[str] + r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" + timestamp_field: NotRequired[str] + r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" + default_severity: NotRequired[CreateOutputSystemByPackSeverityDataset] + r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + site: NotRequired[CreateOutputSystemByPackDataSetSite] + r"""DataSet site to which events should be sent""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - keep_alive_time: NotRequired[float] - r"""How often the sender should ping the peer to keep the connection open""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -15254,32 +15427,26 @@ class CreateOutputSystemByPackOutputServiceNowTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsServiceNowTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsDatasetTypedDict] + api_key: NotRequired[str] + r"""A 'Log Write Access' API key for the DataSet account""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_custom_url: NotRequired[str] + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" -class CreateOutputSystemByPackOutputServiceNow(BaseModel): +class CreateOutputSystemByPackOutputDataset(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeServiceNow - - endpoint: str - r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - - token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] - r"""Select or create a stored text secret""" - - otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - - protocol: ProtocolOptions - r"""Select a transport option for OpenTelemetry""" + type: CreateOutputSystemByPackTypeDataset pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -15295,87 +15462,63 @@ class CreateOutputSystemByPackOutputServiceNow(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( - None - ) + message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None + r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") ] = None - r"""Maximum size, in KB, of the request body""" - - compress: Optional[CompressionOptionsDeflateGzip] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" - http_compress: Annotated[ - Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + server_host_field: Annotated[ + Optional[str], pydantic.Field(alias="serverHostField") ] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" - http_traces_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + timestamp_field: Annotated[ + Optional[str], pydantic.Field(alias="timestampField") ] = None - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" - http_metrics_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") + default_severity: Annotated[ + Optional[CreateOutputSystemByPackSeverityDataset], + pydantic.Field(alias="defaultSeverity"), ] = None - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - http_logs_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - - metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: Annotated[ - Optional[str], pydantic.Field(alias="dynamicHeadersField") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + site: Optional[CreateOutputSystemByPackDataSetSite] = None + r"""DataSet site to which events should be sent""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - keep_alive_time: Annotated[ - Optional[float], pydantic.Field(alias="keepAliveTime") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""How often the sender should ping the peer to keep the connection open""" - - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + r"""Maximum size, in KB, of the request body""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - description: Optional[str] = None + compress: Optional[bool] = None + r"""Compress the payload body before sending""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -15385,10 +15528,13 @@ class CreateOutputSystemByPackOutputServiceNow(BaseModel): that value will take precedence. """ - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -15396,27 +15542,41 @@ class CreateOutputSystemByPackOutputServiceNow(BaseModel): ] = None r"""Headers to add to all events""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None r"""List of headers that are safe to log in plain text""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""How to handle events when all receivers are exerting backpressure""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") ] = None + r"""Enter API key directly, or select a stored secret""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - tls: Optional[TLSSettingsClientSideTypeExtended] = None + description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -15468,57 +15628,50 @@ class CreateOutputSystemByPackOutputServiceNow(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsServiceNow], + Optional[CreateOutputSystemByPackPqControlsDataset], pydantic.Field(alias="pqControls"), ] = None + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""A 'Log Write Access' API key for the DataSet account""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): - if isinstance(value, str): - try: - return models.OtlpVersionOptions131(value) - except ValueError: - return value - return value + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + ] = None + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.ProtocolOptions(value) - except ValueError: - return value - return value + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("compress") - def serialize_compress(self, value): + template_custom_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_customUrl") + ] = None + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + + @field_serializer("default_severity") + def serialize_default_severity(self, value): if isinstance(value, str): try: - return models.CompressionOptionsDeflateGzip(value) + return models.CreateOutputSystemByPackSeverityDataset(value) except ValueError: return value return value - @field_serializer("http_compress") - def serialize_http_compress(self, value): + @field_serializer("site") + def serialize_site(self, value): if isinstance(value, str): try: - return models.CompressionOptionsMessages(value) + return models.CreateOutputSystemByPackDataSetSite(value) except ValueError: return value return value @@ -15541,6 +15694,15 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAPI(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -15576,33 +15738,31 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "authTokenName", + "messageField", + "excludeFields", + "serverHostField", + "timestampField", + "defaultSeverity", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "site", + "concurrency", "maxPayloadSizeKB", + "maxPayloadEvents", "compress", - "httpCompress", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", - "concurrency", + "rejectUnauthorized", "timeoutSec", "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", + "safeHeaders", "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", - "rejectUnauthorized", - "useRoundRobinDns", - "extraHttpHeaders", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "tls", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15615,9 +15775,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_customUrl", ] ) serialized = handler(self) @@ -15634,52 +15797,30 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeOpenTelemetry(str, Enum): - OPEN_TELEMETRY = "open_telemetry" - - -class CreateOutputSystemByPackOTLPVersionOpenTelemetry( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - - # 0.10.0 - ZERO_DOT_10_DOT_0 = "0.10.0" - # 1.3.1 - ONE_DOT_3_DOT_1 = "1.3.1" - - -class CreateOutputSystemByPackAuthenticationTypeOpenTelemetry( - str, Enum, metaclass=utils.OpenEnumMeta -): - # None - NONE = "none" - # Basic - BASIC = "basic" - # Basic (credentials secret) - CREDENTIALS_SECRET = "credentialsSecret" - # Token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" - # OAuth (text secret) - OAUTH_SECRET = "oauthSecret" +class CreateOutputSystemByPackTypeServiceNow(str, Enum): + SERVICE_NOW = "service_now" -class CreateOutputSystemByPackPqControlsOpenTelemetryTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsServiceNowTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsOpenTelemetry(BaseModel): +class CreateOutputSystemByPackPqControlsServiceNow(BaseModel): pass -class CreateOutputSystemByPackOutputOpenTelemetryTypedDict(TypedDict): +class CreateOutputSystemByPackOutputServiceNowTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeOpenTelemetry + type: CreateOutputSystemByPackTypeServiceNow endpoint: str - r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" + r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" + token_secret: str + r"""Select or create a stored text secret""" + otlp_version: OtlpVersionOptions131 + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + protocol: ProtocolOptions + r"""Select a transport option for OpenTelemetry""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -15688,15 +15829,13 @@ class CreateOutputSystemByPackOutputOpenTelemetryTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - protocol: NotRequired[ProtocolOptions] - r"""Select a transport option for OpenTelemetry""" - otlp_version: NotRequired[CreateOutputSystemByPackOTLPVersionOpenTelemetry] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + auth_token_name: NotRequired[str] + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" compress: NotRequired[CompressionOptionsDeflateGzip] r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" http_compress: NotRequired[CompressionOptionsMessages] r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - auth_type: NotRequired[CreateOutputSystemByPackAuthenticationTypeOpenTelemetry] http_traces_endpoint_override: NotRequired[str] r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" http_metrics_endpoint_override: NotRequired[str] @@ -15711,8 +15850,6 @@ class CreateOutputSystemByPackOutputOpenTelemetryTypedDict(TypedDict): r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] @@ -15728,30 +15865,7 @@ class CreateOutputSystemByPackOutputOpenTelemetryTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - login_url: NotRequired[str] - r"""URL for OAuth""" - secret_param_name: NotRequired[str] - r"""Secret parameter name to pass in request body""" - oauth_text_secret: NotRequired[str] - r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" - token_attribute_name: NotRequired[str] - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - auth_header_expr: NotRequired[str] - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - token_timeout_secs: NotRequired[float] - r"""How often the OAuth token should be refreshed.""" - oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" - oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] - 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.""" + r"""Optional description for this configuration.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -15793,25 +15907,32 @@ class CreateOutputSystemByPackOutputOpenTelemetryTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsOpenTelemetryTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsServiceNowTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_login_url: NotRequired[str] - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" -class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): +class CreateOutputSystemByPackOutputServiceNow(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeOpenTelemetry + type: CreateOutputSystemByPackTypeServiceNow endpoint: str - r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" + r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" + + token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] + r"""Select or create a stored text secret""" + + otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + protocol: ProtocolOptions + r"""Select a transport option for OpenTelemetry""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -15827,14 +15948,14 @@ class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - protocol: Optional[ProtocolOptions] = None - r"""Select a transport option for OpenTelemetry""" + auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( + None + ) - otlp_version: Annotated[ - Optional[CreateOutputSystemByPackOTLPVersionOpenTelemetry], - pydantic.Field(alias="otlpVersion"), + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + r"""Maximum size, in KB, of the request body""" compress: Optional[CompressionOptionsDeflateGzip] = None r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" @@ -15844,11 +15965,6 @@ class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): ] = None r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - auth_type: Annotated[ - Optional[CreateOutputSystemByPackAuthenticationTypeOpenTelemetry], - pydantic.Field(alias="authType"), - ] = None - http_traces_endpoint_override: Annotated[ Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") ] = None @@ -15880,11 +15996,6 @@ class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" @@ -15915,64 +16026,10 @@ class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None - - username: Optional[str] = None - - password: Optional[str] = None - - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") - ] = None - r"""Select or create a secret that references your credentials""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None - r"""URL for OAuth""" - - secret_param_name: Annotated[ - Optional[str], pydantic.Field(alias="secretParamName") - ] = None - r"""Secret parameter name to pass in request body""" - - oauth_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="oauthTextSecret") - ] = None - r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" - - token_attribute_name: Annotated[ - Optional[str], pydantic.Field(alias="tokenAttributeName") - ] = None - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - - auth_header_expr: Annotated[ - Optional[str], pydantic.Field(alias="authHeaderExpr") - ] = None - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - - token_timeout_secs: Annotated[ - Optional[float], pydantic.Field(alias="tokenTimeoutSecs") - ] = None - r"""How often the OAuth token should be refreshed.""" - - oauth_params: Annotated[ - Optional[List[OauthParamConfInputServicenowTable]], - pydantic.Field(alias="oauthParams"), - ] = None - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + r"""How to handle events when all receivers are exerting backpressure""" - oauth_headers: Annotated[ - Optional[List[OauthHeaderConfInputServicenowTable]], - pydantic.Field(alias="oauthHeaders"), - ] = None - 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.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -16065,7 +16122,7 @@ class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsOpenTelemetry], + Optional[CreateOutputSystemByPackPqControlsServiceNow], pydantic.Field(alias="pqControls"), ] = None @@ -16084,25 +16141,20 @@ class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_login_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_loginUrl") - ] = None - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - - @field_serializer("protocol") - def serialize_protocol(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.ProtocolOptions(value) + return models.OtlpVersionOptions131(value) except ValueError: return value return value - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackOTLPVersionOpenTelemetry(value) + return models.ProtocolOptions(value) except ValueError: return value return value @@ -16125,17 +16177,6 @@ def serialize_http_compress(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackAuthenticationTypeOpenTelemetry( - value - ) - except ValueError: - return value - return value - @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -16146,248 +16187,37 @@ def serialize_failed_request_logging_mode(self, value): return value @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "protocol", - "otlpVersion", - "compress", - "httpCompress", - "authType", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", - "concurrency", - "maxPayloadSizeKB", - "timeoutSec", - "flushPeriodSec", - "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", - "onBackpressure", - "description", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "loginUrl", - "secretParamName", - "oauthTextSecret", - "tokenAttributeName", - "authHeaderExpr", - "tokenTimeoutSecs", - "oauthParams", - "oauthHeaders", - "rejectUnauthorized", - "useRoundRobinDns", - "extraHttpHeaders", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "tls", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_loginUrl", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackTypeRing(str, Enum): - RING = "ring" - - -class CreateOutputSystemByPackDataFormatRing(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Format of the output data.""" - - JSON = "json" - RAW = "raw" - - -class CreateOutputSystemByPackOutputRingTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeRing - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - format_: NotRequired[CreateOutputSystemByPackDataFormatRing] - r"""Format of the output data.""" - partition_expr: NotRequired[str] - r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" - max_data_size: NotRequired[str] - r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" - max_data_time: NotRequired[str] - r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" - compress: NotRequired[DataCompressionFormatOptionsPersistence] - dest_path: NotRequired[str] - r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - -class CreateOutputSystemByPackOutputRing(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeRing - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - format_: Annotated[ - Optional[CreateOutputSystemByPackDataFormatRing], pydantic.Field(alias="format") - ] = None - r"""Format of the output data.""" - - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" - - max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None - r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" - - max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None - r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" - - compress: Optional[DataCompressionFormatOptionsPersistence] = None - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackDataFormatRing(value) + return models.ModeOptions(value) except ValueError: return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): if isinstance(value, str): try: - return models.DataCompressionFormatOptionsPersistence(value) + return models.CompressionOptionsPq(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -16400,15 +16230,47 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "format", - "partitionExpr", - "maxDataSize", - "maxDataTime", + "authTokenName", + "maxPayloadSizeKB", "compress", - "destPath", + "httpCompress", + "httpTracesEndpointOverride", + "httpMetricsEndpointOverride", + "httpLogsEndpointOverride", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", + "concurrency", + "timeoutSec", + "flushPeriodSec", + "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", "onBackpressure", "description", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "tls", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", ] ) @@ -16426,15 +16288,24 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypePrometheus(str, Enum): - PROMETHEUS = "prometheus" +class CreateOutputSystemByPackTypeOpenTelemetry(str, Enum): + OPEN_TELEMETRY = "open_telemetry" -class CreateOutputSystemByPackAuthenticationTypePrometheus( +class CreateOutputSystemByPackOTLPVersionOpenTelemetry( str, Enum, metaclass=utils.OpenEnumMeta ): - r"""Remote Write authentication type""" + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + # 0.10.0 + ZERO_DOT_10_DOT_0 = "0.10.0" + # 1.3.1 + ONE_DOT_3_DOT_1 = "1.3.1" + +class CreateOutputSystemByPackAuthenticationTypeOpenTelemetry( + str, Enum, metaclass=utils.OpenEnumMeta +): # None NONE = "none" # Basic @@ -16445,59 +16316,106 @@ class CreateOutputSystemByPackAuthenticationTypePrometheus( TOKEN = "token" # Token (text secret) TEXT_SECRET = "textSecret" - # AWS Signature v4 - AWS_SIGV4 = "aws_sigv4" + # OAuth (text secret) + OAUTH_SECRET = "oauthSecret" -class CreateOutputSystemByPackPqControlsPrometheusTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsOpenTelemetryTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsPrometheus(BaseModel): +class CreateOutputSystemByPackPqControlsOpenTelemetry(BaseModel): pass -class CreateOutputSystemByPackOutputPrometheusTypedDict(TypedDict): +class CreateOutputSystemByPackOutputOpenTelemetryTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypePrometheus - url: str - r"""The endpoint to send metrics to""" + type: CreateOutputSystemByPackTypeOpenTelemetry + endpoint: str + r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - metric_rename_expr: NotRequired[str] - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - send_metadata: NotRequired[bool] - r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" - use_prometheus_histogram_bucket_suffix: NotRequired[bool] - r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" + protocol: NotRequired[ProtocolOptions] + r"""Select a transport option for OpenTelemetry""" + otlp_version: NotRequired[CreateOutputSystemByPackOTLPVersionOpenTelemetry] + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + compress: NotRequired[CompressionOptionsDeflateGzip] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + http_compress: NotRequired[CompressionOptionsMessages] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + auth_type: NotRequired[CreateOutputSystemByPackAuthenticationTypeOpenTelemetry] + http_traces_endpoint_override: NotRequired[str] + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_metrics_endpoint_override: NotRequired[str] + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_logs_endpoint_override: NotRequired[str] + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + dynamic_headers_enabled: NotRequired[bool] + r"""Batch event data upon dynamic metadata (whether presented or not)""" + dynamic_headers_field: NotRequired[str] + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + keep_alive_time: NotRequired[float] + r"""How often the sender should ping the peer to keep the connection open""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + login_url: NotRequired[str] + r"""URL for OAuth""" + secret_param_name: NotRequired[str] + r"""Secret parameter name to pass in request body""" + oauth_text_secret: NotRequired[str] + r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" + token_attribute_name: NotRequired[str] + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + auth_header_expr: NotRequired[str] + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + token_timeout_secs: NotRequired[float] + r"""How often the OAuth token should be refreshed.""" + oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] + 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.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" response_retry_settings: NotRequired[ @@ -16507,13 +16425,7 @@ class CreateOutputSystemByPackOutputPrometheusTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[CreateOutputSystemByPackAuthenticationTypePrometheus] - r"""Remote Write authentication type""" - description: NotRequired[str] - metrics_flush_period_sec: NotRequired[float] - r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" + tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -16536,86 +16448,89 @@ class CreateOutputSystemByPackOutputPrometheusTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsPrometheusTypedDict] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - region: NotRequired[str] - r"""AWS region used to sign Remote Write requests""" - aws_service: NotRequired[str] - r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access Prometheus""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsOpenTelemetryTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_aws_service: NotRequired[str] - r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_login_url: NotRequired[str] + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" -class CreateOutputSystemByPackOutputPrometheus(BaseModel): +class CreateOutputSystemByPackOutputOpenTelemetry(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypePrometheus + type: CreateOutputSystemByPackTypeOpenTelemetry + + endpoint: str + r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + protocol: Optional[ProtocolOptions] = None + r"""Select a transport option for OpenTelemetry""" + + otlp_version: Annotated[ + Optional[CreateOutputSystemByPackOTLPVersionOpenTelemetry], + pydantic.Field(alias="otlpVersion"), + ] = None + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - url: str - r"""The endpoint to send metrics to""" + compress: Optional[CompressionOptionsDeflateGzip] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + http_compress: Annotated[ + Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + ] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + auth_type: Annotated[ + Optional[CreateOutputSystemByPackAuthenticationTypeOpenTelemetry], + pydantic.Field(alias="authType"), ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + http_traces_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + ] = None + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + http_metrics_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") + ] = None + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - metric_rename_expr: Annotated[ - Optional[str], pydantic.Field(alias="metricRenameExpr") + http_logs_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") ] = None - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( - None - ) - r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" + metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - use_prometheus_histogram_bucket_suffix: Annotated[ - Optional[bool], pydantic.Field(alias="usePrometheusHistogramBucketSuffix") + dynamic_headers_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") ] = None - r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" + r"""Batch event data upon dynamic metadata (whether presented or not)""" + + dynamic_headers_field: Annotated[ + Optional[str], pydantic.Field(alias="dynamicHeadersField") + ] = None + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -16625,10 +16540,95 @@ class CreateOutputSystemByPackOutputPrometheus(BaseModel): ] = None r"""Maximum size, in KB, of the request body""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = None + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + + keep_alive_time: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTime") + ] = None + r"""How often the sender should ping the peer to keep the connection open""" + + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None + r"""URL for OAuth""" + + secret_param_name: Annotated[ + Optional[str], pydantic.Field(alias="secretParamName") + ] = None + r"""Secret parameter name to pass in request body""" + + oauth_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="oauthTextSecret") + ] = None + r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" + + token_attribute_name: Annotated[ + Optional[str], pydantic.Field(alias="tokenAttributeName") + ] = None + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + + auth_header_expr: Annotated[ + Optional[str], pydantic.Field(alias="authHeaderExpr") + ] = None + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + + token_timeout_secs: Annotated[ + Optional[float], pydantic.Field(alias="tokenTimeoutSecs") + ] = None + r"""How often the OAuth token should be refreshed.""" + + oauth_params: Annotated[ + Optional[List[OauthParamConfInputServicenowTable]], + pydantic.Field(alias="oauthParams"), + ] = None + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + + oauth_headers: Annotated[ + Optional[List[OauthHeaderConfInputServicenowTable]], + pydantic.Field(alias="oauthHeaders"), + ] = None + 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.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -16638,13 +16638,10 @@ class CreateOutputSystemByPackOutputPrometheus(BaseModel): that value will take precedence. """ - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -16652,17 +16649,6 @@ class CreateOutputSystemByPackOutputPrometheus(BaseModel): ] = None r"""Headers to add to all events""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None @@ -16683,23 +16669,7 @@ class CreateOutputSystemByPackOutputPrometheus(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - auth_type: Annotated[ - Optional[CreateOutputSystemByPackAuthenticationTypePrometheus], - pydantic.Field(alias="authType"), - ] = None - r"""Remote Write authentication type""" - - description: Optional[str] = None - - metrics_flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="metricsFlushPeriodSec") - ] = None - r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" + tls: Optional[TLSSettingsClientSideTypeExtended] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -16751,70 +16721,15 @@ class CreateOutputSystemByPackOutputPrometheus(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsPrometheus], + Optional[CreateOutputSystemByPackPqControlsOpenTelemetry], pydantic.Field(alias="pqControls"), ] = None - username: Optional[str] = None - - password: Optional[str] = None - - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") - ] = None - r"""Select or create a secret that references your credentials""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsAutoSecret], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - region: Optional[str] = None - r"""AWS region used to sign Remote Write requests""" - - aws_service: Annotated[Optional[str], pydantic.Field(alias="awsService")] = None - r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" - - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") - ] = None - r"""Use Assume Role credentials to access Prometheus""" - - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" - - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" - - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") - ] = None - 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).""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -16825,40 +16740,43 @@ class CreateOutputSystemByPackOutputPrometheus(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_aws_service: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsService") + template_login_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_loginUrl") ] = None - r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") - ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + @field_serializer("protocol") + def serialize_protocol(self, value): + if isinstance(value, str): + try: + return models.ProtocolOptions(value) + except ValueError: + return value + return value - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackOTLPVersionOpenTelemetry(value) + except ValueError: + return value + return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CompressionOptionsDeflateGzip(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("http_compress") + def serialize_http_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptionsMessages(value) except ValueError: return value return value @@ -16867,13 +16785,31 @@ def serialize_on_backpressure(self, value): def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackAuthenticationTypePrometheus( + return models.CreateOutputSystemByPackAuthenticationTypeOpenTelemetry( value ) except ValueError: return value return value + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -16901,15 +16837,6 @@ def serialize_pq_on_backpressure(self, value): return value return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAutoSecret(value) - except ValueError: - return value - return value - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -16918,26 +16845,48 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "metricRenameExpr", - "sendMetadata", - "usePrometheusHistogramBucketSuffix", + "protocol", + "otlpVersion", + "compress", + "httpCompress", + "authType", + "httpTracesEndpointOverride", + "httpMetricsEndpointOverride", + "httpLogsEndpointOverride", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", - "maxPayloadEvents", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", + "onBackpressure", + "description", + "username", + "password", + "token", + "credentialsSecret", + "textSecret", + "loginUrl", + "secretParamName", + "oauthTextSecret", + "tokenAttributeName", + "authHeaderExpr", + "tokenTimeoutSecs", + "oauthParams", + "oauthHeaders", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", "safeHeaders", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "description", - "metricsFlushPeriodSec", + "tls", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -16950,27 +16899,175 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "awsAuthenticationMethod", - "awsSecret", - "region", - "awsService", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_loginUrl", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackTypeRing(str, Enum): + RING = "ring" + + +class CreateOutputSystemByPackDataFormatRing(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Format of the output data.""" + + JSON = "json" + RAW = "raw" + + +class CreateOutputSystemByPackOutputRingTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeRing + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + format_: NotRequired[CreateOutputSystemByPackDataFormatRing] + r"""Format of the output data.""" + partition_expr: NotRequired[str] + r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" + max_data_size: NotRequired[str] + r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" + max_data_time: NotRequired[str] + r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" + compress: NotRequired[DataCompressionFormatOptionsPersistence] + dest_path: NotRequired[str] + r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + +class CreateOutputSystemByPackOutputRing(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeRing + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + format_: Annotated[ + Optional[CreateOutputSystemByPackDataFormatRing], pydantic.Field(alias="format") + ] = None + r"""Format of the output data.""" + + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" + + max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None + r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" + + max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None + r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" + + compress: Optional[DataCompressionFormatOptionsPersistence] = None + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackDataFormatRing(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.DataCompressionFormatOptionsPersistence(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptionsBlockDrop(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "format", + "partitionExpr", + "maxDataSize", + "maxDataTime", + "compress", + "destPath", + "onBackpressure", + "description", + "__template_streamtags", "__template_onBackpressure", - "__template_region", - "__template_awsService", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", ] ) serialized = handler(self) @@ -16987,47 +17084,63 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeLoki(str, Enum): - LOKI = "loki" +class CreateOutputSystemByPackTypePrometheus(str, Enum): + PROMETHEUS = "prometheus" -class CreateOutputSystemByPackPqControlsLokiTypedDict(TypedDict): +class CreateOutputSystemByPackAuthenticationTypePrometheus( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Remote Write authentication type""" + + # None + NONE = "none" + # Basic + BASIC = "basic" + # Basic (credentials secret) + CREDENTIALS_SECRET = "credentialsSecret" + # Token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" + # AWS Signature v4 + AWS_SIGV4 = "aws_sigv4" + + +class CreateOutputSystemByPackPqControlsPrometheusTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsLoki(BaseModel): +class CreateOutputSystemByPackPqControlsPrometheus(BaseModel): pass -class CreateOutputSystemByPackOutputLokiTypedDict(TypedDict): +class CreateOutputSystemByPackOutputPrometheusTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeLoki + type: CreateOutputSystemByPackTypePrometheus url: str - r"""The endpoint to send logs to""" + r"""The endpoint to send metrics to""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - message: NotRequired[str] - r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - message_format: NotRequired[MessageFormatOptions] - r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - labels: NotRequired[List[HTTPDiscoveryHeaderConfInputPrometheusTypedDict]] - r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - auth_type: NotRequired[ - AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret - ] + metric_rename_expr: NotRequired[str] + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" + send_metadata: NotRequired[bool] + r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" + use_prometheus_histogram_bucket_suffix: NotRequired[bool] + r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -17036,7 +17149,7 @@ class CreateOutputSystemByPackOutputLokiTypedDict(TypedDict): timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] @@ -17052,25 +17165,14 @@ class CreateOutputSystemByPackOutputLokiTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - enable_dynamic_headers: NotRequired[bool] - r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + auth_type: NotRequired[CreateOutputSystemByPackAuthenticationTypePrometheus] + r"""Remote Write authentication type""" description: NotRequired[str] - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - token: NotRequired[str] - r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - username: NotRequired[str] - r"""Username for authentication""" - password: NotRequired[str] - r"""Password (API key in Grafana Cloud domain) for authentication""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" + r"""Optional description for this configuration.""" + metrics_flush_period_sec: NotRequired[float] + r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -17093,23 +17195,57 @@ class CreateOutputSystemByPackOutputLokiTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsLokiTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsPrometheusTypedDict] + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + region: NotRequired[str] + r"""AWS region used to sign Remote Write requests""" + aws_service: NotRequired[str] + r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access Prometheus""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_aws_service: NotRequired[str] + r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" -class CreateOutputSystemByPackOutputLoki(BaseModel): +class CreateOutputSystemByPackOutputPrometheus(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeLoki + type: CreateOutputSystemByPackTypePrometheus url: str - r"""The endpoint to send logs to""" + r"""The endpoint to send metrics to""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17117,7 +17253,7 @@ class CreateOutputSystemByPackOutputLoki(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -17125,34 +17261,33 @@ class CreateOutputSystemByPackOutputLoki(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - message: Optional[str] = None - r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - - message_format: Annotated[ - Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + metric_rename_expr: Annotated[ + Optional[str], pydantic.Field(alias="metricRenameExpr") ] = None - r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - labels: Optional[List[HTTPDiscoveryHeaderConfInputPrometheus]] = None - r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" + send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( + None + ) + r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" - auth_type: Annotated[ - Optional[AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret], - pydantic.Field(alias="authType"), + use_prometheus_histogram_bucket_suffix: Annotated[ + Optional[bool], pydantic.Field(alias="usePrometheusHistogramBucketSuffix") ] = None + r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -17168,7 +17303,7 @@ class CreateOutputSystemByPackOutputLoki(BaseModel): flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -17207,42 +17342,24 @@ class CreateOutputSystemByPackOutputLoki(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - enable_dynamic_headers: Annotated[ - Optional[bool], pydantic.Field(alias="enableDynamicHeaders") - ] = None - r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + auth_type: Annotated[ + Optional[CreateOutputSystemByPackAuthenticationTypePrometheus], + pydantic.Field(alias="authType"), ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""Remote Write authentication type""" description: Optional[str] = None + r"""Optional description for this configuration.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" - - token: Optional[str] = None - r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - username: Optional[str] = None - r"""Username for authentication""" - - password: Optional[str] = None - r"""Password (API key in Grafana Cloud domain) for authentication""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + metrics_flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="metricsFlushPeriodSec") ] = None - r"""Select or create a secret that references your credentials""" + r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17288,21 +17405,76 @@ class CreateOutputSystemByPackOutputLoki(BaseModel): ] = None r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackPqControlsPrometheus], + pydantic.Field(alias="pqControls"), + ] = None + + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsAutoSecret], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + region: Optional[str] = None + r"""AWS region used to sign Remote Write requests""" + + aws_service: Annotated[Optional[str], pydantic.Field(alias="awsService")] = None + r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access Prometheus""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""External ID to use when assuming role""" - pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsLoki], - pydantic.Field(alias="pqControls"), + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = None + 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).""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -17313,25 +17485,25 @@ class CreateOutputSystemByPackOutputLoki(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("message_format") - def serialize_message_format(self, value): - if isinstance(value, str): - try: - return models.MessageFormatOptions(value) - except ValueError: - return value - return value + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret( - value - ) - except ValueError: - return value - return value + template_aws_service: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsService") + ] = None + r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): @@ -17351,6 +17523,17 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackAuthenticationTypePrometheus( + value + ) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -17378,6 +17561,15 @@ def serialize_pq_on_backpressure(self, value): return value return value + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAutoSecret(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -17386,10 +17578,9 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "message", - "messageFormat", - "labels", - "authType", + "metricRenameExpr", + "sendMetadata", + "usePrometheusHistogramBucketSuffix", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -17403,16 +17594,10 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "enableDynamicHeaders", "onBackpressure", - "totalMemoryLimitKB", + "authType", "description", - "compress", - "token", - "textSecret", - "username", - "password", - "credentialsSecret", + "metricsFlushPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17425,9 +17610,27 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "username", + "password", + "token", + "credentialsSecret", + "textSecret", + "awsAuthenticationMethod", + "awsSecret", + "region", + "awsService", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", "__template_streamtags", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_region", + "__template_awsService", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", ] ) serialized = handler(self) @@ -17444,50 +17647,47 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackOutputGrafanaCloudType2(str, Enum): - GRAFANA_CLOUD = "grafana_cloud" +class CreateOutputSystemByPackTypeLoki(str, Enum): + LOKI = "loki" -class CreateOutputSystemByPackOutputGrafanaCloudPqControls2TypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsLokiTypedDict(TypedDict): pass -class CreateOutputSystemByPackOutputGrafanaCloudPqControls2(BaseModel): +class CreateOutputSystemByPackPqControlsLoki(BaseModel): pass -class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): +class CreateOutputSystemByPackOutputLokiTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackOutputGrafanaCloudType2 - prometheus_url: str - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + type: CreateOutputSystemByPackTypeLoki + url: str + r"""The endpoint to send logs to""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - loki_url: NotRequired[str] - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" message: NotRequired[str] r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" message_format: NotRequired[MessageFormatOptions] r"""Format to use when sending logs to Loki (Protobuf or JSON)""" labels: NotRequired[List[HTTPDiscoveryHeaderConfInputPrometheusTypedDict]] r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - metric_rename_expr: NotRequired[str] - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - prometheus_auth: NotRequired[PrometheusAuthTypeTypedDict] - loki_auth: NotRequired[PrometheusAuthTypeTypedDict] + auth_type: NotRequired[ + AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret + ] concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -17496,7 +17696,7 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] @@ -17512,11 +17712,26 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + enable_dynamic_headers: NotRequired[bool] + r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[bool] - r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" + r"""Compress the payload body before sending""" + token: NotRequired[str] + r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + username: NotRequired[str] + r"""Username for authentication""" + password: NotRequired[str] + r"""Password (API key in Grafana Cloud domain) for authentication""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -17539,29 +17754,23 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[ - CreateOutputSystemByPackOutputGrafanaCloudPqControls2TypedDict - ] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsLokiTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_loki_url: NotRequired[str] - r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" - template_prometheus_url: NotRequired[str] - r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): +class CreateOutputSystemByPackOutputLoki(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackOutputGrafanaCloudType2 + type: CreateOutputSystemByPackTypeLoki - prometheus_url: Annotated[str, pydantic.Field(alias="prometheusUrl")] - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + url: str + r"""The endpoint to send logs to""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -17569,7 +17778,7 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -17577,9 +17786,6 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - loki_url: Annotated[Optional[str], pydantic.Field(alias="lokiUrl")] = None - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" - message: Optional[str] = None r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" @@ -17591,31 +17797,23 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): labels: Optional[List[HTTPDiscoveryHeaderConfInputPrometheus]] = None r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - metric_rename_expr: Annotated[ - Optional[str], pydantic.Field(alias="metricRenameExpr") - ] = None - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - - prometheus_auth: Annotated[ - Optional[PrometheusAuthType], pydantic.Field(alias="prometheusAuth") - ] = None - - loki_auth: Annotated[ - Optional[PrometheusAuthType], pydantic.Field(alias="lokiAuth") + auth_type: Annotated[ + Optional[AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret], + pydantic.Field(alias="authType"), ] = None concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -17631,7 +17829,7 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -17670,15 +17868,43 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + enable_dynamic_headers: Annotated[ + Optional[bool], pydantic.Field(alias="enableDynamicHeaders") + ] = None + r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" + on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[bool] = None - r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" + r"""Compress the payload body before sending""" + + token: Optional[str] = None + r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + username: Optional[str] = None + r"""Username for authentication""" + + password: Optional[str] = None + r"""Password (API key in Grafana Cloud domain) for authentication""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17730,7 +17956,7 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackOutputGrafanaCloudPqControls2], + Optional[CreateOutputSystemByPackPqControlsLoki], pydantic.Field(alias="pqControls"), ] = None @@ -17739,16 +17965,6 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_loki_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_lokiUrl") - ] = None - r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" - - template_prometheus_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_prometheusUrl") - ] = None - r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -17763,7 +17979,18 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): def serialize_message_format(self, value): if isinstance(value, str): try: - return models.MessageFormatOptions(value) + return models.MessageFormatOptions(value) + except ValueError: + return value + return value + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret( + value + ) except ValueError: return value return value @@ -17821,13 +18048,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "lokiUrl", "message", "messageFormat", "labels", - "metricRenameExpr", - "prometheusAuth", - "lokiAuth", + "authType", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -17841,9 +18065,16 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "enableDynamicHeaders", "onBackpressure", + "totalMemoryLimitKB", "description", "compress", + "token", + "textSecret", + "username", + "password", + "credentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17857,8 +18088,6 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_lokiUrl", - "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -17877,24 +18106,24 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackOutputGrafanaCloudType1(str, Enum): +class CreateOutputSystemByPackOutputGrafanaCloudType2(str, Enum): GRAFANA_CLOUD = "grafana_cloud" -class CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict(TypedDict): +class CreateOutputSystemByPackOutputGrafanaCloudPqControls2TypedDict(TypedDict): pass -class CreateOutputSystemByPackOutputGrafanaCloudPqControls1(BaseModel): +class CreateOutputSystemByPackOutputGrafanaCloudPqControls2(BaseModel): pass -class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): +class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackOutputGrafanaCloudType1 - loki_url: str - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" + type: CreateOutputSystemByPackOutputGrafanaCloudType2 + prometheus_url: str + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -17903,8 +18132,8 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - prometheus_url: NotRequired[str] - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + loki_url: NotRequired[str] + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" message: NotRequired[str] r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" message_format: NotRequired[MessageFormatOptions] @@ -17948,6 +18177,7 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[bool] r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: NotRequired[bool] @@ -17973,7 +18203,7 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: NotRequired[ - CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict + CreateOutputSystemByPackOutputGrafanaCloudPqControls2TypedDict ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -17987,14 +18217,14 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(BaseModel): +class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackOutputGrafanaCloudType1 + type: CreateOutputSystemByPackOutputGrafanaCloudType2 - loki_url: Annotated[str, pydantic.Field(alias="lokiUrl")] - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" + prometheus_url: Annotated[str, pydantic.Field(alias="prometheusUrl")] + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -18010,10 +18240,8 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - prometheus_url: Annotated[Optional[str], pydantic.Field(alias="prometheusUrl")] = ( - None - ) - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + loki_url: Annotated[Optional[str], pydantic.Field(alias="lokiUrl")] = None + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" message: Optional[str] = None r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" @@ -18111,6 +18339,7 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[bool] = None r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" @@ -18165,7 +18394,7 @@ class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackOutputGrafanaCloudPqControls1], + Optional[CreateOutputSystemByPackOutputGrafanaCloudPqControls2], pydantic.Field(alias="pqControls"), ] = None @@ -18256,7 +18485,7 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "prometheusUrl", + "lokiUrl", "message", "messageFormat", "labels", @@ -18312,127 +18541,50 @@ def serialize_model(self, handler): return m -CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict = TypeAliasType( - "CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict", - Union[ - CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict, - CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict, - ], -) - - -CreateOutputSystemByPackOutputGrafanaCloudUnion = TypeAliasType( - "CreateOutputSystemByPackOutputGrafanaCloudUnion", - Union[ - CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1, - CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2, - ], -) - - -class CreateOutputSystemByPackTypeDatadog(str, Enum): - DATADOG = "datadog" - - -class CreateOutputSystemByPackSendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The content type to use when sending logs""" - - # text/plain - TEXT = "text" - # application/json - JSON = "json" - - -class CreateOutputSystemByPackSeverityDatadog(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" - - # emergency - EMERGENCY = "emergency" - # alert - ALERT = "alert" - # critical - CRITICAL = "critical" - # error - ERROR = "error" - # warning - WARNING = "warning" - # notice - NOTICE = "notice" - # info - INFO = "info" - # debug - DEBUG = "debug" - - -class CreateOutputSystemByPackDatadogSite(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Datadog site to which events should be sent""" - - # US - US = "us" - # US3 - US3 = "us3" - # US5 - US5 = "us5" - # Europe - EU = "eu" - # US1-FED - FED1 = "fed1" - # AP1 - AP1 = "ap1" - # Custom - CUSTOM = "custom" +class CreateOutputSystemByPackOutputGrafanaCloudType1(str, Enum): + GRAFANA_CLOUD = "grafana_cloud" -class CreateOutputSystemByPackPqControlsDatadogTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsDatadog(BaseModel): +class CreateOutputSystemByPackOutputGrafanaCloudPqControls1(BaseModel): pass -class CreateOutputSystemByPackOutputDatadogTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDatadog + type: CreateOutputSystemByPackOutputGrafanaCloudType1 + loki_url: str + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - content_type: NotRequired[CreateOutputSystemByPackSendLogsAs] - r"""The content type to use when sending logs""" + prometheus_url: NotRequired[str] + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" message: NotRequired[str] r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - source: NotRequired[str] - r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" - host: NotRequired[str] - r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" - service: NotRequired[str] - r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" - tags: NotRequired[List[str]] - r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" - batch_by_tags: NotRequired[bool] - r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" - allow_api_key_from_events: NotRequired[bool] - r"""Allow API key to be set from the event's '__agent_api_key' field""" - severity: NotRequired[CreateOutputSystemByPackSeverityDatadog] - r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" - site: NotRequired[CreateOutputSystemByPackDatadogSite] - r"""Datadog site to which events should be sent""" - send_counters_as_count: NotRequired[bool] - r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" + message_format: NotRequired[MessageFormatOptions] + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + labels: NotRequired[List[HTTPDiscoveryHeaderConfInputPrometheusTypedDict]] + r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" + metric_rename_expr: NotRequired[str] + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" + prometheus_auth: NotRequired[PrometheusAuthTypeTypedDict] + loki_auth: NotRequired[PrometheusAuthTypeTypedDict] concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -18441,7 +18593,7 @@ class CreateOutputSystemByPackOutputDatadogTypedDict(TypedDict): timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] @@ -18459,12 +18611,10 @@ class CreateOutputSystemByPackOutputDatadogTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - custom_url: NotRequired[str] + r"""Optional description for this configuration.""" + compress: NotRequired[bool] + r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -18487,26 +18637,29 @@ class CreateOutputSystemByPackOutputDatadogTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsDatadogTypedDict] - api_key: NotRequired[str] - r"""Organization's API key in Datadog""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[ + CreateOutputSystemByPackOutputGrafanaCloudPqControls1TypedDict + ] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_tags: NotRequired[str] - r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" + template_loki_url: NotRequired[str] + r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" + template_prometheus_url: NotRequired[str] + r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputDatadog(BaseModel): +class CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeDatadog + type: CreateOutputSystemByPackOutputGrafanaCloudType1 + + loki_url: Annotated[str, pydantic.Field(alias="lokiUrl")] + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -18514,7 +18667,7 @@ class CreateOutputSystemByPackOutputDatadog(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -18522,61 +18675,47 @@ class CreateOutputSystemByPackOutputDatadog(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - content_type: Annotated[ - Optional[CreateOutputSystemByPackSendLogsAs], - pydantic.Field(alias="contentType"), - ] = None - r"""The content type to use when sending logs""" + prometheus_url: Annotated[Optional[str], pydantic.Field(alias="prometheusUrl")] = ( + None + ) + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" message: Optional[str] = None r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - source: Optional[str] = None - r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" - - host: Optional[str] = None - r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" - - service: Optional[str] = None - r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" - - tags: Optional[List[str]] = None - r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" + message_format: Annotated[ + Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + ] = None + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - batch_by_tags: Annotated[Optional[bool], pydantic.Field(alias="batchByTags")] = None - r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" + labels: Optional[List[HTTPDiscoveryHeaderConfInputPrometheus]] = None + r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - allow_api_key_from_events: Annotated[ - Optional[bool], pydantic.Field(alias="allowApiKeyFromEvents") + metric_rename_expr: Annotated[ + Optional[str], pydantic.Field(alias="metricRenameExpr") ] = None - r"""Allow API key to be set from the event's '__agent_api_key' field""" - - severity: Optional[CreateOutputSystemByPackSeverityDatadog] = None - r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - site: Optional[CreateOutputSystemByPackDatadogSite] = None - r"""Datadog site to which events should be sent""" + prometheus_auth: Annotated[ + Optional[PrometheusAuthType], pydantic.Field(alias="prometheusAuth") + ] = None - send_counters_as_count: Annotated[ - Optional[bool], pydantic.Field(alias="sendCountersAsCount") + loki_auth: Annotated[ + Optional[PrometheusAuthType], pydantic.Field(alias="lokiAuth") ] = None - r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -18592,7 +18731,7 @@ class CreateOutputSystemByPackOutputDatadog(BaseModel): flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -18636,19 +18775,11 @@ class CreateOutputSystemByPackOutputDatadog(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") - ] = None - r"""Enter API key directly, or select a stored secret""" - - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None + compress: Optional[bool] = None + r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -18700,25 +18831,24 @@ class CreateOutputSystemByPackOutputDatadog(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsDatadog], + Optional[CreateOutputSystemByPackOutputGrafanaCloudPqControls1], pydantic.Field(alias="pqControls"), ] = None - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""Organization's API key in Datadog""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_tags: Annotated[Optional[str], pydantic.Field(alias="__template_tags")] = ( - None - ) - r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" + template_loki_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_lokiUrl") + ] = None + r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" + + template_prometheus_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_prometheusUrl") + ] = None + r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -18730,29 +18860,11 @@ class CreateOutputSystemByPackOutputDatadog(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("content_type") - def serialize_content_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackSendLogsAs(value) - except ValueError: - return value - return value - - @field_serializer("severity") - def serialize_severity(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackSeverityDatadog(value) - except ValueError: - return value - return value - - @field_serializer("site") - def serialize_site(self, value): + @field_serializer("message_format") + def serialize_message_format(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackDatadogSite(value) + return models.MessageFormatOptions(value) except ValueError: return value return value @@ -18775,15 +18887,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAPI(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -18819,21 +18922,16 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "contentType", + "prometheusUrl", "message", - "source", - "host", - "service", - "tags", - "batchByTags", - "allowApiKeyFromEvents", - "severity", - "site", - "sendCountersAsCount", + "messageFormat", + "labels", + "metricRenameExpr", + "prometheusAuth", + "lokiAuth", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", @@ -18845,10 +18943,8 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", - "authType", - "totalMemoryLimitKB", "description", - "customUrl", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -18861,10 +18957,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", - "textSecret", "__template_streamtags", - "__template_tags", + "__template_lokiUrl", + "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", ] @@ -18883,35 +18978,89 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSumoLogic(str, Enum): - SUMO_LOGIC = "sumo_logic" +CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict = TypeAliasType( + "CreateOutputSystemByPackOutputGrafanaCloudUnionTypedDict", + Union[ + CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1TypedDict, + CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2TypedDict, + ], +) -class CreateOutputSystemByPackDataFormatSumoLogic( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Preserve the raw event format instead of JSONifying it""" +CreateOutputSystemByPackOutputGrafanaCloudUnion = TypeAliasType( + "CreateOutputSystemByPackOutputGrafanaCloudUnion", + Union[ + CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud1, + CreateOutputSystemByPackOutputGrafanaCloudGrafanaCloud2, + ], +) - # JSON + +class CreateOutputSystemByPackTypeDatadog(str, Enum): + DATADOG = "datadog" + + +class CreateOutputSystemByPackSendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The content type to use when sending logs""" + + # text/plain + TEXT = "text" + # application/json JSON = "json" - # Raw - RAW = "raw" -class CreateOutputSystemByPackPqControlsSumoLogicTypedDict(TypedDict): +class CreateOutputSystemByPackSeverityDatadog(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + + # emergency + EMERGENCY = "emergency" + # alert + ALERT = "alert" + # critical + CRITICAL = "critical" + # error + ERROR = "error" + # warning + WARNING = "warning" + # notice + NOTICE = "notice" + # info + INFO = "info" + # debug + DEBUG = "debug" + + +class CreateOutputSystemByPackDatadogSite(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Datadog site to which events should be sent""" + + # US + US = "us" + # US3 + US3 = "us3" + # US5 + US5 = "us5" + # Europe + EU = "eu" + # US1-FED + FED1 = "fed1" + # AP1 + AP1 = "ap1" + # Custom + CUSTOM = "custom" + + +class CreateOutputSystemByPackPqControlsDatadogTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSumoLogic(BaseModel): +class CreateOutputSystemByPackPqControlsDatadog(BaseModel): pass -class CreateOutputSystemByPackOutputSumoLogicTypedDict(TypedDict): +class CreateOutputSystemByPackOutputDatadogTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSumoLogic - url: str - r"""Sumo Logic HTTP collector URL to which events should be sent""" + type: CreateOutputSystemByPackTypeDatadog pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -18920,12 +19069,28 @@ class CreateOutputSystemByPackOutputSumoLogicTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - custom_source: NotRequired[str] - r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" - custom_category: NotRequired[str] - r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" - format_: NotRequired[CreateOutputSystemByPackDataFormatSumoLogic] - r"""Preserve the raw event format instead of JSONifying it""" + content_type: NotRequired[CreateOutputSystemByPackSendLogsAs] + r"""The content type to use when sending logs""" + message: NotRequired[str] + r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" + source: NotRequired[str] + r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" + host: NotRequired[str] + r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" + service: NotRequired[str] + r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" + tags: NotRequired[List[str]] + r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" + batch_by_tags: NotRequired[bool] + r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" + allow_api_key_from_events: NotRequired[bool] + r"""Allow API key to be set from the event's '__agent_api_key' field""" + severity: NotRequired[CreateOutputSystemByPackSeverityDatadog] + r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + site: NotRequired[CreateOutputSystemByPackDatadogSite] + r"""Datadog site to which events should be sent""" + send_counters_as_count: NotRequired[bool] + r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -18960,9 +19125,13 @@ class CreateOutputSystemByPackOutputSumoLogicTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -18985,25 +19154,26 @@ class CreateOutputSystemByPackOutputSumoLogicTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSumoLogicTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsDatadogTypedDict] + api_key: NotRequired[str] + r"""Organization's API key in Datadog""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_tags: NotRequired[str] + r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputSumoLogic(BaseModel): +class CreateOutputSystemByPackOutputDatadog(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSumoLogic - - url: str - r"""Sumo Logic HTTP collector URL to which events should be sent""" + type: CreateOutputSystemByPackTypeDatadog pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -19013,25 +19183,51 @@ class CreateOutputSystemByPackOutputSumoLogic(BaseModel): ] = None r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + content_type: Annotated[ + Optional[CreateOutputSystemByPackSendLogsAs], + pydantic.Field(alias="contentType"), + ] = None + r"""The content type to use when sending logs""" + + message: Optional[str] = None + r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" + + source: Optional[str] = None + r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" + + host: Optional[str] = None + r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + service: Optional[str] = None + r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" - custom_source: Annotated[Optional[str], pydantic.Field(alias="customSource")] = None - r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" + tags: Optional[List[str]] = None + r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" - custom_category: Annotated[ - Optional[str], pydantic.Field(alias="customCategory") + batch_by_tags: Annotated[Optional[bool], pydantic.Field(alias="batchByTags")] = None + r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" + + allow_api_key_from_events: Annotated[ + Optional[bool], pydantic.Field(alias="allowApiKeyFromEvents") ] = None - r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" + r"""Allow API key to be set from the event's '__agent_api_key' field""" - format_: Annotated[ - Optional[CreateOutputSystemByPackDataFormatSumoLogic], - pydantic.Field(alias="format"), + severity: Optional[CreateOutputSystemByPackSeverityDatadog] = None + r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + + site: Optional[CreateOutputSystemByPackDatadogSite] = None + r"""Datadog site to which events should be sent""" + + send_counters_as_count: Annotated[ + Optional[bool], pydantic.Field(alias="sendCountersAsCount") ] = None - r"""Preserve the raw event format instead of JSONifying it""" + r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -19107,12 +19303,20 @@ class CreateOutputSystemByPackOutputSumoLogic(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + ] = None + r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: Annotated[ Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -19164,19 +19368,25 @@ class CreateOutputSystemByPackOutputSumoLogic(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSumoLogic], + Optional[CreateOutputSystemByPackPqControlsDatadog], pydantic.Field(alias="pqControls"), ] = None + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""Organization's API key in Datadog""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + template_tags: Annotated[Optional[str], pydantic.Field(alias="__template_tags")] = ( None ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -19188,11 +19398,29 @@ class CreateOutputSystemByPackOutputSumoLogic(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("content_type") + def serialize_content_type(self, value): if isinstance(value, str): try: - return models.CreateOutputSystemByPackDataFormatSumoLogic(value) + return models.CreateOutputSystemByPackSendLogsAs(value) + except ValueError: + return value + return value + + @field_serializer("severity") + def serialize_severity(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackSeverityDatadog(value) + except ValueError: + return value + return value + + @field_serializer("site") + def serialize_site(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackDatadogSite(value) except ValueError: return value return value @@ -19215,6 +19443,15 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAPI(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -19250,9 +19487,17 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "customSource", - "customCategory", - "format", + "contentType", + "message", + "source", + "host", + "service", + "tags", + "batchByTags", + "allowApiKeyFromEvents", + "severity", + "site", + "sendCountersAsCount", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -19268,8 +19513,10 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", + "authType", "totalMemoryLimitKB", "description", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -19282,158 +19529,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackTypeSnmp(str, Enum): - SNMP = "snmp" - - -class CreateOutputSystemByPackHostSnmpTypedDict(TypedDict): - host: str - r"""Destination host""" - port: float - r"""Destination port, default is 162""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - - -class CreateOutputSystemByPackHostSnmp(BaseModel): - host: str - r"""Destination host""" - - port: float - r"""Destination port, default is 162""" - - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["__template_host", "__template_port"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackOutputSnmpTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSnmp - hosts: List[CreateOutputSystemByPackHostSnmpTypedDict] - r"""One or more SNMP destinations to forward traps to""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" - enable_ip_spoofing: NotRequired[bool] - r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - description: NotRequired[str] - max_record_size: NotRequired[float] - r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - -class CreateOutputSystemByPackOutputSnmp(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeSnmp - - hosts: List[CreateOutputSystemByPackHostSnmp] - r"""One or more SNMP destinations to forward traps to""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" - - enable_ip_spoofing: Annotated[ - Optional[bool], pydantic.Field(alias="enableIpSpoofing") - ] = None - r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - - description: Optional[str] = None - - max_record_size: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSize") - ] = None - r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "enableIpSpoofing", - "description", - "maxRecordSize", - "__template_streamtags", + "__template_tags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", ] ) serialized = handler(self) @@ -19450,35 +19551,35 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSqs(str, Enum): - SQS = "sqs" +class CreateOutputSystemByPackTypeSumoLogic(str, Enum): + SUMO_LOGIC = "sumo_logic" -class CreateOutputSystemByPackQueueType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The queue type used (or created). Defaults to Standard.""" +class CreateOutputSystemByPackDataFormatSumoLogic( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Preserve the raw event format instead of JSONifying it""" - # Standard - STANDARD = "standard" - # FIFO - FIFO = "fifo" + # JSON + JSON = "json" + # Raw + RAW = "raw" -class CreateOutputSystemByPackPqControlsSqsTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsSumoLogicTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSqs(BaseModel): +class CreateOutputSystemByPackPqControlsSumoLogic(BaseModel): pass -class CreateOutputSystemByPackOutputSqsTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSumoLogicTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSqs - queue_name: str - r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" - queue_type: CreateOutputSystemByPackQueueType - r"""The queue type used (or created). Defaults to Standard.""" + type: CreateOutputSystemByPackTypeSumoLogic + url: str + r"""Sumo Logic HTTP collector URL to which events should be sent""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -19487,45 +19588,50 @@ class CreateOutputSystemByPackOutputSqsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_account_id: NotRequired[str] - r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" - message_group_id: NotRequired[str] - r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" - create_queue: NotRequired[bool] - r"""Create queue if it does not exist.""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret_key: NotRequired[str] - region: NotRequired[str] - r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" - endpoint: NotRequired[str] - r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" + custom_source: NotRequired[str] + r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" + custom_category: NotRequired[str] + r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" + format_: NotRequired[CreateOutputSystemByPackDataFormatSumoLogic] + r"""Preserve the raw event format instead of JSONifying it""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access SQS""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - max_queue_size: NotRequired[float] - r"""Maximum number of queued batches before blocking.""" - max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - max_in_progress: NotRequired[float] - r"""The maximum number of in-progress API requests before backpressure is applied.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -19548,46 +19654,25 @@ class CreateOutputSystemByPackOutputSqsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSqsTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSumoLogicTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_queue_name: NotRequired[str] - r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" - template_queue_type: NotRequired[str] - r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" - template_aws_account_id: NotRequired[str] - r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" - template_message_group_id: NotRequired[str] - r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputSystemByPackOutputSqs(BaseModel): +class CreateOutputSystemByPackOutputSumoLogic(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSqs - - queue_name: Annotated[str, pydantic.Field(alias="queueName")] - r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" + type: CreateOutputSystemByPackTypeSumoLogic - queue_type: Annotated[ - CreateOutputSystemByPackQueueType, pydantic.Field(alias="queueType") - ] - r"""The queue type used (or created). Defaults to Standard.""" + url: str + r"""Sumo Logic HTTP collector URL to which events should be sent""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -19603,96 +19688,101 @@ class CreateOutputSystemByPackOutputSqs(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - aws_account_id: Annotated[Optional[str], pydantic.Field(alias="awsAccountId")] = ( - None - ) - r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" + custom_source: Annotated[Optional[str], pydantic.Field(alias="customSource")] = None + r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" - message_group_id: Annotated[ - Optional[str], pydantic.Field(alias="messageGroupId") + custom_category: Annotated[ + Optional[str], pydantic.Field(alias="customCategory") ] = None - r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" - - create_queue: Annotated[Optional[bool], pydantic.Field(alias="createQueue")] = None - r"""Create queue if it does not exist.""" + r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + format_: Annotated[ + Optional[CreateOutputSystemByPackDataFormatSumoLogic], + pydantic.Field(alias="format"), ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + r"""Preserve the raw event format instead of JSONifying it""" - region: Optional[str] = None - r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - endpoint: Optional[str] = None - r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Use Assume Role credentials to access SQS""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""External ID to use when assuming role""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - 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).""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( - None - ) - r"""Maximum number of queued batches before blocking.""" + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - max_in_progress: Annotated[ - Optional[float], pydantic.Field(alias="maxInProgress") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""The maximum number of in-progress API requests before backpressure is applied.""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""How to handle events when all receivers are exerting backpressure""" + + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -19744,7 +19834,7 @@ class CreateOutputSystemByPackOutputSqs(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSqs], + Optional[CreateOutputSystemByPackPqControlsSumoLogic], pydantic.Field(alias="pqControls"), ] = None @@ -19753,114 +19843,255 @@ class CreateOutputSystemByPackOutputSqs(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_queue_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_queueName") - ] = None - r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_queue_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_queueType") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_aws_account_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsAccountId") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_message_group_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_messageGroupId") - ] = None - r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackDataFormatSumoLogic(value) + except ValueError: + return value + return value - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") - ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "customSource", + "customCategory", + "format", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "totalMemoryLimitKB", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_url", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + ] + ) + serialized = handler(self) + m = {} - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackTypeSnmp(str, Enum): + SNMP = "snmp" + + +class CreateOutputSystemByPackHostSnmpTypedDict(TypedDict): + host: str + r"""Destination host""" + port: float + r"""Destination port, default is 162""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + + +class CreateOutputSystemByPackHostSnmp(BaseModel): + host: str + r"""Destination host""" + + port: float + r"""Destination port, default is 162""" + + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["__template_host", "__template_port"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackOutputSnmpTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeSnmp + hosts: List[CreateOutputSystemByPackHostSnmpTypedDict] + r"""One or more SNMP destinations to forward traps to""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" + enable_ip_spoofing: NotRequired[bool] + r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + max_record_size: NotRequired[float] + r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + +class CreateOutputSystemByPackOutputSnmp(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeSnmp + + hosts: List[CreateOutputSystemByPackHostSnmp] + r"""One or more SNMP destinations to forward traps to""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - @field_serializer("queue_type") - def serialize_queue_type(self, value): - if isinstance(value, str): - try: - return models.CreateOutputSystemByPackQueueType(value) - except ValueError: - return value - return value + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value + enable_ip_spoofing: Annotated[ + Optional[bool], pydantic.Field(alias="enableIpSpoofing") + ] = None + r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value + description: Optional[str] = None + r"""Optional description for this configuration.""" - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value + max_record_size: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSize") + ] = None + r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -19870,51 +20101,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAccountId", - "messageGroupId", - "createQueue", - "awsAuthenticationMethod", - "awsSecretKey", - "region", - "endpoint", - "reuseConnections", - "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "maxQueueSize", - "maxRecordSizeKB", - "flushPeriodSec", - "maxInProgress", - "onBackpressure", + "dnsResolvePeriodSec", + "enableIpSpoofing", "description", - "awsApiKey", - "awsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "maxRecordSize", "__template_streamtags", - "__template_queueName", - "__template_queueType", - "__template_awsAccountId", - "__template_messageGroupId", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_onBackpressure", - "__template_awsApiKey", ] ) serialized = handler(self) @@ -19931,26 +20122,35 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeSns(str, Enum): - SNS = "sns" +class CreateOutputSystemByPackTypeSqs(str, Enum): + SQS = "sqs" -class CreateOutputSystemByPackPqControlsSnsTypedDict(TypedDict): +class CreateOutputSystemByPackQueueType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The queue type used (or created). Defaults to Standard.""" + + # Standard + STANDARD = "standard" + # FIFO + FIFO = "fifo" + + +class CreateOutputSystemByPackPqControlsSqsTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsSns(BaseModel): +class CreateOutputSystemByPackPqControlsSqs(BaseModel): pass -class CreateOutputSystemByPackOutputSnsTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSqsTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSns - topic_arn: str - r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" - message_group_id: str - r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" + type: CreateOutputSystemByPackTypeSqs + queue_name: str + r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" + queue_type: CreateOutputSystemByPackQueueType + r"""The queue type used (or created). Defaults to Standard.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -19959,30 +20159,43 @@ class CreateOutputSystemByPackOutputSnsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - max_retries: NotRequired[float] - r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" + aws_account_id: NotRequired[str] + r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" + message_group_id: NotRequired[str] + r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" + create_queue: NotRequired[bool] + r"""Create queue if it does not exist.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] r"""AWS authentication method. Choose Auto to use IAM roles.""" aws_secret_key: NotRequired[str] region: NotRequired[str] - r"""Region where the SNS is located""" + r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" endpoint: NotRequired[str] - r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access SNS""" + r"""Use Assume Role credentials to access SQS""" assume_role_arn: NotRequired[str] r"""Amazon Resource Name (ARN) of the role to assume""" assume_role_external_id: NotRequired[str] r"""External ID to use when assuming role""" duration_seconds: NotRequired[float] 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).""" + max_queue_size: NotRequired[float] + r"""Maximum number of queued batches before blocking.""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + max_in_progress: NotRequired[float] + r"""The maximum number of in-progress API requests before backpressure is applied.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -20008,11 +20221,15 @@ class CreateOutputSystemByPackOutputSnsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSnsTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSqsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_arn: NotRequired[str] - r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + template_queue_name: NotRequired[str] + r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" + template_queue_type: NotRequired[str] + r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" + template_aws_account_id: NotRequired[str] + r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" template_message_group_id: NotRequired[str] r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" template_aws_secret_key: NotRequired[str] @@ -20031,17 +20248,19 @@ class CreateOutputSystemByPackOutputSnsTypedDict(TypedDict): r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputSystemByPackOutputSns(BaseModel): +class CreateOutputSystemByPackOutputSqs(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeSns + type: CreateOutputSystemByPackTypeSqs - topic_arn: Annotated[str, pydantic.Field(alias="topicArn")] - r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" + queue_name: Annotated[str, pydantic.Field(alias="queueName")] + r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" - message_group_id: Annotated[str, pydantic.Field(alias="messageGroupId")] - r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" + queue_type: Annotated[ + CreateOutputSystemByPackQueueType, pydantic.Field(alias="queueType") + ] + r"""The queue type used (or created). Defaults to Standard.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -20057,8 +20276,18 @@ class CreateOutputSystemByPackOutputSns(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" + aws_account_id: Annotated[Optional[str], pydantic.Field(alias="awsAccountId")] = ( + None + ) + r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" + + message_group_id: Annotated[ + Optional[str], pydantic.Field(alias="messageGroupId") + ] = None + r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" + + create_queue: Annotated[Optional[bool], pydantic.Field(alias="createQueue")] = None + r"""Create queue if it does not exist.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsS3CollectorConf], @@ -20071,10 +20300,10 @@ class CreateOutputSystemByPackOutputSns(BaseModel): ) region: Optional[str] = None - r"""Region where the SNS is located""" + r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" endpoint: Optional[str] = None - r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" reuse_connections: Annotated[ Optional[bool], pydantic.Field(alias="reuseConnections") @@ -20089,7 +20318,7 @@ class CreateOutputSystemByPackOutputSns(BaseModel): enable_assume_role: Annotated[ Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Use Assume Role credentials to access SNS""" + r"""Use Assume Role credentials to access SQS""" assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( None @@ -20106,12 +20335,33 @@ class CreateOutputSystemByPackOutputSns(BaseModel): ] = None 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).""" + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking.""" + + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") + ] = None + r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + + max_in_progress: Annotated[ + Optional[float], pydantic.Field(alias="maxInProgress") + ] = None + r"""The maximum number of in-progress API requests before backpressure is applied.""" + on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -20168,7 +20418,7 @@ class CreateOutputSystemByPackOutputSns(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsSns], + Optional[CreateOutputSystemByPackPqControlsSqs], pydantic.Field(alias="pqControls"), ] = None @@ -20177,10 +20427,20 @@ class CreateOutputSystemByPackOutputSns(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_topicArn") + template_queue_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_queueName") ] = None - r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" + + template_queue_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_queueType") + ] = None + r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" + + template_aws_account_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsAccountId") + ] = None + r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" template_message_group_id: Annotated[ Optional[str], pydantic.Field(alias="__template_messageGroupId") @@ -20222,6 +20482,15 @@ class CreateOutputSystemByPackOutputSns(BaseModel): ] = None r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + @field_serializer("queue_type") + def serialize_queue_type(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackQueueType(value) + except ValueError: + return value + return value + @field_serializer("aws_authentication_method") def serialize_aws_authentication_method(self, value): if isinstance(value, str): @@ -20275,7 +20544,9 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "maxRetries", + "awsAccountId", + "messageGroupId", + "createQueue", "awsAuthenticationMethod", "awsSecretKey", "region", @@ -20286,6 +20557,10 @@ def serialize_model(self, handler): "assumeRoleArn", "assumeRoleExternalId", "durationSeconds", + "maxQueueSize", + "maxRecordSizeKB", + "flushPeriodSec", + "maxInProgress", "onBackpressure", "description", "awsApiKey", @@ -20303,7 +20578,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_topicArn", + "__template_queueName", + "__template_queueType", + "__template_awsAccountId", "__template_messageGroupId", "__template_awsSecretKey", "__template_region", @@ -20328,148 +20605,26 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeRouter(str, Enum): - ROUTER = "router" - - -class CreateOutputSystemByPackRuleTypedDict(TypedDict): - filter_: str - r"""JavaScript expression to select events to send to output""" - output: str - r"""Output to send matching events to""" - description: NotRequired[str] - r"""Description of this rule's purpose""" - final: NotRequired[bool] - r"""Flag to control whether to stop the event from being checked against other rules""" - - -class CreateOutputSystemByPackRule(BaseModel): - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""JavaScript expression to select events to send to output""" - - output: str - r"""Output to send matching events to""" - - description: Optional[str] = None - r"""Description of this rule's purpose""" - - final: Optional[bool] = None - r"""Flag to control whether to stop the event from being checked against other rules""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["description", "final"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackOutputRouterTypedDict(TypedDict): - id: str - r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeRouter - rules: List[CreateOutputSystemByPackRuleTypedDict] - r"""Event routing rules""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - description: NotRequired[str] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - -class CreateOutputSystemByPackOutputRouter(BaseModel): - id: str - r"""Unique ID for this output""" - - type: CreateOutputSystemByPackTypeRouter - - rules: List[CreateOutputSystemByPackRule] - r"""Event routing rules""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - description: Optional[str] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "pipeline", - "systemFields", - "environment", - "streamtags", - "description", - "__template_streamtags", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class CreateOutputSystemByPackTypeGraphite(str, Enum): - GRAPHITE = "graphite" +class CreateOutputSystemByPackTypeSns(str, Enum): + SNS = "sns" -class CreateOutputSystemByPackPqControlsGraphiteTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsSnsTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsGraphite(BaseModel): +class CreateOutputSystemByPackPqControlsSns(BaseModel): pass -class CreateOutputSystemByPackOutputGraphiteTypedDict(TypedDict): +class CreateOutputSystemByPackOutputSnsTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeGraphite - protocol: DestinationProtocolOptions - r"""Protocol to use when communicating with the destination.""" - host: str - r"""The hostname of the destination.""" - port: float - r"""Destination port.""" + type: CreateOutputSystemByPackTypeSns + topic_arn: str + r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" + message_group_id: str + r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] @@ -20478,21 +20633,34 @@ class CreateOutputSystemByPackOutputGraphiteTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - mtu: NotRequired[float] - r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" - flush_period_sec: NotRequired[float] - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" - dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" - description: NotRequired[str] - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + max_retries: NotRequired[float] + r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret_key: NotRequired[str] + region: NotRequired[str] + r"""Region where the SNS is located""" + endpoint: NotRequired[str] + r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access SNS""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -20515,27 +20683,40 @@ class CreateOutputSystemByPackOutputGraphiteTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsGraphiteTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsSnsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_topic_arn: NotRequired[str] + r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + template_message_group_id: NotRequired[str] + r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" -class CreateOutputSystemByPackOutputGraphite(BaseModel): +class CreateOutputSystemByPackOutputSns(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeGraphite - - protocol: DestinationProtocolOptions - r"""Protocol to use when communicating with the destination.""" + type: CreateOutputSystemByPackTypeSns - host: str - r"""The hostname of the destination.""" + topic_arn: Annotated[str, pydantic.Field(alias="topicArn")] + r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" - port: float - r"""Destination port.""" + message_group_id: Annotated[str, pydantic.Field(alias="messageGroupId")] + r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -20551,41 +20732,68 @@ class CreateOutputSystemByPackOutputGraphite(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - mtu: Optional[float] = None - r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + r"""AWS authentication method. Choose Auto to use IAM roles.""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) - description: Optional[str] = None + region: Optional[str] = None + r"""Region where the SNS is located""" + + endpoint: Optional[str] = None + r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Use Assume Role credentials to access SNS""" - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( None ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -20636,7 +20844,7 @@ class CreateOutputSystemByPackOutputGraphite(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsGraphite], + Optional[CreateOutputSystemByPackPqControlsSns], pydantic.Field(alias="pqControls"), ] = None @@ -20645,16 +20853,56 @@ class CreateOutputSystemByPackOutputGraphite(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_topic_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_topicArn") + ] = None + r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + + template_message_group_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_messageGroupId") + ] = None + r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" + + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - @field_serializer("protocol") - def serialize_protocol(self, value): + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.DestinationProtocolOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -20703,14 +20951,21 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "mtu", - "flushPeriodSec", - "dnsResolvePeriodSec", - "description", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", + "maxRetries", + "awsAuthenticationMethod", + "awsSecretKey", + "region", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", "onBackpressure", + "description", + "awsApiKey", + "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -20724,7 +20979,15 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_topicArn", + "__template_messageGroupId", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_onBackpressure", + "__template_awsApiKey", ] ) serialized = handler(self) @@ -20741,22 +21004,144 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeStatsdExt(str, Enum): - STATSD_EXT = "statsd_ext" +class CreateOutputSystemByPackTypeRouter(str, Enum): + ROUTER = "router" -class CreateOutputSystemByPackPqControlsStatsdExtTypedDict(TypedDict): +class CreateOutputSystemByPackRuleTypedDict(TypedDict): + filter_: str + r"""JavaScript expression to select events to send to output""" + output: str + r"""Output to send matching events to""" + description: NotRequired[str] + r"""Description of this rule's purpose""" + final: NotRequired[bool] + r"""Flag to control whether to stop the event from being checked against other rules""" + + +class CreateOutputSystemByPackRule(BaseModel): + filter_: Annotated[str, pydantic.Field(alias="filter")] + r"""JavaScript expression to select events to send to output""" + + output: str + r"""Output to send matching events to""" + + description: Optional[str] = None + r"""Description of this rule's purpose""" + + final: Optional[bool] = None + r"""Flag to control whether to stop the event from being checked against other rules""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["description", "final"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackOutputRouterTypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackTypeRouter + rules: List[CreateOutputSystemByPackRuleTypedDict] + r"""Event routing rules""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + +class CreateOutputSystemByPackOutputRouter(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackTypeRouter + + rules: List[CreateOutputSystemByPackRule] + r"""Event routing rules""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "description", + "__template_streamtags", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackTypeGraphite(str, Enum): + GRAPHITE = "graphite" + + +class CreateOutputSystemByPackPqControlsGraphiteTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsStatsdExt(BaseModel): +class CreateOutputSystemByPackPqControlsGraphite(BaseModel): pass -class CreateOutputSystemByPackOutputStatsdExtTypedDict(TypedDict): +class CreateOutputSystemByPackOutputGraphiteTypedDict(TypedDict): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeStatsdExt + type: CreateOutputSystemByPackTypeGraphite protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" host: str @@ -20778,6 +21163,7 @@ class CreateOutputSystemByPackOutputStatsdExtTypedDict(TypedDict): dns_resolve_period_sec: NotRequired[float] r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] + r"""Optional description for this configuration.""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" connection_timeout: NotRequired[float] @@ -20808,18 +21194,18 @@ class CreateOutputSystemByPackOutputStatsdExtTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[CreateOutputSystemByPackPqControlsStatsdExtTypedDict] + pq_controls: NotRequired[CreateOutputSystemByPackPqControlsGraphiteTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" -class CreateOutputSystemByPackOutputStatsdExt(BaseModel): +class CreateOutputSystemByPackOutputGraphite(BaseModel): id: str r"""Unique ID for this output""" - type: CreateOutputSystemByPackTypeStatsdExt + type: CreateOutputSystemByPackTypeGraphite protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" @@ -20858,6 +21244,7 @@ class CreateOutputSystemByPackOutputStatsdExt(BaseModel): r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: Optional[str] = None + r"""Optional description for this configuration.""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") @@ -20929,7 +21316,7 @@ class CreateOutputSystemByPackOutputStatsdExt(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[CreateOutputSystemByPackPqControlsStatsdExt], + Optional[CreateOutputSystemByPackPqControlsGraphite], pydantic.Field(alias="pqControls"), ] = None @@ -21034,18 +21421,22 @@ def serialize_model(self, handler): return m -class CreateOutputSystemByPackTypeStatsd(str, Enum): - STATSD = "statsd" +class CreateOutputSystemByPackTypeStatsdExt(str, Enum): + STATSD_EXT = "statsd_ext" -class CreateOutputSystemByPackPqControlsStatsdTypedDict(TypedDict): +class CreateOutputSystemByPackPqControlsStatsdExtTypedDict(TypedDict): pass -class CreateOutputSystemByPackPqControlsStatsd(BaseModel): +class CreateOutputSystemByPackPqControlsStatsdExt(BaseModel): pass +try: + CreateOutputSystemByPackOutputIbmCloudS3.model_rebuild() +except NameError: + pass try: CreateOutputSystemByPackOutputAlibabaCloudS3.model_rebuild() except NameError: @@ -21246,7 +21637,3 @@ class CreateOutputSystemByPackPqControlsStatsd(BaseModel): CreateOutputSystemByPackOutputGraphite.model_rebuild() except NameError: pass -try: - CreateOutputSystemByPackOutputStatsdExt.model_rebuild() -except NameError: - pass diff --git a/src/cribl_control_plane/models/createoutputsystembypack_request.py b/src/cribl_control_plane/models/createoutputsystembypack_request.py index d2807e095..c33f9dc26 100644 --- a/src/cribl_control_plane/models/createoutputsystembypack_request.py +++ b/src/cribl_control_plane/models/createoutputsystembypack_request.py @@ -1,7 +1,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .createoutputsystembypack_outputwebhook_webhook_1 import ( +from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .compressionoptionspq import CompressionOptionsPq +from .createoutputsystembypack_outputwebhook_authentication_type_1 import ( CreateOutputSystemByPackOutputAzureBlob, CreateOutputSystemByPackOutputAzureBlobTypedDict, CreateOutputSystemByPackOutputAzureDataExplorer, @@ -63,6 +65,8 @@ CreateOutputSystemByPackOutputSplunkLbTypedDict, CreateOutputSystemByPackOutputSplunkTypedDict, CreateOutputSystemByPackOutputStatsd, + CreateOutputSystemByPackOutputStatsdExt, + CreateOutputSystemByPackOutputStatsdExtTypedDict, CreateOutputSystemByPackOutputStatsdTypedDict, CreateOutputSystemByPackOutputSyslog, CreateOutputSystemByPackOutputSyslogTypedDict, @@ -70,14 +74,15 @@ CreateOutputSystemByPackOutputTcpjsonTypedDict, CreateOutputSystemByPackOutputWavefront, CreateOutputSystemByPackOutputWavefrontTypedDict, - CreateOutputSystemByPackOutputWebhookWebhook1, - CreateOutputSystemByPackOutputWebhookWebhook1TypedDict, + CreateOutputSystemByPackOutputWebhookAuthenticationType1, + CreateOutputSystemByPackOutputWebhookFormat1, + CreateOutputSystemByPackOutputWebhookType1, CreateOutputSystemByPackOutputWebhookWebhook2, CreateOutputSystemByPackOutputWebhookWebhook2TypedDict, CreateOutputSystemByPackOutputWizHec, CreateOutputSystemByPackOutputWizHecTypedDict, ) -from .createoutputsystembypack_pqcontrols_statsd import ( +from .createoutputsystembypack_pqcontrols_statsdext import ( CreateOutputSystemByPackOutputAlibabaCloudS3, CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict, CreateOutputSystemByPackOutputAlphasocS3, @@ -124,6 +129,8 @@ CreateOutputSystemByPackOutputGraphiteTypedDict, CreateOutputSystemByPackOutputHumioHec, CreateOutputSystemByPackOutputHumioHecTypedDict, + CreateOutputSystemByPackOutputIbmCloudS3, + CreateOutputSystemByPackOutputIbmCloudS3TypedDict, CreateOutputSystemByPackOutputLocalSearchStorage, CreateOutputSystemByPackOutputLocalSearchStorageTypedDict, CreateOutputSystemByPackOutputLoki, @@ -156,8 +163,6 @@ CreateOutputSystemByPackOutputSnsTypedDict, CreateOutputSystemByPackOutputSqs, CreateOutputSystemByPackOutputSqsTypedDict, - CreateOutputSystemByPackOutputStatsdExt, - CreateOutputSystemByPackOutputStatsdExtTypedDict, CreateOutputSystemByPackOutputStorjS3, CreateOutputSystemByPackOutputStorjS3TypedDict, CreateOutputSystemByPackOutputSumoLogic, @@ -165,6 +170,35 @@ CreateOutputSystemByPackOutputXsiam, CreateOutputSystemByPackOutputXsiamTypedDict, ) +from .extrahttpheaderconfinputelastic import ( + ExtraHTTPHeaderConfInputElastic, + ExtraHTTPHeaderConfInputElasticTypedDict, +) +from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .methodoptions import MethodOptions +from .modeoptions import ModeOptions +from .oauthheaderconfinputservicenowtable import ( + OauthHeaderConfInputServicenowTable, + OauthHeaderConfInputServicenowTableTypedDict, +) +from .oauthparamconfinputservicenowtable import ( + OauthParamConfInputServicenowTable, + OauthParamConfInputServicenowTableTypedDict, +) +from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .responseretrysettingconfoutputwebhook import ( + ResponseRetrySettingConfOutputWebhook, + ResponseRetrySettingConfOutputWebhookTypedDict, +) +from .timeoutretrysettingstype import ( + TimeoutRetrySettingsType, + TimeoutRetrySettingsTypeTypedDict, +) +from .tlssettingsclientsidetypecapathcertpathextended import ( + TLSSettingsClientSideTypeCaPathCertPathExtended, + TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, +) +from cribl_control_plane import models from cribl_control_plane.types import BaseModel, Nullable, UNSET_SENTINEL from cribl_control_plane.utils import ( FieldMetadata, @@ -174,11 +208,690 @@ ) from enum import Enum import pydantic -from pydantic import Discriminator, Tag, model_serializer +from pydantic import Discriminator, Tag, field_serializer, model_serializer from typing import List, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +class CreateOutputSystemByPackOutputWebhookPqControls1TypedDict(TypedDict): + pass + + +class CreateOutputSystemByPackOutputWebhookPqControls1(BaseModel): + pass + + +class CreateOutputSystemByPackOutputWebhookURL1TypedDict(TypedDict): + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + +class CreateOutputSystemByPackOutputWebhookURL1(BaseModel): + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["weight", "__template_url"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateOutputSystemByPackOutputWebhookWebhook1TypedDict(TypedDict): + id: str + r"""Unique ID for this output""" + type: CreateOutputSystemByPackOutputWebhookType1 + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + method: NotRequired[MethodOptions] + r"""The method to use when sending events""" + format_: NotRequired[CreateOutputSystemByPackOutputWebhookFormat1] + r"""How to format events before sending out""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[CreateOutputSystemByPackOutputWebhookAuthenticationType1] + r"""Authentication method to use for the HTTP request""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_source_expression: NotRequired[str] + r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" + custom_drop_when_null: NotRequired[bool] + r"""Whether to drop events when the source expression evaluates to null""" + custom_event_delimiter: NotRequired[str] + r"""Delimiter string to insert between individual events. Defaults to newline character.""" + custom_content_type: NotRequired[str] + r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" + custom_payload_expression: NotRequired[str] + r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" + advanced_content_type: NotRequired[str] + r"""HTTP content-type header value""" + format_event_code: NotRequired[str] + r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + format_payload_code: NotRequired[str] + r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[CreateOutputSystemByPackOutputWebhookPqControls1TypedDict] + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + login_url: NotRequired[str] + r"""URL for OAuth""" + secret_param_name: NotRequired[str] + r"""Secret parameter name to pass in request body""" + secret: NotRequired[str] + r"""Secret parameter value to pass in request body""" + token_attribute_name: NotRequired[str] + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + auth_header_expr: NotRequired[str] + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + token_timeout_secs: NotRequired[float] + r"""How often the OAuth token should be refreshed.""" + oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] + 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.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[CreateOutputSystemByPackOutputWebhookURL1TypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_login_url: NotRequired[str] + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" + template_secret: NotRequired[str] + r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + +class CreateOutputSystemByPackOutputWebhookWebhook1(BaseModel): + id: str + r"""Unique ID for this output""" + + type: CreateOutputSystemByPackOutputWebhookType1 + + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + method: Optional[MethodOptions] = None + r"""The method to use when sending events""" + + format_: Annotated[ + Optional[CreateOutputSystemByPackOutputWebhookFormat1], + pydantic.Field(alias="format"), + ] = None + r"""How to format events before sending out""" + + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" + + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body""" + + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" + + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + auth_type: Annotated[ + Optional[CreateOutputSystemByPackOutputWebhookAuthenticationType1], + pydantic.Field(alias="authType"), + ] = None + r"""Authentication method to use for the HTTP request""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_source_expression: Annotated[ + Optional[str], pydantic.Field(alias="customSourceExpression") + ] = None + r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" + + custom_drop_when_null: Annotated[ + Optional[bool], pydantic.Field(alias="customDropWhenNull") + ] = None + r"""Whether to drop events when the source expression evaluates to null""" + + custom_event_delimiter: Annotated[ + Optional[str], pydantic.Field(alias="customEventDelimiter") + ] = None + r"""Delimiter string to insert between individual events. Defaults to newline character.""" + + custom_content_type: Annotated[ + Optional[str], pydantic.Field(alias="customContentType") + ] = None + r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" + + custom_payload_expression: Annotated[ + Optional[str], pydantic.Field(alias="customPayloadExpression") + ] = None + r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" + + advanced_content_type: Annotated[ + Optional[str], pydantic.Field(alias="advancedContentType") + ] = None + r"""HTTP content-type header value""" + + format_event_code: Annotated[ + Optional[str], pydantic.Field(alias="formatEventCode") + ] = None + r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + + format_payload_code: Annotated[ + Optional[str], pydantic.Field(alias="formatPayloadCode") + ] = None + r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") + ] = None + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" + + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + ] = None + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[CreateOutputSystemByPackOutputWebhookPqControls1], + pydantic.Field(alias="pqControls"), + ] = None + + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None + r"""URL for OAuth""" + + secret_param_name: Annotated[ + Optional[str], pydantic.Field(alias="secretParamName") + ] = None + r"""Secret parameter name to pass in request body""" + + secret: Optional[str] = None + r"""Secret parameter value to pass in request body""" + + token_attribute_name: Annotated[ + Optional[str], pydantic.Field(alias="tokenAttributeName") + ] = None + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + + auth_header_expr: Annotated[ + Optional[str], pydantic.Field(alias="authHeaderExpr") + ] = None + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + + token_timeout_secs: Annotated[ + Optional[float], pydantic.Field(alias="tokenTimeoutSecs") + ] = None + r"""How often the OAuth token should be refreshed.""" + + oauth_params: Annotated[ + Optional[List[OauthParamConfInputServicenowTable]], + pydantic.Field(alias="oauthParams"), + ] = None + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + + oauth_headers: Annotated[ + Optional[List[OauthHeaderConfInputServicenowTable]], + pydantic.Field(alias="oauthHeaders"), + ] = None + 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.""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + urls: Optional[List[CreateOutputSystemByPackOutputWebhookURL1]] = None + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + ] = None + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + template_login_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_loginUrl") + ] = None + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" + + template_secret: Annotated[ + Optional[str], pydantic.Field(alias="__template_secret") + ] = None + r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + @field_serializer("method") + def serialize_method(self, value): + if isinstance(value, str): + try: + return models.MethodOptions(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackOutputWebhookFormat1(value) + except ValueError: + return value + return value + + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.CreateOutputSystemByPackOutputWebhookAuthenticationType1( + value + ) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "pipeline", + "systemFields", + "environment", + "streamtags", + "method", + "format", + "keepAlive", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "tls", + "totalMemoryLimitKB", + "loadBalanced", + "description", + "customSourceExpression", + "customDropWhenNull", + "customEventDelimiter", + "customContentType", + "customPayloadExpression", + "advancedContentType", + "formatEventCode", + "formatPayloadCode", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "username", + "password", + "token", + "credentialsSecret", + "textSecret", + "loginUrl", + "secretParamName", + "secret", + "tokenAttributeName", + "authHeaderExpr", + "tokenTimeoutSecs", + "oauthParams", + "oauthHeaders", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_loginUrl", + "__template_secret", + "__template_url", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + CreateOutputSystemByPackOutputWebhookUnionTypedDict = TypeAliasType( "CreateOutputSystemByPackOutputWebhookUnionTypedDict", Union[ @@ -345,6 +1058,7 @@ def serialize_model(self, handler): CreateOutputSystemByPackOutputDatabricksTypedDict, CreateOutputSystemByPackOutputMskTypedDict, CreateOutputSystemByPackOutputAlphasocS3TypedDict, + CreateOutputSystemByPackOutputIbmCloudS3TypedDict, CreateOutputSystemByPackOutputStorjS3TypedDict, CreateOutputSystemByPackOutputOpenTelemetryTypedDict, CreateOutputSystemByPackOutputAlibabaCloudS3TypedDict, @@ -483,6 +1197,7 @@ def serialize_model(self, handler): Annotated[ CreateOutputSystemByPackOutputAlibabaCloudS3, Tag("alibaba_cloud_s3") ], + Annotated[CreateOutputSystemByPackOutputIbmCloudS3, Tag("ibm_cloud_s3")], ], Discriminator(lambda m: get_discriminator(m, "type", "type")), ] @@ -509,6 +1224,14 @@ class CreateOutputSystemByPackRequest(BaseModel): r"""Output object.""" +try: + CreateOutputSystemByPackOutputWebhookURL1.model_rebuild() +except NameError: + pass +try: + CreateOutputSystemByPackOutputWebhookWebhook1.model_rebuild() +except NameError: + pass try: CreateOutputSystemByPackOutputDefault.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/deletepacksbyidop.py b/src/cribl_control_plane/models/deletepacksbyidop.py index a1b71b03a..a0363a42b 100644 --- a/src/cribl_control_plane/models/deletepacksbyidop.py +++ b/src/cribl_control_plane/models/deletepacksbyidop.py @@ -8,11 +8,11 @@ class DeletePacksByIDRequestTypedDict(TypedDict): id: str - r"""The id of the Pack to uninstall.""" + r"""The id of the Pack to uninstall. Use the id field from the list response.""" class DeletePacksByIDRequest(BaseModel): id: Annotated[ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) ] - r"""The id of the Pack to uninstall.""" + r"""The id of the Pack to uninstall. Use the id field from the list response.""" diff --git a/src/cribl_control_plane/models/destinationtype.py b/src/cribl_control_plane/models/destinationtype.py index 3ce77fdff..857c52668 100644 --- a/src/cribl_control_plane/models/destinationtype.py +++ b/src/cribl_control_plane/models/destinationtype.py @@ -86,3 +86,4 @@ class DestinationType(str, Enum, metaclass=utils.OpenEnumMeta): CLOUDIAN_S3 = "cloudian_s3" SCALITY_S3 = "scality_s3" ALIBABA_CLOUD_S3 = "alibaba_cloud_s3" + IBM_CLOUD_S3 = "ibm_cloud_s3" diff --git a/src/cribl_control_plane/models/emptyobject.py b/src/cribl_control_plane/models/emptyobject.py index 0337c99e6..af63bbd97 100644 --- a/src/cribl_control_plane/models/emptyobject.py +++ b/src/cribl_control_plane/models/emptyobject.py @@ -6,8 +6,8 @@ class EmptyObjectTypedDict(TypedDict): - pass + r"""An object that must not contain any properties.""" class EmptyObject(BaseModel): - pass + r"""An object that must not contain any properties.""" diff --git a/src/cribl_control_plane/models/functionaggregatemetrics.py b/src/cribl_control_plane/models/functionaggregatemetrics.py index a6f624366..0f58a0d67 100644 --- a/src/cribl_control_plane/models/functionaggregatemetrics.py +++ b/src/cribl_control_plane/models/functionaggregatemetrics.py @@ -10,58 +10,88 @@ class FunctionAggregateMetricsID(str, Enum): + r"""Identifier of the Function. Always aggregate_metrics""" + AGGREGATE_METRICS = "aggregate_metrics" class FunctionAggregateMetricsTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionAggregateMetricsID + r"""Identifier of the Function. Always aggregate_metrics""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionAggregateMetrics(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionAggregateMetricsID + r"""Identifier of the Function. Always aggregate_metrics""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionaggregation.py b/src/cribl_control_plane/models/functionaggregation.py index a3c8ac827..fb32a27fd 100644 --- a/src/cribl_control_plane/models/functionaggregation.py +++ b/src/cribl_control_plane/models/functionaggregation.py @@ -10,58 +10,88 @@ class FunctionAggregationID(str, Enum): + r"""Identifier of the Function. Always aggregation""" + AGGREGATION = "aggregation" class FunctionAggregationTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionAggregationID + r"""Identifier of the Function. Always aggregation""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionAggregation(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionAggregationID + r"""Identifier of the Function. Always aggregation""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionautotimestamp.py b/src/cribl_control_plane/models/functionautotimestamp.py index 1bbeea6f7..11e2152c6 100644 --- a/src/cribl_control_plane/models/functionautotimestamp.py +++ b/src/cribl_control_plane/models/functionautotimestamp.py @@ -10,58 +10,88 @@ class FunctionAutoTimestampID(str, Enum): + r"""Identifier of the Function. Always auto_timestamp""" + AUTO_TIMESTAMP = "auto_timestamp" class FunctionAutoTimestampTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionAutoTimestampID + r"""Identifier of the Function. Always auto_timestamp""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionAutoTimestamp(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionAutoTimestampID + r"""Identifier of the Function. Always auto_timestamp""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functioncef.py b/src/cribl_control_plane/models/functioncef.py index 01417dc5b..d45beda01 100644 --- a/src/cribl_control_plane/models/functioncef.py +++ b/src/cribl_control_plane/models/functioncef.py @@ -10,58 +10,88 @@ class FunctionCefID(str, Enum): + r"""Identifier of the Function. Always cef""" + CEF = "cef" class FunctionCefTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionCefID + r"""Identifier of the Function. Always cef""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionCef(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionCefID + r"""Identifier of the Function. Always cef""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionchain.py b/src/cribl_control_plane/models/functionchain.py index f3613c47f..a155f8460 100644 --- a/src/cribl_control_plane/models/functionchain.py +++ b/src/cribl_control_plane/models/functionchain.py @@ -10,58 +10,88 @@ class FunctionChainID(str, Enum): + r"""Identifier of the Function. Always chain""" + CHAIN = "chain" class FunctionChainTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionChainID + r"""Identifier of the Function. Always chain""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionChain(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionChainID + r"""Identifier of the Function. Always chain""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionclone.py b/src/cribl_control_plane/models/functionclone.py index 155dbd2a3..b80865a9c 100644 --- a/src/cribl_control_plane/models/functionclone.py +++ b/src/cribl_control_plane/models/functionclone.py @@ -10,58 +10,88 @@ class FunctionCloneID(str, Enum): + r"""Identifier of the Function. Always clone""" + CLONE = "clone" class FunctionCloneTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionCloneID + r"""Identifier of the Function. Always clone""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionClone(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionCloneID + r"""Identifier of the Function. Always clone""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functioncode.py b/src/cribl_control_plane/models/functioncode.py index d42cb0437..6d73e7748 100644 --- a/src/cribl_control_plane/models/functioncode.py +++ b/src/cribl_control_plane/models/functioncode.py @@ -10,58 +10,88 @@ class FunctionCodeID(str, Enum): + r"""Identifier of the Function. Always code""" + CODE = "code" class FunctionCodeTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionCodeID + r"""Identifier of the Function. Always code""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionCode(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionCodeID + r"""Identifier of the Function. Always code""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functioncomment.py b/src/cribl_control_plane/models/functioncomment.py index 384ca656d..43d64c40f 100644 --- a/src/cribl_control_plane/models/functioncomment.py +++ b/src/cribl_control_plane/models/functioncomment.py @@ -10,58 +10,88 @@ class FunctionCommentID(str, Enum): + r"""Identifier of the Function. Always comment""" + COMMENT = "comment" class FunctionCommentTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionCommentID + r"""Identifier of the Function. Always comment""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionComment(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionCommentID + r"""Identifier of the Function. Always comment""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functiondistinct.py b/src/cribl_control_plane/models/functiondistinct.py index 23a7f1a0a..286ddd5f0 100644 --- a/src/cribl_control_plane/models/functiondistinct.py +++ b/src/cribl_control_plane/models/functiondistinct.py @@ -10,58 +10,88 @@ class FunctionDistinctID(str, Enum): + r"""Identifier of the Function. Always distinct""" + DISTINCT = "distinct" class FunctionDistinctTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionDistinctID + r"""Identifier of the Function. Always distinct""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionDistinct(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionDistinctID + r"""Identifier of the Function. Always distinct""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functiondnslookup.py b/src/cribl_control_plane/models/functiondnslookup.py index 317fc1773..72c3b3904 100644 --- a/src/cribl_control_plane/models/functiondnslookup.py +++ b/src/cribl_control_plane/models/functiondnslookup.py @@ -10,58 +10,88 @@ class FunctionDNSLookupID(str, Enum): + r"""Identifier of the Function. Always dns_lookup""" + DNS_LOOKUP = "dns_lookup" class FunctionDNSLookupTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionDNSLookupID + r"""Identifier of the Function. Always dns_lookup""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionDNSLookup(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionDNSLookupID + r"""Identifier of the Function. Always dns_lookup""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functiondrop.py b/src/cribl_control_plane/models/functiondrop.py index bfa7e28b8..c03dd66f8 100644 --- a/src/cribl_control_plane/models/functiondrop.py +++ b/src/cribl_control_plane/models/functiondrop.py @@ -10,58 +10,88 @@ class FunctionDropID(str, Enum): + r"""Identifier of the Function. Always drop""" + DROP = "drop" class FunctionDropTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionDropID + r"""Identifier of the Function. Always drop""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionDrop(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionDropID + r"""Identifier of the Function. Always drop""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functiondropdimensions.py b/src/cribl_control_plane/models/functiondropdimensions.py index 9d262272d..0a655ddfe 100644 --- a/src/cribl_control_plane/models/functiondropdimensions.py +++ b/src/cribl_control_plane/models/functiondropdimensions.py @@ -10,58 +10,88 @@ class FunctionDropDimensionsID(str, Enum): + r"""Identifier of the Function. Always drop_dimensions""" + DROP_DIMENSIONS = "drop_dimensions" class FunctionDropDimensionsTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionDropDimensionsID + r"""Identifier of the Function. Always drop_dimensions""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionDropDimensions(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionDropDimensionsID + r"""Identifier of the Function. Always drop_dimensions""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functiondynamicsampling.py b/src/cribl_control_plane/models/functiondynamicsampling.py index f76e21592..5a32ceac6 100644 --- a/src/cribl_control_plane/models/functiondynamicsampling.py +++ b/src/cribl_control_plane/models/functiondynamicsampling.py @@ -10,58 +10,88 @@ class FunctionDynamicSamplingID(str, Enum): + r"""Identifier of the Function. Always dynamic_sampling""" + DYNAMIC_SAMPLING = "dynamic_sampling" class FunctionDynamicSamplingTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionDynamicSamplingID + r"""Identifier of the Function. Always dynamic_sampling""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionDynamicSampling(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionDynamicSamplingID + r"""Identifier of the Function. Always dynamic_sampling""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functioneval.py b/src/cribl_control_plane/models/functioneval.py index dcbf7b408..d7f7c2c2d 100644 --- a/src/cribl_control_plane/models/functioneval.py +++ b/src/cribl_control_plane/models/functioneval.py @@ -10,58 +10,88 @@ class FunctionEvalID(str, Enum): + r"""Identifier of the Function. Always eval""" + EVAL = "eval" class FunctionEvalTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionEvalID + r"""Identifier of the Function. Always eval""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionEval(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionEvalID + r"""Identifier of the Function. Always eval""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functioneventbreaker.py b/src/cribl_control_plane/models/functioneventbreaker.py index b11015020..ac4b6b714 100644 --- a/src/cribl_control_plane/models/functioneventbreaker.py +++ b/src/cribl_control_plane/models/functioneventbreaker.py @@ -10,58 +10,88 @@ class FunctionEventBreakerID(str, Enum): + r"""Identifier of the Function. Always event_breaker""" + EVENT_BREAKER = "event_breaker" class FunctionEventBreakerTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionEventBreakerID + r"""Identifier of the Function. Always event_breaker""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionEventBreaker(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionEventBreakerID + r"""Identifier of the Function. Always event_breaker""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functioneventstats.py b/src/cribl_control_plane/models/functioneventstats.py index 1c91c07d5..d42a7b8fa 100644 --- a/src/cribl_control_plane/models/functioneventstats.py +++ b/src/cribl_control_plane/models/functioneventstats.py @@ -10,58 +10,88 @@ class FunctionEventstatsID(str, Enum): + r"""Identifier of the Function. Always eventstats""" + EVENTSTATS = "eventstats" class FunctionEventstatsTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionEventstatsID + r"""Identifier of the Function. Always eventstats""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionEventstats(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionEventstatsID + r"""Identifier of the Function. Always eventstats""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionexternaldata.py b/src/cribl_control_plane/models/functionexternaldata.py index 6eb247270..861a46a64 100644 --- a/src/cribl_control_plane/models/functionexternaldata.py +++ b/src/cribl_control_plane/models/functionexternaldata.py @@ -10,58 +10,88 @@ class FunctionExternaldataID(str, Enum): + r"""Identifier of the Function. Always externaldata""" + EXTERNALDATA = "externaldata" class FunctionExternaldataTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionExternaldataID + r"""Identifier of the Function. Always externaldata""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionExternaldata(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionExternaldataID + r"""Identifier of the Function. Always externaldata""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionflatten.py b/src/cribl_control_plane/models/functionflatten.py index 1ee336386..c922460fe 100644 --- a/src/cribl_control_plane/models/functionflatten.py +++ b/src/cribl_control_plane/models/functionflatten.py @@ -10,58 +10,88 @@ class FunctionFlattenID(str, Enum): + r"""Identifier of the Function. Always flatten""" + FLATTEN = "flatten" class FunctionFlattenTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionFlattenID + r"""Identifier of the Function. Always flatten""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionFlatten(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionFlattenID + r"""Identifier of the Function. Always flatten""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionfoldkeys.py b/src/cribl_control_plane/models/functionfoldkeys.py index 3b87f4df7..5d660c3ff 100644 --- a/src/cribl_control_plane/models/functionfoldkeys.py +++ b/src/cribl_control_plane/models/functionfoldkeys.py @@ -10,58 +10,88 @@ class FunctionFoldkeysID(str, Enum): + r"""Identifier of the Function. Always foldkeys""" + FOLDKEYS = "foldkeys" class FunctionFoldkeysTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionFoldkeysID + r"""Identifier of the Function. Always foldkeys""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionFoldkeys(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionFoldkeysID + r"""Identifier of the Function. Always foldkeys""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functiongenstats.py b/src/cribl_control_plane/models/functiongenstats.py index 8dbf80326..7d6d16fde 100644 --- a/src/cribl_control_plane/models/functiongenstats.py +++ b/src/cribl_control_plane/models/functiongenstats.py @@ -10,58 +10,88 @@ class FunctionGenStatsID(str, Enum): + r"""Identifier of the Function. Always gen_stats""" + GEN_STATS = "gen_stats" class FunctionGenStatsTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionGenStatsID + r"""Identifier of the Function. Always gen_stats""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionGenStats(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionGenStatsID + r"""Identifier of the Function. Always gen_stats""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functiongeoip.py b/src/cribl_control_plane/models/functiongeoip.py index b7642f5c5..eea1be5c4 100644 --- a/src/cribl_control_plane/models/functiongeoip.py +++ b/src/cribl_control_plane/models/functiongeoip.py @@ -10,58 +10,88 @@ class FunctionGeoipID(str, Enum): + r"""Identifier of the Function. Always geoip""" + GEOIP = "geoip" class FunctionGeoipTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionGeoipID + r"""Identifier of the Function. Always geoip""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionGeoip(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionGeoipID + r"""Identifier of the Function. Always geoip""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functiongrok.py b/src/cribl_control_plane/models/functiongrok.py index c1053b10d..c320107fe 100644 --- a/src/cribl_control_plane/models/functiongrok.py +++ b/src/cribl_control_plane/models/functiongrok.py @@ -10,58 +10,88 @@ class FunctionGrokID(str, Enum): + r"""Identifier of the Function. Always grok""" + GROK = "grok" class FunctionGrokTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionGrokID + r"""Identifier of the Function. Always grok""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionGrok(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionGrokID + r"""Identifier of the Function. Always grok""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionhandlebars.py b/src/cribl_control_plane/models/functionhandlebars.py index ebfe6888e..0f5cec41f 100644 --- a/src/cribl_control_plane/models/functionhandlebars.py +++ b/src/cribl_control_plane/models/functionhandlebars.py @@ -10,58 +10,88 @@ class FunctionHandlebarsID(str, Enum): + r"""Identifier of the Function. Always handlebars""" + HANDLEBARS = "handlebars" class FunctionHandlebarsTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionHandlebarsID + r"""Identifier of the Function. Always handlebars""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionHandlebars(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionHandlebarsID + r"""Identifier of the Function. Always handlebars""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionjoin.py b/src/cribl_control_plane/models/functionjoin.py index a96621b02..e3294047f 100644 --- a/src/cribl_control_plane/models/functionjoin.py +++ b/src/cribl_control_plane/models/functionjoin.py @@ -10,58 +10,88 @@ class FunctionJoinID(str, Enum): + r"""Identifier of the Function. Always join""" + JOIN = "join" class FunctionJoinTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionJoinID + r"""Identifier of the Function. Always join""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionJoin(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionJoinID + r"""Identifier of the Function. Always join""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionjsonunroll.py b/src/cribl_control_plane/models/functionjsonunroll.py index 5da92e14f..a2c65157a 100644 --- a/src/cribl_control_plane/models/functionjsonunroll.py +++ b/src/cribl_control_plane/models/functionjsonunroll.py @@ -10,58 +10,88 @@ class FunctionJSONUnrollID(str, Enum): + r"""Identifier of the Function. Always json_unroll""" + JSON_UNROLL = "json_unroll" class FunctionJSONUnrollTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionJSONUnrollID + r"""Identifier of the Function. Always json_unroll""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionJSONUnroll(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionJSONUnrollID + r"""Identifier of the Function. Always json_unroll""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionlakeexport.py b/src/cribl_control_plane/models/functionlakeexport.py index c4a5c73cb..8e38913f7 100644 --- a/src/cribl_control_plane/models/functionlakeexport.py +++ b/src/cribl_control_plane/models/functionlakeexport.py @@ -10,58 +10,88 @@ class FunctionLakeExportID(str, Enum): + r"""Identifier of the Function. Always lake_export""" + LAKE_EXPORT = "lake_export" class FunctionLakeExportTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLakeExportID + r"""Identifier of the Function. Always lake_export""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionLakeExport(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLakeExportID + r"""Identifier of the Function. Always lake_export""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionlimit.py b/src/cribl_control_plane/models/functionlimit.py index 5916d18aa..f4f245ee0 100644 --- a/src/cribl_control_plane/models/functionlimit.py +++ b/src/cribl_control_plane/models/functionlimit.py @@ -10,58 +10,88 @@ class FunctionLimitID(str, Enum): + r"""Identifier of the Function. Always limit""" + LIMIT = "limit" class FunctionLimitTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLimitID + r"""Identifier of the Function. Always limit""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionLimit(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLimitID + r"""Identifier of the Function. Always limit""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionlocalsearchdatatypeparser.py b/src/cribl_control_plane/models/functionlocalsearchdatatypeparser.py index bf665356a..6001a8732 100644 --- a/src/cribl_control_plane/models/functionlocalsearchdatatypeparser.py +++ b/src/cribl_control_plane/models/functionlocalsearchdatatypeparser.py @@ -10,58 +10,88 @@ class FunctionLocalSearchDatatypeParserID(str, Enum): + r"""Identifier of the Function. Always local_search_datatype_parser""" + LOCAL_SEARCH_DATATYPE_PARSER = "local_search_datatype_parser" class FunctionLocalSearchDatatypeParserTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLocalSearchDatatypeParserID + r"""Identifier of the Function. Always local_search_datatype_parser""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionLocalSearchDatatypeParser(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLocalSearchDatatypeParserID + r"""Identifier of the Function. Always local_search_datatype_parser""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionlocalsearchrulesetrunner.py b/src/cribl_control_plane/models/functionlocalsearchrulesetrunner.py index 9dc275f6d..e004d9200 100644 --- a/src/cribl_control_plane/models/functionlocalsearchrulesetrunner.py +++ b/src/cribl_control_plane/models/functionlocalsearchrulesetrunner.py @@ -10,58 +10,88 @@ class FunctionLocalSearchRulesetRunnerID(str, Enum): + r"""Identifier of the Function. Always local_search_ruleset_runner""" + LOCAL_SEARCH_RULESET_RUNNER = "local_search_ruleset_runner" class FunctionLocalSearchRulesetRunnerTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLocalSearchRulesetRunnerID + r"""Identifier of the Function. Always local_search_ruleset_runner""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionLocalSearchRulesetRunner(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLocalSearchRulesetRunnerID + r"""Identifier of the Function. Always local_search_ruleset_runner""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionlocalsearchschemamapper.py b/src/cribl_control_plane/models/functionlocalsearchschemamapper.py index 90083ceca..b1fc26acd 100644 --- a/src/cribl_control_plane/models/functionlocalsearchschemamapper.py +++ b/src/cribl_control_plane/models/functionlocalsearchschemamapper.py @@ -10,58 +10,88 @@ class FunctionLocalSearchSchemaMapperID(str, Enum): + r"""Identifier of the Function. Always local_search_schema_mapper""" + LOCAL_SEARCH_SCHEMA_MAPPER = "local_search_schema_mapper" class FunctionLocalSearchSchemaMapperTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLocalSearchSchemaMapperID + r"""Identifier of the Function. Always local_search_schema_mapper""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionLocalSearchSchemaMapper(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLocalSearchSchemaMapperID + r"""Identifier of the Function. Always local_search_schema_mapper""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionlocalsearchtimerangenormalizer.py b/src/cribl_control_plane/models/functionlocalsearchtimerangenormalizer.py index ab8635257..563a181bc 100644 --- a/src/cribl_control_plane/models/functionlocalsearchtimerangenormalizer.py +++ b/src/cribl_control_plane/models/functionlocalsearchtimerangenormalizer.py @@ -10,58 +10,88 @@ class FunctionLocalSearchTimeRangeNormalizerID(str, Enum): + r"""Identifier of the Function. Always local_search_time_range_normalizer""" + LOCAL_SEARCH_TIME_RANGE_NORMALIZER = "local_search_time_range_normalizer" class FunctionLocalSearchTimeRangeNormalizerTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLocalSearchTimeRangeNormalizerID + r"""Identifier of the Function. Always local_search_time_range_normalizer""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionLocalSearchTimeRangeNormalizer(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLocalSearchTimeRangeNormalizerID + r"""Identifier of the Function. Always local_search_time_range_normalizer""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionlocalsearchtransformer.py b/src/cribl_control_plane/models/functionlocalsearchtransformer.py index 149789e8b..9461226da 100644 --- a/src/cribl_control_plane/models/functionlocalsearchtransformer.py +++ b/src/cribl_control_plane/models/functionlocalsearchtransformer.py @@ -10,58 +10,88 @@ class FunctionLocalSearchTransformerID(str, Enum): + r"""Identifier of the Function. Always local_search_transformer""" + LOCAL_SEARCH_TRANSFORMER = "local_search_transformer" class FunctionLocalSearchTransformerTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLocalSearchTransformerID + r"""Identifier of the Function. Always local_search_transformer""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionLocalSearchTransformer(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLocalSearchTransformerID + r"""Identifier of the Function. Always local_search_transformer""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionlookup.py b/src/cribl_control_plane/models/functionlookup.py index 674cdcdcb..892b8d34c 100644 --- a/src/cribl_control_plane/models/functionlookup.py +++ b/src/cribl_control_plane/models/functionlookup.py @@ -10,58 +10,88 @@ class FunctionLookupID(str, Enum): + r"""Identifier of the Function. Always lookup""" + LOOKUP = "lookup" class FunctionLookupTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLookupID + r"""Identifier of the Function. Always lookup""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionLookup(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionLookupID + r"""Identifier of the Function. Always lookup""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionmask.py b/src/cribl_control_plane/models/functionmask.py index 7fb1c9436..8dddbb2ee 100644 --- a/src/cribl_control_plane/models/functionmask.py +++ b/src/cribl_control_plane/models/functionmask.py @@ -10,58 +10,88 @@ class FunctionMaskID(str, Enum): + r"""Identifier of the Function. Always mask""" + MASK = "mask" class FunctionMaskTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionMaskID + r"""Identifier of the Function. Always mask""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionMask(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionMaskID + r"""Identifier of the Function. Always mask""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionmvexpand.py b/src/cribl_control_plane/models/functionmvexpand.py index db9e4095b..a02439c1a 100644 --- a/src/cribl_control_plane/models/functionmvexpand.py +++ b/src/cribl_control_plane/models/functionmvexpand.py @@ -10,58 +10,88 @@ class FunctionMvExpandID(str, Enum): + r"""Identifier of the Function. Always mv_expand""" + MV_EXPAND = "mv_expand" class FunctionMvExpandTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionMvExpandID + r"""Identifier of the Function. Always mv_expand""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionMvExpand(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionMvExpandID + r"""Identifier of the Function. Always mv_expand""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionmvpull.py b/src/cribl_control_plane/models/functionmvpull.py index ba23e6960..0f1d40cbe 100644 --- a/src/cribl_control_plane/models/functionmvpull.py +++ b/src/cribl_control_plane/models/functionmvpull.py @@ -10,58 +10,88 @@ class FunctionMvPullID(str, Enum): + r"""Identifier of the Function. Always mv_pull""" + MV_PULL = "mv_pull" class FunctionMvPullTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionMvPullID + r"""Identifier of the Function. Always mv_pull""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionMvPull(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionMvPullID + r"""Identifier of the Function. Always mv_pull""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionnotificationpolicies.py b/src/cribl_control_plane/models/functionnotificationpolicies.py index 12e2d2299..d3ebe35ca 100644 --- a/src/cribl_control_plane/models/functionnotificationpolicies.py +++ b/src/cribl_control_plane/models/functionnotificationpolicies.py @@ -10,58 +10,88 @@ class FunctionNotificationPoliciesID(str, Enum): + r"""Identifier of the Function. Always notification_policies""" + NOTIFICATION_POLICIES = "notification_policies" class FunctionNotificationPoliciesTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionNotificationPoliciesID + r"""Identifier of the Function. Always notification_policies""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionNotificationPolicies(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionNotificationPoliciesID + r"""Identifier of the Function. Always notification_policies""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionnotifications.py b/src/cribl_control_plane/models/functionnotifications.py index 7bb517282..77a871d4e 100644 --- a/src/cribl_control_plane/models/functionnotifications.py +++ b/src/cribl_control_plane/models/functionnotifications.py @@ -10,58 +10,88 @@ class FunctionNotificationsID(str, Enum): + r"""Identifier of the Function. Always notifications""" + NOTIFICATIONS = "notifications" class FunctionNotificationsTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionNotificationsID + r"""Identifier of the Function. Always notifications""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionNotifications(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionNotificationsID + r"""Identifier of the Function. Always notifications""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionnotify.py b/src/cribl_control_plane/models/functionnotify.py index 2ec7f1551..70cf5f3a4 100644 --- a/src/cribl_control_plane/models/functionnotify.py +++ b/src/cribl_control_plane/models/functionnotify.py @@ -10,58 +10,88 @@ class FunctionNotifyID(str, Enum): + r"""Identifier of the Function. Always notify""" + NOTIFY = "notify" class FunctionNotifyTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionNotifyID + r"""Identifier of the Function. Always notify""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionNotify(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionNotifyID + r"""Identifier of the Function. Always notify""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionnumerify.py b/src/cribl_control_plane/models/functionnumerify.py index bcb07b53e..9fcc8adcb 100644 --- a/src/cribl_control_plane/models/functionnumerify.py +++ b/src/cribl_control_plane/models/functionnumerify.py @@ -10,58 +10,88 @@ class FunctionNumerifyID(str, Enum): + r"""Identifier of the Function. Always numerify""" + NUMERIFY = "numerify" class FunctionNumerifyTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionNumerifyID + r"""Identifier of the Function. Always numerify""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionNumerify(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionNumerifyID + r"""Identifier of the Function. Always numerify""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionotlplogs.py b/src/cribl_control_plane/models/functionotlplogs.py index 6008faef8..127df6395 100644 --- a/src/cribl_control_plane/models/functionotlplogs.py +++ b/src/cribl_control_plane/models/functionotlplogs.py @@ -10,58 +10,88 @@ class FunctionOtlpLogsID(str, Enum): + r"""Identifier of the Function. Always otlp_logs""" + OTLP_LOGS = "otlp_logs" class FunctionOtlpLogsTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionOtlpLogsID + r"""Identifier of the Function. Always otlp_logs""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionOtlpLogs(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionOtlpLogsID + r"""Identifier of the Function. Always otlp_logs""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionotlpmetrics.py b/src/cribl_control_plane/models/functionotlpmetrics.py index 4e8786122..c0f40f72b 100644 --- a/src/cribl_control_plane/models/functionotlpmetrics.py +++ b/src/cribl_control_plane/models/functionotlpmetrics.py @@ -10,58 +10,88 @@ class FunctionOtlpMetricsID(str, Enum): + r"""Identifier of the Function. Always otlp_metrics""" + OTLP_METRICS = "otlp_metrics" class FunctionOtlpMetricsTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionOtlpMetricsID + r"""Identifier of the Function. Always otlp_metrics""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionOtlpMetrics(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionOtlpMetricsID + r"""Identifier of the Function. Always otlp_metrics""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionotlptraces.py b/src/cribl_control_plane/models/functionotlptraces.py index 529bb6ca2..ea6bbaefe 100644 --- a/src/cribl_control_plane/models/functionotlptraces.py +++ b/src/cribl_control_plane/models/functionotlptraces.py @@ -10,58 +10,88 @@ class FunctionOtlpTracesID(str, Enum): + r"""Identifier of the Function. Always otlp_traces""" + OTLP_TRACES = "otlp_traces" class FunctionOtlpTracesTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionOtlpTracesID + r"""Identifier of the Function. Always otlp_traces""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionOtlpTraces(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionOtlpTracesID + r"""Identifier of the Function. Always otlp_traces""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionpack.py b/src/cribl_control_plane/models/functionpack.py index 84c78b157..dfdfa601c 100644 --- a/src/cribl_control_plane/models/functionpack.py +++ b/src/cribl_control_plane/models/functionpack.py @@ -10,58 +10,88 @@ class FunctionPackID(str, Enum): + r"""Identifier of the Function. Always pack""" + PACK = "pack" class FunctionPackTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionPackID + r"""Identifier of the Function. Always pack""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionPack(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionPackID + r"""Identifier of the Function. Always pack""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionpivot.py b/src/cribl_control_plane/models/functionpivot.py index e7515522c..752e042f9 100644 --- a/src/cribl_control_plane/models/functionpivot.py +++ b/src/cribl_control_plane/models/functionpivot.py @@ -10,58 +10,88 @@ class FunctionPivotID(str, Enum): + r"""Identifier of the Function. Always pivot""" + PIVOT = "pivot" class FunctionPivotTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionPivotID + r"""Identifier of the Function. Always pivot""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionPivot(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionPivotID + r"""Identifier of the Function. Always pivot""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionpublishmetrics.py b/src/cribl_control_plane/models/functionpublishmetrics.py index 8dbd915bc..42957feb9 100644 --- a/src/cribl_control_plane/models/functionpublishmetrics.py +++ b/src/cribl_control_plane/models/functionpublishmetrics.py @@ -10,58 +10,88 @@ class FunctionPublishMetricsID(str, Enum): + r"""Identifier of the Function. Always publish_metrics""" + PUBLISH_METRICS = "publish_metrics" class FunctionPublishMetricsTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionPublishMetricsID + r"""Identifier of the Function. Always publish_metrics""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionPublishMetrics(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionPublishMetricsID + r"""Identifier of the Function. Always publish_metrics""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionredis.py b/src/cribl_control_plane/models/functionredis.py index b7968077d..17c193cf3 100644 --- a/src/cribl_control_plane/models/functionredis.py +++ b/src/cribl_control_plane/models/functionredis.py @@ -10,58 +10,88 @@ class FunctionRedisID(str, Enum): + r"""Identifier of the Function. Always redis""" + REDIS = "redis" class FunctionRedisTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionRedisID + r"""Identifier of the Function. Always redis""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionRedis(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionRedisID + r"""Identifier of the Function. Always redis""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionregexextract.py b/src/cribl_control_plane/models/functionregexextract.py index c048eef96..c6ab22ef4 100644 --- a/src/cribl_control_plane/models/functionregexextract.py +++ b/src/cribl_control_plane/models/functionregexextract.py @@ -10,58 +10,88 @@ class FunctionRegexExtractID(str, Enum): + r"""Identifier of the Function. Always regex_extract""" + REGEX_EXTRACT = "regex_extract" class FunctionRegexExtractTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionRegexExtractID + r"""Identifier of the Function. Always regex_extract""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionRegexExtract(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionRegexExtractID + r"""Identifier of the Function. Always regex_extract""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionregexfilter.py b/src/cribl_control_plane/models/functionregexfilter.py index 19ff75b6b..74b2b73cd 100644 --- a/src/cribl_control_plane/models/functionregexfilter.py +++ b/src/cribl_control_plane/models/functionregexfilter.py @@ -10,58 +10,88 @@ class FunctionRegexFilterID(str, Enum): + r"""Identifier of the Function. Always regex_filter""" + REGEX_FILTER = "regex_filter" class FunctionRegexFilterTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionRegexFilterID + r"""Identifier of the Function. Always regex_filter""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionRegexFilter(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionRegexFilterID + r"""Identifier of the Function. Always regex_filter""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionrename.py b/src/cribl_control_plane/models/functionrename.py index 9f233ff72..c0247717d 100644 --- a/src/cribl_control_plane/models/functionrename.py +++ b/src/cribl_control_plane/models/functionrename.py @@ -10,58 +10,88 @@ class FunctionRenameID(str, Enum): + r"""Identifier of the Function. Always rename""" + RENAME = "rename" class FunctionRenameTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionRenameID + r"""Identifier of the Function. Always rename""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionRename(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionRenameID + r"""Identifier of the Function. Always rename""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionrollupmetrics.py b/src/cribl_control_plane/models/functionrollupmetrics.py index a67da6022..1236a304f 100644 --- a/src/cribl_control_plane/models/functionrollupmetrics.py +++ b/src/cribl_control_plane/models/functionrollupmetrics.py @@ -10,58 +10,88 @@ class FunctionRollupMetricsID(str, Enum): + r"""Identifier of the Function. Always rollup_metrics""" + ROLLUP_METRICS = "rollup_metrics" class FunctionRollupMetricsTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionRollupMetricsID + r"""Identifier of the Function. Always rollup_metrics""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionRollupMetrics(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionRollupMetricsID + r"""Identifier of the Function. Always rollup_metrics""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionsampling.py b/src/cribl_control_plane/models/functionsampling.py index 9aa9d3c01..1da52e519 100644 --- a/src/cribl_control_plane/models/functionsampling.py +++ b/src/cribl_control_plane/models/functionsampling.py @@ -10,58 +10,88 @@ class FunctionSamplingID(str, Enum): + r"""Identifier of the Function. Always sampling""" + SAMPLING = "sampling" class FunctionSamplingTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSamplingID + r"""Identifier of the Function. Always sampling""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSampling(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSamplingID + r"""Identifier of the Function. Always sampling""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionsearchengineexport.py b/src/cribl_control_plane/models/functionsearchengineexport.py index b4211386e..4cb90f86b 100644 --- a/src/cribl_control_plane/models/functionsearchengineexport.py +++ b/src/cribl_control_plane/models/functionsearchengineexport.py @@ -10,58 +10,88 @@ class FunctionSearchEngineExportID(str, Enum): + r"""Identifier of the Function. Always search_engine_export""" + SEARCH_ENGINE_EXPORT = "search_engine_export" class FunctionSearchEngineExportTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSearchEngineExportID + r"""Identifier of the Function. Always search_engine_export""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSearchEngineExport(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSearchEngineExportID + r"""Identifier of the Function. Always search_engine_export""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionsend.py b/src/cribl_control_plane/models/functionsend.py index b59bc8ada..cd44cef53 100644 --- a/src/cribl_control_plane/models/functionsend.py +++ b/src/cribl_control_plane/models/functionsend.py @@ -10,58 +10,88 @@ class FunctionSendID(str, Enum): + r"""Identifier of the Function. Always send""" + SEND = "send" class FunctionSendTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSendID + r"""Identifier of the Function. Always send""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSend(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSendID + r"""Identifier of the Function. Always send""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionsensitivedatascanner.py b/src/cribl_control_plane/models/functionsensitivedatascanner.py index 3092bc824..a7c7ebe80 100644 --- a/src/cribl_control_plane/models/functionsensitivedatascanner.py +++ b/src/cribl_control_plane/models/functionsensitivedatascanner.py @@ -10,58 +10,88 @@ class FunctionSensitiveDataScannerID(str, Enum): + r"""Identifier of the Function. Always sensitive_data_scanner""" + SENSITIVE_DATA_SCANNER = "sensitive_data_scanner" class FunctionSensitiveDataScannerTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSensitiveDataScannerID + r"""Identifier of the Function. Always sensitive_data_scanner""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSensitiveDataScanner(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSensitiveDataScannerID + r"""Identifier of the Function. Always sensitive_data_scanner""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionserde.py b/src/cribl_control_plane/models/functionserde.py index fbac6bdd8..fbf68c869 100644 --- a/src/cribl_control_plane/models/functionserde.py +++ b/src/cribl_control_plane/models/functionserde.py @@ -10,58 +10,88 @@ class FunctionSerdeID(str, Enum): + r"""Identifier of the Function. Always serde""" + SERDE = "serde" class FunctionSerdeTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSerdeID + r"""Identifier of the Function. Always serde""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSerde(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSerdeID + r"""Identifier of the Function. Always serde""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionserialize.py b/src/cribl_control_plane/models/functionserialize.py index 1fb02bcc9..614484d14 100644 --- a/src/cribl_control_plane/models/functionserialize.py +++ b/src/cribl_control_plane/models/functionserialize.py @@ -10,58 +10,88 @@ class FunctionSerializeID(str, Enum): + r"""Identifier of the Function. Always serialize""" + SERIALIZE = "serialize" class FunctionSerializeTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSerializeID + r"""Identifier of the Function. Always serialize""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSerialize(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSerializeID + r"""Identifier of the Function. Always serialize""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionsidlookup.py b/src/cribl_control_plane/models/functionsidlookup.py index 434f8f5fd..51e24645c 100644 --- a/src/cribl_control_plane/models/functionsidlookup.py +++ b/src/cribl_control_plane/models/functionsidlookup.py @@ -10,58 +10,88 @@ class FunctionSidlookupID(str, Enum): + r"""Identifier of the Function. Always sidlookup""" + SIDLOOKUP = "sidlookup" class FunctionSidlookupTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSidlookupID + r"""Identifier of the Function. Always sidlookup""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSidlookup(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSidlookupID + r"""Identifier of the Function. Always sidlookup""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionsignalfilter.py b/src/cribl_control_plane/models/functionsignalfilter.py index 5b615c8ca..a1a96c3c0 100644 --- a/src/cribl_control_plane/models/functionsignalfilter.py +++ b/src/cribl_control_plane/models/functionsignalfilter.py @@ -10,58 +10,88 @@ class FunctionSignalFilterID(str, Enum): + r"""Identifier of the Function. Always signal_filter""" + SIGNAL_FILTER = "signal_filter" class FunctionSignalFilterTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSignalFilterID + r"""Identifier of the Function. Always signal_filter""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSignalFilter(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSignalFilterID + r"""Identifier of the Function. Always signal_filter""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionsnmptrapserialize.py b/src/cribl_control_plane/models/functionsnmptrapserialize.py index a47469c68..1cd592ef2 100644 --- a/src/cribl_control_plane/models/functionsnmptrapserialize.py +++ b/src/cribl_control_plane/models/functionsnmptrapserialize.py @@ -10,58 +10,88 @@ class FunctionSnmpTrapSerializeID(str, Enum): + r"""Identifier of the Function. Always snmp_trap_serialize""" + SNMP_TRAP_SERIALIZE = "snmp_trap_serialize" class FunctionSnmpTrapSerializeTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSnmpTrapSerializeID + r"""Identifier of the Function. Always snmp_trap_serialize""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSnmpTrapSerialize(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSnmpTrapSerializeID + r"""Identifier of the Function. Always snmp_trap_serialize""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionsort.py b/src/cribl_control_plane/models/functionsort.py index 31e2dadf5..f9ef72911 100644 --- a/src/cribl_control_plane/models/functionsort.py +++ b/src/cribl_control_plane/models/functionsort.py @@ -10,58 +10,88 @@ class FunctionSortID(str, Enum): + r"""Identifier of the Function. Always sort""" + SORT = "sort" class FunctionSortTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSortID + r"""Identifier of the Function. Always sort""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSort(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSortID + r"""Identifier of the Function. Always sort""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionstore.py b/src/cribl_control_plane/models/functionstore.py index 3179f4512..c5064e5df 100644 --- a/src/cribl_control_plane/models/functionstore.py +++ b/src/cribl_control_plane/models/functionstore.py @@ -10,58 +10,88 @@ class FunctionStoreID(str, Enum): + r"""Identifier of the Function. Always store""" + STORE = "store" class FunctionStoreTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionStoreID + r"""Identifier of the Function. Always store""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionStore(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionStoreID + r"""Identifier of the Function. Always store""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionsuppress.py b/src/cribl_control_plane/models/functionsuppress.py index 3b440bd6c..c9e1dc946 100644 --- a/src/cribl_control_plane/models/functionsuppress.py +++ b/src/cribl_control_plane/models/functionsuppress.py @@ -10,58 +10,88 @@ class FunctionSuppressID(str, Enum): + r"""Identifier of the Function. Always suppress""" + SUPPRESS = "suppress" class FunctionSuppressTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSuppressID + r"""Identifier of the Function. Always suppress""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionSuppress(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionSuppressID + r"""Identifier of the Function. Always suppress""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functiontee.py b/src/cribl_control_plane/models/functiontee.py index 6fdd8b24c..57d0433a6 100644 --- a/src/cribl_control_plane/models/functiontee.py +++ b/src/cribl_control_plane/models/functiontee.py @@ -10,58 +10,88 @@ class FunctionTeeID(str, Enum): + r"""Identifier of the Function. Always tee""" + TEE = "tee" class FunctionTeeTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionTeeID + r"""Identifier of the Function. Always tee""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionTee(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionTeeID + r"""Identifier of the Function. Always tee""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functiontrimtimestamp.py b/src/cribl_control_plane/models/functiontrimtimestamp.py index 371252914..d6c313759 100644 --- a/src/cribl_control_plane/models/functiontrimtimestamp.py +++ b/src/cribl_control_plane/models/functiontrimtimestamp.py @@ -10,58 +10,88 @@ class FunctionTrimTimestampID(str, Enum): + r"""Identifier of the Function. Always trim_timestamp""" + TRIM_TIMESTAMP = "trim_timestamp" class FunctionTrimTimestampTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionTrimTimestampID + r"""Identifier of the Function. Always trim_timestamp""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionTrimTimestamp(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionTrimTimestampID + r"""Identifier of the Function. Always trim_timestamp""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionunion.py b/src/cribl_control_plane/models/functionunion.py index 09ff6f9f4..567b8feb1 100644 --- a/src/cribl_control_plane/models/functionunion.py +++ b/src/cribl_control_plane/models/functionunion.py @@ -10,58 +10,88 @@ class FunctionUnionID(str, Enum): + r"""Identifier of the Function. Always union""" + UNION = "union" class FunctionUnionTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionUnionID + r"""Identifier of the Function. Always union""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionUnion(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionUnionID + r"""Identifier of the Function. Always union""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionunroll.py b/src/cribl_control_plane/models/functionunroll.py index 550e4f6ee..b7393f381 100644 --- a/src/cribl_control_plane/models/functionunroll.py +++ b/src/cribl_control_plane/models/functionunroll.py @@ -10,58 +10,88 @@ class FunctionUnrollID(str, Enum): + r"""Identifier of the Function. Always unroll""" + UNROLL = "unroll" class FunctionUnrollTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionUnrollID + r"""Identifier of the Function. Always unroll""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionUnroll(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionUnrollID + r"""Identifier of the Function. Always unroll""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionwindow.py b/src/cribl_control_plane/models/functionwindow.py index d475f52e6..5604e7fe9 100644 --- a/src/cribl_control_plane/models/functionwindow.py +++ b/src/cribl_control_plane/models/functionwindow.py @@ -10,58 +10,88 @@ class FunctionWindowID(str, Enum): + r"""Identifier of the Function. Always window""" + WINDOW = "window" class FunctionWindowTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionWindowID + r"""Identifier of the Function. Always window""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionWindow(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionWindowID + r"""Identifier of the Function. Always window""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/functionxmlunroll.py b/src/cribl_control_plane/models/functionxmlunroll.py index 861b201a1..091a5d547 100644 --- a/src/cribl_control_plane/models/functionxmlunroll.py +++ b/src/cribl_control_plane/models/functionxmlunroll.py @@ -10,58 +10,88 @@ class FunctionXMLUnrollID(str, Enum): + r"""Identifier of the Function. Always xml_unroll""" + XML_UNROLL = "xml_unroll" class FunctionXMLUnrollTypedDict(TypedDict): filename: str + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionXMLUnrollID + r"""Identifier of the Function. Always xml_unroll""" load_time: float + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: float + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: NotRequired[float] + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: NotRequired[str] + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: NotRequired[bool] + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: NotRequired[bool] + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: NotRequired[bool] + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: NotRequired[Dict[str, Any]] + r"""JSON Schema document that describes the Function configuration.""" class FunctionXMLUnroll(BaseModel): filename: Annotated[str, pydantic.Field(alias="__filename")] + r"""Path to the JavaScript file that implements the Function.""" group: str + r"""Category group the Function belongs to.""" id: FunctionXMLUnrollID + r"""Identifier of the Function. Always xml_unroll""" load_time: Annotated[float, pydantic.Field(alias="loadTime")] + r"""Time the Function module was loaded, in milliseconds since the Unix epoch.""" mod_time: Annotated[float, pydantic.Field(alias="modTime")] + r"""Time the Function module was last modified, in milliseconds since the Unix epoch.""" name: str + r"""Display name of the Function.""" uischema: Dict[str, Any] + r"""UI Schema that controls how the Function's configuration form is rendered.""" version: str + r"""Version string of the Function.""" async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = ( None ) + r"""Maximum time, in milliseconds, that the Function is allowed to run asynchronously before timing out.""" cribl_version: Optional[str] = None + r"""Minimum Cribl version required by the Function, if applicable.""" disabled: Optional[bool] = None + r"""If true, the Function is disabled and will not execute in a Pipeline. Otherwise, false.""" handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = ( None ) + r"""If true, the Function handles stream signals such as flush and close. Otherwise, false.""" sync: Optional[bool] = None + r"""If true, the Function executes synchronously. Otherwise, false.""" schema_: Annotated[Optional[Dict[str, Any]], pydantic.Field(alias="schema")] = None + r"""JSON Schema document that describes the Function configuration.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/getfunctionsop.py b/src/cribl_control_plane/models/getfunctionsop.py new file mode 100644 index 000000000..dfd5d6a24 --- /dev/null +++ b/src/cribl_control_plane/models/getfunctionsop.py @@ -0,0 +1,39 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata +import pydantic +from pydantic import model_serializer +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class GetFunctionsRequestTypedDict(TypedDict): + show_hidden: NotRequired[bool] + r"""If true, include hidden Functions in the response. Otherwise, hidden Functions are excluded.""" + + +class GetFunctionsRequest(BaseModel): + show_hidden: Annotated[ + Optional[bool], + pydantic.Field(alias="showHidden"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""If true, include hidden Functions in the response. Otherwise, hidden Functions are excluded.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["showHidden"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/cribl_control_plane/models/getpacksbyidop.py b/src/cribl_control_plane/models/getpacksbyidop.py index f52e47d7c..b00443d4c 100644 --- a/src/cribl_control_plane/models/getpacksbyidop.py +++ b/src/cribl_control_plane/models/getpacksbyidop.py @@ -8,11 +8,11 @@ class GetPacksByIDRequestTypedDict(TypedDict): id: str - r"""The id of the Pack to get.""" + r"""The id of the Pack to get. Use the id field from the list response.""" class GetPacksByIDRequest(BaseModel): id: Annotated[ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) ] - r"""The id of the Pack to get.""" + r"""The id of the Pack to get. Use the id field from the list response.""" diff --git a/src/cribl_control_plane/models/getpacksop.py b/src/cribl_control_plane/models/getpacksop.py index 54ac22588..54eab318a 100644 --- a/src/cribl_control_plane/models/getpacksop.py +++ b/src/cribl_control_plane/models/getpacksop.py @@ -11,7 +11,7 @@ class GetPacksRequestTypedDict(TypedDict): with_: NotRequired[str] - r"""Comma-separated list of additional properties to include in the response. When set, the response includes a count of the specified properties in the Pack. Available values are inputs and outputs.""" + r"""Comma-separated list of additional properties to include in the response. When set, the response includes a count of each specified property in each Pack. Supported values: inputs, outputs, collectors.""" class GetPacksRequest(BaseModel): @@ -20,7 +20,7 @@ class GetPacksRequest(BaseModel): pydantic.Field(alias="with"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Comma-separated list of additional properties to include in the response. When set, the response includes a count of the specified properties in the Pack. Available values are inputs and outputs.""" + r"""Comma-separated list of additional properties to include in the response. When set, the response includes a count of each specified property in each Pack. Supported values: inputs, outputs, collectors.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/getsavedjobop.py b/src/cribl_control_plane/models/getsavedjobop.py index 52fd8f316..e63dd817b 100644 --- a/src/cribl_control_plane/models/getsavedjobop.py +++ b/src/cribl_control_plane/models/getsavedjobop.py @@ -13,7 +13,7 @@ class GetSavedJobRequestTypedDict(TypedDict): collector_type: NotRequired[CollectorType] - r"""Filter by collector type""" + r"""Filter by collector type.""" class GetSavedJobRequest(BaseModel): @@ -22,7 +22,7 @@ class GetSavedJobRequest(BaseModel): pydantic.Field(alias="collectorType"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter by collector type""" + r"""Filter by collector type.""" @field_serializer("collector_type") def serialize_collector_type(self, value): diff --git a/src/cribl_control_plane/models/healthoverlaystatus.py b/src/cribl_control_plane/models/healthoverlaystatus.py new file mode 100644 index 000000000..fc6af4362 --- /dev/null +++ b/src/cribl_control_plane/models/healthoverlaystatus.py @@ -0,0 +1,58 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .activehealthoverlaystatus import ( + ActiveHealthOverlayStatus, + ActiveHealthOverlayStatusTypedDict, +) +from .noactivehealthoverlaystatus import ( + NoActiveHealthOverlayStatus, + NoActiveHealthOverlayStatusTypedDict, +) +from cribl_control_plane.types import BaseModel +from cribl_control_plane.utils.unions import parse_open_union +from functools import partial +from pydantic import ConfigDict +from pydantic.functional_validators import BeforeValidator +from typing import Any, Literal, Union +from typing_extensions import Annotated, TypeAliasType + + +HealthOverlayStatusTypedDict = TypeAliasType( + "HealthOverlayStatusTypedDict", + Union[NoActiveHealthOverlayStatusTypedDict, ActiveHealthOverlayStatusTypedDict], +) + + +class UnknownHealthOverlayStatus(BaseModel): + r"""A HealthOverlayStatus variant the SDK doesn't recognize. Preserves the raw payload.""" + + state: Literal["UNKNOWN"] = "UNKNOWN" + raw: Any + is_unknown: Literal[True] = True + + model_config = ConfigDict(frozen=True) + + +_HEALTH_OVERLAY_STATUS_VARIANTS: dict[str, Any] = { + "active": ActiveHealthOverlayStatus, + "inactive": NoActiveHealthOverlayStatus, +} + + +HealthOverlayStatus = Annotated[ + Union[ + ActiveHealthOverlayStatus, + NoActiveHealthOverlayStatus, + UnknownHealthOverlayStatus, + ], + BeforeValidator( + partial( + parse_open_union, + disc_key="state", + variants=_HEALTH_OVERLAY_STATUS_VARIANTS, + unknown_cls=UnknownHealthOverlayStatus, + union_name="HealthOverlayStatus", + ) + ), +] diff --git a/src/cribl_control_plane/models/healthserverstatus.py b/src/cribl_control_plane/models/healthserverstatus.py index 4ddf3eb75..a3a252756 100644 --- a/src/cribl_control_plane/models/healthserverstatus.py +++ b/src/cribl_control_plane/models/healthserverstatus.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .healthoverlaystatus import HealthOverlayStatus, HealthOverlayStatusTypedDict from cribl_control_plane import models, utils from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from enum import Enum @@ -28,6 +29,7 @@ class HealthServerStatusStatus(str, Enum, metaclass=utils.OpenEnumMeta): class HealthServerStatusTypedDict(TypedDict): r"""Health status of the Leader or Worker Node.""" + overlay: HealthOverlayStatusTypedDict start_time: int r"""Timestamp (in Unix time) when the Cribl process started.""" status: HealthServerStatusStatus @@ -39,6 +41,8 @@ class HealthServerStatusTypedDict(TypedDict): class HealthServerStatus(BaseModel): r"""Health status of the Leader or Worker Node.""" + overlay: HealthOverlayStatus + start_time: Annotated[int, pydantic.Field(alias="startTime")] r"""Timestamp (in Unix time) when the Cribl process started.""" diff --git a/src/cribl_control_plane/models/inputanthropiccompliance_input.py b/src/cribl_control_plane/models/inputanthropiccompliance_input.py index 428fb1f5e..a9ba83a28 100644 --- a/src/cribl_control_plane/models/inputanthropiccompliance_input.py +++ b/src/cribl_control_plane/models/inputanthropiccompliance_input.py @@ -128,6 +128,7 @@ class InputAnthropicComplianceInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -156,6 +157,7 @@ class InputAnthropicComplianceInputTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -177,6 +179,7 @@ class InputAnthropicComplianceInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -233,6 +236,7 @@ class InputAnthropicComplianceInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputappleunifiedlogs_input.py b/src/cribl_control_plane/models/inputappleunifiedlogs_input.py index 0fdec63ae..5edb3d2ea 100644 --- a/src/cribl_control_plane/models/inputappleunifiedlogs_input.py +++ b/src/cribl_control_plane/models/inputappleunifiedlogs_input.py @@ -39,6 +39,7 @@ class InputAppleUnifiedLogsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -57,6 +58,7 @@ class InputAppleUnifiedLogsInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -73,6 +75,7 @@ class InputAppleUnifiedLogsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -105,6 +108,7 @@ class InputAppleUnifiedLogsInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputappscope_input.py b/src/cribl_control_plane/models/inputappscope_input.py index ee6a22f76..988a6dd66 100644 --- a/src/cribl_control_plane/models/inputappscope_input.py +++ b/src/cribl_control_plane/models/inputappscope_input.py @@ -184,6 +184,7 @@ class InputAppscopeInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -222,6 +223,7 @@ class InputAppscopeInputTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" host: NotRequired[str] r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: NotRequired[float] @@ -252,6 +254,7 @@ class InputAppscopeInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -336,6 +339,7 @@ class InputAppscopeInput(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" host: Optional[str] = None r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" diff --git a/src/cribl_control_plane/models/inputazureblob_input.py b/src/cribl_control_plane/models/inputazureblob_input.py index 79b8fb0e2..a95d414f5 100644 --- a/src/cribl_control_plane/models/inputazureblob_input.py +++ b/src/cribl_control_plane/models/inputazureblob_input.py @@ -35,6 +35,7 @@ class InputAzureBlobInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -72,6 +73,7 @@ class InputAzureBlobInputTypedDict(TypedDict): r"""The maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified.""" auth_type: NotRequired[AuthenticationMethodOptions] description: NotRequired[str] + r"""Optional description for this configuration.""" connection_string: NotRequired[str] r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" text_secret: NotRequired[str] @@ -117,6 +119,7 @@ class InputAzureBlobInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -192,6 +195,7 @@ class InputAzureBlobInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" connection_string: Annotated[ Optional[str], pydantic.Field(alias="connectionString") diff --git a/src/cribl_control_plane/models/inputcloudflarehec_input.py b/src/cribl_control_plane/models/inputcloudflarehec_input.py index e169495d1..d2590ff52 100644 --- a/src/cribl_control_plane/models/inputcloudflarehec_input.py +++ b/src/cribl_control_plane/models/inputcloudflarehec_input.py @@ -26,6 +26,8 @@ class InputCloudflareHecType(str, Enum): + r"""Source type identifier.""" + CLOUDFLARE_HEC = "cloudflare_hec" @@ -145,6 +147,7 @@ def serialize_model(self, handler): class InputCloudflareHecInputTypedDict(TypedDict): type: InputCloudflareHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -154,6 +157,7 @@ class InputCloudflareHecInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -205,6 +209,7 @@ class InputCloudflareHecInputTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -225,6 +230,7 @@ class InputCloudflareHecInputTypedDict(TypedDict): class InputCloudflareHecInput(BaseModel): type: InputCloudflareHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -239,6 +245,7 @@ class InputCloudflareHecInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -354,6 +361,7 @@ class InputCloudflareHecInput(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputcollection_input.py b/src/cribl_control_plane/models/inputcollection_input.py index ba98408cc..b91e18d00 100644 --- a/src/cribl_control_plane/models/inputcollection_input.py +++ b/src/cribl_control_plane/models/inputcollection_input.py @@ -28,6 +28,7 @@ class InputCollectionInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process results""" send_to_routes: NotRequired[bool] @@ -65,6 +66,7 @@ class InputCollectionInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process results""" diff --git a/src/cribl_control_plane/models/inputconfluentcloud_input.py b/src/cribl_control_plane/models/inputconfluentcloud_input.py index 8ab625b3a..977ee3c96 100644 --- a/src/cribl_control_plane/models/inputconfluentcloud_input.py +++ b/src/cribl_control_plane/models/inputconfluentcloud_input.py @@ -40,6 +40,7 @@ class InputConfluentCloudInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -106,6 +107,7 @@ class InputConfluentCloudInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -131,6 +133,7 @@ class InputConfluentCloudInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -258,6 +261,7 @@ class InputConfluentCloudInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputcribl_input.py b/src/cribl_control_plane/models/inputcribl_input.py index 174f86b45..2dab5b60c 100644 --- a/src/cribl_control_plane/models/inputcribl_input.py +++ b/src/cribl_control_plane/models/inputcribl_input.py @@ -27,6 +27,7 @@ class InputCriblInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -44,6 +45,7 @@ class InputCriblInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -57,6 +59,7 @@ class InputCriblInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -86,6 +89,7 @@ class InputCriblInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputcriblhttp_input.py b/src/cribl_control_plane/models/inputcriblhttp_input.py index cb0d981ce..bc4d5547e 100644 --- a/src/cribl_control_plane/models/inputcriblhttp_input.py +++ b/src/cribl_control_plane/models/inputcriblhttp_input.py @@ -27,11 +27,14 @@ class InputCriblHTTPType(str, Enum): + r"""Source type identifier.""" + CRIBL_HTTP = "cribl_http" class InputCriblHTTPInputTypedDict(TypedDict): type: InputCriblHTTPType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -39,6 +42,7 @@ class InputCriblHTTPInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -80,6 +84,7 @@ class InputCriblHTTPInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -92,6 +97,7 @@ class InputCriblHTTPInputTypedDict(TypedDict): class InputCriblHTTPInput(BaseModel): type: InputCriblHTTPType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -103,6 +109,7 @@ class InputCriblHTTPInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -192,6 +199,7 @@ class InputCriblHTTPInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputcribllakehttp_input.py b/src/cribl_control_plane/models/inputcribllakehttp_input.py index c2bb69904..c8f29d80d 100644 --- a/src/cribl_control_plane/models/inputcribllakehttp_input.py +++ b/src/cribl_control_plane/models/inputcribllakehttp_input.py @@ -23,6 +23,8 @@ class InputCriblLakeHTTPType(str, Enum): + r"""Source type identifier.""" + CRIBL_LAKE_HTTP = "cribl_lake_http" @@ -139,6 +141,7 @@ def serialize_model(self, handler): class InputCriblLakeHTTPInputTypedDict(TypedDict): type: InputCriblLakeHTTPType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -146,6 +149,7 @@ class InputCriblLakeHTTPInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -195,6 +199,7 @@ class InputCriblLakeHTTPInputTypedDict(TypedDict): r"""Fields to add to events from this input""" auth_tokens_ext: NotRequired[List[InputCriblLakeHTTPAuthTokensExtTypedDict]] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -215,6 +220,7 @@ class InputCriblLakeHTTPInputTypedDict(TypedDict): class InputCriblLakeHTTPInput(BaseModel): type: InputCriblLakeHTTPType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -226,6 +232,7 @@ class InputCriblLakeHTTPInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -335,6 +342,7 @@ class InputCriblLakeHTTPInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputcriblmetrics_input.py b/src/cribl_control_plane/models/inputcriblmetrics_input.py index a010edd3f..091bd367f 100644 --- a/src/cribl_control_plane/models/inputcriblmetrics_input.py +++ b/src/cribl_control_plane/models/inputcriblmetrics_input.py @@ -27,6 +27,7 @@ class InputCriblmetricsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -47,6 +48,7 @@ class InputCriblmetricsInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -60,6 +62,7 @@ class InputCriblmetricsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -95,6 +98,7 @@ class InputCriblmetricsInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputcribltcp_input.py b/src/cribl_control_plane/models/inputcribltcp_input.py index 3fa690592..ebbb7b421 100644 --- a/src/cribl_control_plane/models/inputcribltcp_input.py +++ b/src/cribl_control_plane/models/inputcribltcp_input.py @@ -39,6 +39,7 @@ class InputCriblTCPInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -70,6 +71,7 @@ class InputCriblTCPInputTypedDict(TypedDict): auth_tokens: NotRequired[List[AuthTokenConfInputCriblTCPTypedDict]] r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -93,6 +95,7 @@ class InputCriblTCPInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -157,6 +160,7 @@ class InputCriblTCPInput(BaseModel): r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputcrowdstrike_input.py b/src/cribl_control_plane/models/inputcrowdstrike_input.py index fb986505a..1aa3cdc52 100644 --- a/src/cribl_control_plane/models/inputcrowdstrike_input.py +++ b/src/cribl_control_plane/models/inputcrowdstrike_input.py @@ -36,6 +36,7 @@ class InputCrowdstrikeInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -99,6 +100,7 @@ class InputCrowdstrikeInputTypedDict(TypedDict): encoding: NotRequired[str] r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -139,6 +141,7 @@ class InputCrowdstrikeInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -271,6 +274,7 @@ class InputCrowdstrikeInput(BaseModel): r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/inputdatadogagent_input.py b/src/cribl_control_plane/models/inputdatadogagent_input.py index a3d315bab..25feb32d3 100644 --- a/src/cribl_control_plane/models/inputdatadogagent_input.py +++ b/src/cribl_control_plane/models/inputdatadogagent_input.py @@ -23,6 +23,8 @@ class InputDatadogAgentType(str, Enum): + r"""Source type identifier.""" + DATADOG_AGENT = "datadog_agent" @@ -61,6 +63,7 @@ def serialize_model(self, handler): class InputDatadogAgentInputTypedDict(TypedDict): type: InputDatadogAgentType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -68,6 +71,7 @@ class InputDatadogAgentInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -110,6 +114,7 @@ class InputDatadogAgentInputTypedDict(TypedDict): r"""Fields to add to events from this input""" proxy_mode: NotRequired[InputDatadogAgentProxyModeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -122,6 +127,7 @@ class InputDatadogAgentInputTypedDict(TypedDict): class InputDatadogAgentInput(BaseModel): type: InputDatadogAgentType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -133,6 +139,7 @@ class InputDatadogAgentInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -226,6 +233,7 @@ class InputDatadogAgentInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputdatagen_input.py b/src/cribl_control_plane/models/inputdatagen_input.py index 720ed98a5..863436786 100644 --- a/src/cribl_control_plane/models/inputdatagen_input.py +++ b/src/cribl_control_plane/models/inputdatagen_input.py @@ -41,6 +41,7 @@ class InputDatagenInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -57,6 +58,7 @@ class InputDatagenInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -72,6 +74,7 @@ class InputDatagenInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -99,6 +102,7 @@ class InputDatagenInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputedgeprometheus_input.py b/src/cribl_control_plane/models/inputedgeprometheus_input.py index 86dc37784..5f84be07b 100644 --- a/src/cribl_control_plane/models/inputedgeprometheus_input.py +++ b/src/cribl_control_plane/models/inputedgeprometheus_input.py @@ -154,6 +154,7 @@ class InputEdgePrometheusInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -179,6 +180,7 @@ class InputEdgePrometheusInputTypedDict(TypedDict): auth_type: NotRequired[InputEdgePrometheusAuthenticationMethod] r"""Enter credentials directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" targets: NotRequired[List[InputEdgePrometheusTargetTypedDict]] record_type: NotRequired[RecordTypeOptions] r"""DNS record type to resolve""" @@ -284,6 +286,7 @@ class InputEdgePrometheusInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -332,6 +335,7 @@ class InputEdgePrometheusInput(BaseModel): r"""Enter credentials directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" targets: Optional[List[InputEdgePrometheusTarget]] = None diff --git a/src/cribl_control_plane/models/inputelastic_input.py b/src/cribl_control_plane/models/inputelastic_input.py index 8a71f55ab..e34495500 100644 --- a/src/cribl_control_plane/models/inputelastic_input.py +++ b/src/cribl_control_plane/models/inputelastic_input.py @@ -28,6 +28,8 @@ class InputElasticType(str, Enum): + r"""Source type identifier.""" + ELASTIC = "elastic" @@ -161,6 +163,7 @@ def serialize_model(self, handler): class InputElasticInputTypedDict(TypedDict): type: InputElasticType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -170,6 +173,7 @@ class InputElasticInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -215,6 +219,7 @@ class InputElasticInputTypedDict(TypedDict): r"""Fields to add to events from this input""" proxy_mode: NotRequired[InputElasticProxyModeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -239,6 +244,7 @@ class InputElasticInputTypedDict(TypedDict): class InputElasticInput(BaseModel): type: InputElasticType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -253,6 +259,7 @@ class InputElasticInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -356,6 +363,7 @@ class InputElasticInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None diff --git a/src/cribl_control_plane/models/inputeventhub_input.py b/src/cribl_control_plane/models/inputeventhub_input.py index b1132bcbf..bb93c4a13 100644 --- a/src/cribl_control_plane/models/inputeventhub_input.py +++ b/src/cribl_control_plane/models/inputeventhub_input.py @@ -36,6 +36,7 @@ class InputEventhubInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -99,6 +100,7 @@ class InputEventhubInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -124,6 +126,7 @@ class InputEventhubInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -247,6 +250,7 @@ class InputEventhubInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputeventhubamqp_input.py b/src/cribl_control_plane/models/inputeventhubamqp_input.py index 4bd9e238c..58162e077 100644 --- a/src/cribl_control_plane/models/inputeventhubamqp_input.py +++ b/src/cribl_control_plane/models/inputeventhubamqp_input.py @@ -374,6 +374,7 @@ class InputEventhubAmqpInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -415,6 +416,7 @@ class InputEventhubAmqpInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -433,6 +435,7 @@ class InputEventhubAmqpInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -516,6 +519,7 @@ class InputEventhubAmqpInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputexec_input.py b/src/cribl_control_plane/models/inputexec_input.py index 1fdc885eb..b98438a64 100644 --- a/src/cribl_control_plane/models/inputexec_input.py +++ b/src/cribl_control_plane/models/inputexec_input.py @@ -63,6 +63,7 @@ class InputExecInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" interval: NotRequired[float] r"""Interval between command executions in seconds.""" cron_schedule: NotRequired[str] @@ -131,6 +132,7 @@ class InputExecInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" interval: Optional[float] = None r"""Interval between command executions in seconds.""" diff --git a/src/cribl_control_plane/models/inputfile_input.py b/src/cribl_control_plane/models/inputfile_input.py index 78315b3f4..7b77b4ccf 100644 --- a/src/cribl_control_plane/models/inputfile_input.py +++ b/src/cribl_control_plane/models/inputfile_input.py @@ -37,6 +37,7 @@ class InputFileInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -81,6 +82,7 @@ class InputFileInputTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" path: NotRequired[str] r"""Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/).""" depth: NotRequired[float] @@ -107,6 +109,7 @@ class InputFileInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -186,6 +189,7 @@ class InputFileInput(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" path: Optional[str] = None r"""Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/).""" diff --git a/src/cribl_control_plane/models/inputfirehose_input.py b/src/cribl_control_plane/models/inputfirehose_input.py index be91c1eba..bab1aeb86 100644 --- a/src/cribl_control_plane/models/inputfirehose_input.py +++ b/src/cribl_control_plane/models/inputfirehose_input.py @@ -23,11 +23,14 @@ class InputFirehoseType(str, Enum): + r"""Source type identifier.""" + FIREHOSE = "firehose" class InputFirehoseInputTypedDict(TypedDict): type: InputFirehoseType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -35,6 +38,7 @@ class InputFirehoseInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -76,6 +80,7 @@ class InputFirehoseInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -90,6 +95,7 @@ class InputFirehoseInputTypedDict(TypedDict): class InputFirehoseInput(BaseModel): type: InputFirehoseType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -101,6 +107,7 @@ class InputFirehoseInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -190,6 +197,7 @@ class InputFirehoseInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputgooglepubsub_input.py b/src/cribl_control_plane/models/inputgooglepubsub_input.py index 58f7e8c41..910b367ab 100644 --- a/src/cribl_control_plane/models/inputgooglepubsub_input.py +++ b/src/cribl_control_plane/models/inputgooglepubsub_input.py @@ -33,6 +33,7 @@ class InputGooglePubsubInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -69,6 +70,7 @@ class InputGooglePubsubInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" ordered_delivery: NotRequired[bool] r"""Receive events in the order they were added to the queue. The process sending events must have ordering enabled.""" template_environment: NotRequired[str] @@ -96,6 +98,7 @@ class InputGooglePubsubInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -164,6 +167,7 @@ class InputGooglePubsubInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" ordered_delivery: Annotated[ Optional[bool], pydantic.Field(alias="orderedDelivery") diff --git a/src/cribl_control_plane/models/inputgrafana_input_union.py b/src/cribl_control_plane/models/inputgrafana_input_union.py index 83298cd48..9669116c3 100644 --- a/src/cribl_control_plane/models/inputgrafana_input_union.py +++ b/src/cribl_control_plane/models/inputgrafana_input_union.py @@ -28,6 +28,8 @@ class InputGrafanaType2(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -172,6 +174,7 @@ def serialize_model(self, handler): class InputGrafanaGrafanaInput2TypedDict(TypedDict): type: InputGrafanaType2 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -181,6 +184,7 @@ class InputGrafanaGrafanaInput2TypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -224,6 +228,7 @@ class InputGrafanaGrafanaInput2TypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -240,6 +245,7 @@ class InputGrafanaGrafanaInput2TypedDict(TypedDict): class InputGrafanaGrafanaInput2(BaseModel): type: InputGrafanaType2 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -254,6 +260,7 @@ class InputGrafanaGrafanaInput2(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -349,6 +356,7 @@ class InputGrafanaGrafanaInput2(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -433,6 +441,8 @@ def serialize_model(self, handler): class InputGrafanaType1(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -577,6 +587,7 @@ def serialize_model(self, handler): class InputGrafanaGrafanaInput1TypedDict(TypedDict): type: InputGrafanaType1 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -586,6 +597,7 @@ class InputGrafanaGrafanaInput1TypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -629,6 +641,7 @@ class InputGrafanaGrafanaInput1TypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -645,6 +658,7 @@ class InputGrafanaGrafanaInput1TypedDict(TypedDict): class InputGrafanaGrafanaInput1(BaseModel): type: InputGrafanaType1 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -659,6 +673,7 @@ class InputGrafanaGrafanaInput1(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -752,6 +767,7 @@ class InputGrafanaGrafanaInput1(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputhttp_input.py b/src/cribl_control_plane/models/inputhttp_input.py index 1330bf2e0..4c325cee3 100644 --- a/src/cribl_control_plane/models/inputhttp_input.py +++ b/src/cribl_control_plane/models/inputhttp_input.py @@ -27,11 +27,14 @@ class InputHTTPType(str, Enum): + r"""Source type identifier.""" + HTTP = "http" class InputHTTPInputTypedDict(TypedDict): type: InputHTTPType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -39,6 +42,7 @@ class InputHTTPInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -89,6 +93,7 @@ class InputHTTPInputTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -109,6 +114,7 @@ class InputHTTPInputTypedDict(TypedDict): class InputHTTPInput(BaseModel): type: InputHTTPType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -120,6 +126,7 @@ class InputHTTPInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -230,6 +237,7 @@ class InputHTTPInput(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputhttpraw_input.py b/src/cribl_control_plane/models/inputhttpraw_input.py index 287c9bf9e..e52732a84 100644 --- a/src/cribl_control_plane/models/inputhttpraw_input.py +++ b/src/cribl_control_plane/models/inputhttpraw_input.py @@ -27,11 +27,14 @@ class InputHTTPRawType(str, Enum): + r"""Source type identifier.""" + HTTP_RAW = "http_raw" class InputHTTPRawInputTypedDict(TypedDict): type: InputHTTPRawType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -39,6 +42,7 @@ class InputHTTPRawInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -90,6 +94,7 @@ class InputHTTPRawInputTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -106,6 +111,7 @@ class InputHTTPRawInputTypedDict(TypedDict): class InputHTTPRawInput(BaseModel): type: InputHTTPRawType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -117,6 +123,7 @@ class InputHTTPRawInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -232,6 +239,7 @@ class InputHTTPRawInput(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputjournalfiles_input.py b/src/cribl_control_plane/models/inputjournalfiles_input.py index 3367a2e50..81273acc8 100644 --- a/src/cribl_control_plane/models/inputjournalfiles_input.py +++ b/src/cribl_control_plane/models/inputjournalfiles_input.py @@ -62,6 +62,7 @@ class InputJournalFilesInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -87,6 +88,7 @@ class InputJournalFilesInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -106,6 +108,7 @@ class InputJournalFilesInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -149,6 +152,7 @@ class InputJournalFilesInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputkafka_input.py b/src/cribl_control_plane/models/inputkafka_input.py index 5f3b92421..95b8d59e1 100644 --- a/src/cribl_control_plane/models/inputkafka_input.py +++ b/src/cribl_control_plane/models/inputkafka_input.py @@ -40,6 +40,7 @@ class InputKafkaInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -106,6 +107,7 @@ class InputKafkaInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -131,6 +133,7 @@ class InputKafkaInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -258,6 +261,7 @@ class InputKafkaInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputkinesis_input.py b/src/cribl_control_plane/models/inputkinesis_input.py index 367b14c96..aee90063b 100644 --- a/src/cribl_control_plane/models/inputkinesis_input.py +++ b/src/cribl_control_plane/models/inputkinesis_input.py @@ -66,6 +66,7 @@ class InputKinesisInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -117,6 +118,7 @@ class InputKinesisInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -157,6 +159,7 @@ class InputKinesisInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -272,6 +275,7 @@ class InputKinesisInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/inputkubeevents_input.py b/src/cribl_control_plane/models/inputkubeevents_input.py index 3126a8f57..a60d2381f 100644 --- a/src/cribl_control_plane/models/inputkubeevents_input.py +++ b/src/cribl_control_plane/models/inputkubeevents_input.py @@ -31,6 +31,7 @@ class InputKubeEventsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -49,6 +50,7 @@ class InputKubeEventsInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -62,6 +64,7 @@ class InputKubeEventsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -92,6 +95,7 @@ class InputKubeEventsInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputkubelogs_input.py b/src/cribl_control_plane/models/inputkubelogs_input.py index 18e37e9f2..5e2cd93e6 100644 --- a/src/cribl_control_plane/models/inputkubelogs_input.py +++ b/src/cribl_control_plane/models/inputkubelogs_input.py @@ -59,6 +59,7 @@ class InputKubeLogsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -92,6 +93,7 @@ class InputKubeLogsInputTypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -105,6 +107,7 @@ class InputKubeLogsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -168,6 +171,7 @@ class InputKubeLogsInput(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputkubemetrics_input.py b/src/cribl_control_plane/models/inputkubemetrics_input.py index b57757079..62cae4a9b 100644 --- a/src/cribl_control_plane/models/inputkubemetrics_input.py +++ b/src/cribl_control_plane/models/inputkubemetrics_input.py @@ -102,6 +102,7 @@ class InputKubeMetricsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -127,6 +128,7 @@ class InputKubeMetricsInputTypedDict(TypedDict): r"""Fields to add to events from this input""" persistence: NotRequired[InputKubeMetricsPersistenceTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -140,6 +142,7 @@ class InputKubeMetricsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -185,6 +188,7 @@ class InputKubeMetricsInput(BaseModel): persistence: Optional[InputKubeMetricsPersistence] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputloki_input.py b/src/cribl_control_plane/models/inputloki_input.py index d0b0eef9e..88c765691 100644 --- a/src/cribl_control_plane/models/inputloki_input.py +++ b/src/cribl_control_plane/models/inputloki_input.py @@ -25,11 +25,14 @@ class InputLokiType(str, Enum): + r"""Source type identifier.""" + LOKI = "loki" class InputLokiInputTypedDict(TypedDict): type: InputLokiType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -39,6 +42,7 @@ class InputLokiInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -80,6 +84,7 @@ class InputLokiInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -102,6 +107,7 @@ class InputLokiInputTypedDict(TypedDict): class InputLokiInput(BaseModel): type: InputLokiType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -116,6 +122,7 @@ class InputLokiInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -205,6 +212,7 @@ class InputLokiInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None diff --git a/src/cribl_control_plane/models/inputmetrics_input.py b/src/cribl_control_plane/models/inputmetrics_input.py index 85de890cb..49a193de8 100644 --- a/src/cribl_control_plane/models/inputmetrics_input.py +++ b/src/cribl_control_plane/models/inputmetrics_input.py @@ -33,6 +33,7 @@ class InputMetricsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -62,6 +63,7 @@ class InputMetricsInputTypedDict(TypedDict): udp_socket_rx_buf_size: NotRequired[float] r"""Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -84,6 +86,7 @@ class InputMetricsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -139,6 +142,7 @@ class InputMetricsInput(BaseModel): r"""Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputmicrosoftgraph_input.py b/src/cribl_control_plane/models/inputmicrosoftgraph_input.py index f72025d2f..847d6e882 100644 --- a/src/cribl_control_plane/models/inputmicrosoftgraph_input.py +++ b/src/cribl_control_plane/models/inputmicrosoftgraph_input.py @@ -61,6 +61,7 @@ class InputMicrosoftGraphInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -106,6 +107,7 @@ class InputMicrosoftGraphInputTypedDict(TypedDict): r"""Log Level (verbosity) for collection runtime behavior.""" retry_rules: NotRequired[RetryRulesTypeCodesEnableHeaderTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""client_secret to pass in the OAuth request parameter.""" tenant_id: NotRequired[str] @@ -148,6 +150,7 @@ class InputMicrosoftGraphInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -238,6 +241,7 @@ class InputMicrosoftGraphInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""client_secret to pass in the OAuth request parameter.""" diff --git a/src/cribl_control_plane/models/inputmodeldriventelemetry_input.py b/src/cribl_control_plane/models/inputmodeldriventelemetry_input.py index e08178318..e505914ef 100644 --- a/src/cribl_control_plane/models/inputmodeldriventelemetry_input.py +++ b/src/cribl_control_plane/models/inputmodeldriventelemetry_input.py @@ -35,6 +35,7 @@ class InputModelDrivenTelemetryInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -56,6 +57,7 @@ class InputModelDrivenTelemetryInputTypedDict(TypedDict): shutdown_timeout_ms: NotRequired[float] r"""Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -79,6 +81,7 @@ class InputModelDrivenTelemetryInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -118,6 +121,7 @@ class InputModelDrivenTelemetryInput(BaseModel): r"""Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputmsk_input.py b/src/cribl_control_plane/models/inputmsk_input.py index 29d6a947c..0e9a49939 100644 --- a/src/cribl_control_plane/models/inputmsk_input.py +++ b/src/cribl_control_plane/models/inputmsk_input.py @@ -47,6 +47,7 @@ class InputMskInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -126,6 +127,7 @@ class InputMskInputTypedDict(TypedDict): max_socket_errors: NotRequired[float] r"""Maximum number of network errors before the consumer re-creates a socket""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -175,6 +177,7 @@ class InputMskInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -336,6 +339,7 @@ class InputMskInput(BaseModel): r"""Maximum number of network errors before the consumer re-creates a socket""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/inputnetflow_input.py b/src/cribl_control_plane/models/inputnetflow_input.py index 81d7397dc..3e349574c 100644 --- a/src/cribl_control_plane/models/inputnetflow_input.py +++ b/src/cribl_control_plane/models/inputnetflow_input.py @@ -31,6 +31,7 @@ class InputNetflowInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -63,6 +64,7 @@ class InputNetflowInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -86,6 +88,7 @@ class InputNetflowInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -149,6 +152,7 @@ class InputNetflowInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputoffice365mgmt_input.py b/src/cribl_control_plane/models/inputoffice365mgmt_input.py index 4df0ef452..45f781fb5 100644 --- a/src/cribl_control_plane/models/inputoffice365mgmt_input.py +++ b/src/cribl_control_plane/models/inputoffice365mgmt_input.py @@ -98,6 +98,7 @@ class InputOffice365MgmtInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -135,6 +136,7 @@ class InputOffice365MgmtInputTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""Microsoft 365 Azure client secret""" text_secret: NotRequired[str] @@ -171,6 +173,7 @@ class InputOffice365MgmtInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -248,6 +251,7 @@ class InputOffice365MgmtInput(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""Microsoft 365 Azure client secret""" diff --git a/src/cribl_control_plane/models/inputoffice365msgtrace_input.py b/src/cribl_control_plane/models/inputoffice365msgtrace_input.py index 49cb3693d..b56bdeadd 100644 --- a/src/cribl_control_plane/models/inputoffice365msgtrace_input.py +++ b/src/cribl_control_plane/models/inputoffice365msgtrace_input.py @@ -51,6 +51,7 @@ class InputOffice365MsgTraceInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -94,6 +95,7 @@ class InputOffice365MsgTraceInputTypedDict(TypedDict): r"""Log Level (verbosity) for collection runtime behavior.""" retry_rules: NotRequired[RetryRulesTypeCodesEnableHeaderTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] r"""Username to run Message Trace API call.""" password: NotRequired[str] @@ -142,6 +144,7 @@ class InputOffice365MsgTraceInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -229,6 +232,7 @@ class InputOffice365MsgTraceInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None r"""Username to run Message Trace API call.""" diff --git a/src/cribl_control_plane/models/inputoffice365service_input.py b/src/cribl_control_plane/models/inputoffice365service_input.py index 674bfd7ae..0eec8d074 100644 --- a/src/cribl_control_plane/models/inputoffice365service_input.py +++ b/src/cribl_control_plane/models/inputoffice365service_input.py @@ -96,6 +96,7 @@ class InputOffice365ServiceInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -131,6 +132,7 @@ class InputOffice365ServiceInputTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""Microsoft 365 Azure client secret""" text_secret: NotRequired[str] @@ -162,6 +164,7 @@ class InputOffice365ServiceInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -234,6 +237,7 @@ class InputOffice365ServiceInput(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""Microsoft 365 Azure client secret""" diff --git a/src/cribl_control_plane/models/inputokta_input.py b/src/cribl_control_plane/models/inputokta_input.py index 63f4fcb58..79194b897 100644 --- a/src/cribl_control_plane/models/inputokta_input.py +++ b/src/cribl_control_plane/models/inputokta_input.py @@ -32,6 +32,7 @@ class InputOktaInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -69,6 +70,7 @@ class InputOktaInputTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -90,6 +92,7 @@ class InputOktaInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -159,6 +162,7 @@ class InputOktaInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputopenai_input.py b/src/cribl_control_plane/models/inputopenai_input.py index d2619dce6..a69789090 100644 --- a/src/cribl_control_plane/models/inputopenai_input.py +++ b/src/cribl_control_plane/models/inputopenai_input.py @@ -226,6 +226,7 @@ class InputOpenaiInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -258,6 +259,7 @@ class InputOpenaiInputTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -282,6 +284,7 @@ class InputOpenaiInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -348,6 +351,7 @@ class InputOpenaiInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputopenaicompliancelogs_input.py b/src/cribl_control_plane/models/inputopenaicompliancelogs_input.py index 9079c3c58..aca9bdabe 100644 --- a/src/cribl_control_plane/models/inputopenaicompliancelogs_input.py +++ b/src/cribl_control_plane/models/inputopenaicompliancelogs_input.py @@ -51,6 +51,7 @@ class InputOpenaiComplianceLogsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -95,6 +96,7 @@ class InputOpenaiComplianceLogsInputTypedDict(TypedDict): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" workspace_id: NotRequired[str] r"""The ID of the ChatGPT workspace to collect logs from (UUID format)""" workspace_event_types: NotRequired[List[str]] @@ -134,6 +136,7 @@ class InputOpenaiComplianceLogsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -223,6 +226,7 @@ class InputOpenaiComplianceLogsInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" workspace_id: Annotated[Optional[str], pydantic.Field(alias="workspaceId")] = None r"""The ID of the ChatGPT workspace to collect logs from (UUID format)""" diff --git a/src/cribl_control_plane/models/inputopentelemetry_input.py b/src/cribl_control_plane/models/inputopentelemetry_input.py index eaa31682d..f5ce7d093 100644 --- a/src/cribl_control_plane/models/inputopentelemetry_input.py +++ b/src/cribl_control_plane/models/inputopentelemetry_input.py @@ -24,6 +24,8 @@ class InputOpenTelemetryType(str, Enum): + r"""Source type identifier.""" + OPEN_TELEMETRY = "open_telemetry" @@ -156,6 +158,7 @@ def serialize_model(self, handler): class InputOpenTelemetryInputTypedDict(TypedDict): type: InputOpenTelemetryType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -163,6 +166,7 @@ class InputOpenTelemetryInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -210,6 +214,7 @@ class InputOpenTelemetryInputTypedDict(TypedDict): max_active_cxn: NotRequired[float] r"""Maximum number of active connections allowed per Worker Process. Use 0 for unlimited.""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -236,6 +241,7 @@ class InputOpenTelemetryInputTypedDict(TypedDict): class InputOpenTelemetryInput(BaseModel): type: InputOpenTelemetryType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -247,6 +253,7 @@ class InputOpenTelemetryInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -350,6 +357,7 @@ class InputOpenTelemetryInput(BaseModel): r"""Maximum number of active connections allowed per Worker Process. Use 0 for unlimited.""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None diff --git a/src/cribl_control_plane/models/inputprometheus_input.py b/src/cribl_control_plane/models/inputprometheus_input.py index b5df2dcff..3934553f7 100644 --- a/src/cribl_control_plane/models/inputprometheus_input.py +++ b/src/cribl_control_plane/models/inputprometheus_input.py @@ -66,6 +66,7 @@ class InputPrometheusInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -104,6 +105,7 @@ class InputPrometheusInputTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsSasl] r"""Enter credentials directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" target_list: NotRequired[List[str]] 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'.""" record_type: NotRequired[RecordTypeOptions] @@ -201,6 +203,7 @@ class InputPrometheusInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -277,6 +280,7 @@ class InputPrometheusInput(BaseModel): r"""Enter credentials directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" target_list: Annotated[Optional[List[str]], pydantic.Field(alias="targetList")] = ( None diff --git a/src/cribl_control_plane/models/inputprometheusrw_input.py b/src/cribl_control_plane/models/inputprometheusrw_input.py index 2606b2d08..0015e7322 100644 --- a/src/cribl_control_plane/models/inputprometheusrw_input.py +++ b/src/cribl_control_plane/models/inputprometheusrw_input.py @@ -27,11 +27,14 @@ class InputPrometheusRwType(str, Enum): + r"""Source type identifier.""" + PROMETHEUS_RW = "prometheus_rw" class InputPrometheusRwInputTypedDict(TypedDict): type: InputPrometheusRwType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -41,6 +44,7 @@ class InputPrometheusRwInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -82,6 +86,7 @@ class InputPrometheusRwInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -106,6 +111,7 @@ class InputPrometheusRwInputTypedDict(TypedDict): class InputPrometheusRwInput(BaseModel): type: InputPrometheusRwType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -120,6 +126,7 @@ class InputPrometheusRwInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -210,6 +217,7 @@ class InputPrometheusRwInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None diff --git a/src/cribl_control_plane/models/inputrawudp_input.py b/src/cribl_control_plane/models/inputrawudp_input.py index 4b55ba905..3128b78cb 100644 --- a/src/cribl_control_plane/models/inputrawudp_input.py +++ b/src/cribl_control_plane/models/inputrawudp_input.py @@ -31,6 +31,7 @@ class InputRawUDPInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -57,6 +58,7 @@ class InputRawUDPInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -80,6 +82,7 @@ class InputRawUDPInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -132,6 +135,7 @@ class InputRawUDPInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputresponse.py b/src/cribl_control_plane/models/inputresponse.py index bf1e80b0f..e972b9e78 100644 --- a/src/cribl_control_plane/models/inputresponse.py +++ b/src/cribl_control_plane/models/inputresponse.py @@ -376,6 +376,7 @@ class InputResponseInputSystemStateTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -404,6 +405,7 @@ class InputResponseInputSystemStateTypedDict(TypedDict): disable_native_last_log_module: NotRequired[bool] r"""Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab)""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -421,6 +423,7 @@ class InputResponseInputSystemState(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -471,6 +474,7 @@ class InputResponseInputSystemState(BaseModel): r"""Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab)""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1110,6 +1114,7 @@ class InputResponseInputSystemMetricsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1137,6 +1142,7 @@ class InputResponseInputSystemMetricsTypedDict(TypedDict): r"""Fields to add to events from this input""" persistence: NotRequired[InputResponsePersistenceSystemMetricsTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1154,6 +1160,7 @@ class InputResponseInputSystemMetrics(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1200,6 +1207,7 @@ class InputResponseInputSystemMetrics(BaseModel): persistence: Optional[InputResponsePersistenceSystemMetrics] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1272,6 +1280,7 @@ class InputResponseInputTcpjsonTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1309,6 +1318,7 @@ class InputResponseInputTcpjsonTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" auth_token: NotRequired[str] r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" text_secret: NotRequired[str] @@ -1340,6 +1350,7 @@ class InputResponseInputTcpjson(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1416,6 +1427,7 @@ class InputResponseInputTcpjson(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" @@ -1508,6 +1520,8 @@ def serialize_model(self, handler): class InputResponseTypeCriblLakeHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_LAKE_HTTP = "cribl_lake_http" @@ -1622,6 +1636,7 @@ def serialize_model(self, handler): class InputResponseInputCriblLakeHTTPTypedDict(TypedDict): type: InputResponseTypeCriblLakeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -1629,6 +1644,7 @@ class InputResponseInputCriblLakeHTTPTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1682,6 +1698,7 @@ class InputResponseInputCriblLakeHTTPTypedDict(TypedDict): r"""Fields to add to events from this input""" auth_tokens_ext: NotRequired[List[InputResponseAuthTokensExtTypedDict]] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1706,6 +1723,7 @@ class InputResponseInputCriblLakeHTTPTypedDict(TypedDict): class InputResponseInputCriblLakeHTTP(BaseModel): type: InputResponseTypeCriblLakeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1717,6 +1735,7 @@ class InputResponseInputCriblLakeHTTP(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1832,6 +1851,7 @@ class InputResponseInputCriblLakeHTTP(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1940,11 +1960,14 @@ def serialize_model(self, handler): class InputResponseTypeCriblHTTP(str, Enum): + r"""Source type identifier.""" + CRIBL_HTTP = "cribl_http" class InputResponseInputCriblHTTPTypedDict(TypedDict): type: InputResponseTypeCriblHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -1952,6 +1975,7 @@ class InputResponseInputCriblHTTPTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1997,6 +2021,7 @@ class InputResponseInputCriblHTTPTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2013,6 +2038,7 @@ class InputResponseInputCriblHTTPTypedDict(TypedDict): class InputResponseInputCriblHTTP(BaseModel): type: InputResponseTypeCriblHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -2024,6 +2050,7 @@ class InputResponseInputCriblHTTP(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2119,6 +2146,7 @@ class InputResponseInputCriblHTTP(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2210,6 +2238,7 @@ class InputResponseInputCriblTCPTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2245,6 +2274,7 @@ class InputResponseInputCriblTCPTypedDict(TypedDict): auth_tokens: NotRequired[List[AuthTokenConfInputCriblTCPTypedDict]] r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2272,6 +2302,7 @@ class InputResponseInputCriblTCP(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2342,6 +2373,7 @@ class InputResponseInputCriblTCP(BaseModel): r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2424,6 +2456,7 @@ class InputResponseInputCriblTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2445,6 +2478,7 @@ class InputResponseInputCriblTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2462,6 +2496,7 @@ class InputResponseInputCribl(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2497,6 +2532,7 @@ class InputResponseInputCribl(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2564,6 +2600,7 @@ class InputResponseInputGooglePubsubTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2604,6 +2641,7 @@ class InputResponseInputGooglePubsubTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" ordered_delivery: NotRequired[bool] r"""Receive events in the order they were added to the queue. The process sending events must have ordering enabled.""" template_environment: NotRequired[str] @@ -2635,6 +2673,7 @@ class InputResponseInputGooglePubsub(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2709,6 +2748,7 @@ class InputResponseInputGooglePubsub(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" ordered_delivery: Annotated[ Optional[bool], pydantic.Field(alias="orderedDelivery") @@ -2806,11 +2846,14 @@ def serialize_model(self, handler): class InputResponseTypeFirehose(str, Enum): + r"""Source type identifier.""" + FIREHOSE = "firehose" class InputResponseInputFirehoseTypedDict(TypedDict): type: InputResponseTypeFirehose + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -2818,6 +2861,7 @@ class InputResponseInputFirehoseTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2863,6 +2907,7 @@ class InputResponseInputFirehoseTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -2881,6 +2926,7 @@ class InputResponseInputFirehoseTypedDict(TypedDict): class InputResponseInputFirehose(BaseModel): type: InputResponseTypeFirehose + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -2892,6 +2938,7 @@ class InputResponseInputFirehose(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2987,6 +3034,7 @@ class InputResponseInputFirehose(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3119,6 +3167,7 @@ class InputResponseInputExecTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" interval: NotRequired[float] r"""Interval between command executions in seconds.""" cron_schedule: NotRequired[str] @@ -3197,6 +3246,7 @@ class InputResponseInputExec(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" interval: Optional[float] = None r"""Interval between command executions in seconds.""" @@ -3621,6 +3671,7 @@ class InputResponseInputEventhubAmqpTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3666,6 +3717,7 @@ class InputResponseInputEventhubAmqpTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3688,6 +3740,7 @@ class InputResponseInputEventhubAmqp(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3777,6 +3830,7 @@ class InputResponseInputEventhubAmqp(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3856,6 +3910,7 @@ class InputResponseInputEventhubTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3923,6 +3978,7 @@ class InputResponseInputEventhubTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3952,6 +4008,7 @@ class InputResponseInputEventhub(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4081,6 +4138,7 @@ class InputResponseInputEventhub(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -4211,6 +4269,7 @@ class InputResponseInputMicrosoftGraphTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4260,6 +4319,7 @@ class InputResponseInputMicrosoftGraphTypedDict(TypedDict): r"""Log Level (verbosity) for collection runtime behavior.""" retry_rules: NotRequired[RetryRulesTypeCodesEnableHeaderTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""client_secret to pass in the OAuth request parameter.""" tenant_id: NotRequired[str] @@ -4306,6 +4366,7 @@ class InputResponseInputMicrosoftGraph(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4402,6 +4463,7 @@ class InputResponseInputMicrosoftGraph(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""client_secret to pass in the OAuth request parameter.""" @@ -4583,6 +4645,7 @@ class InputResponseInputOffice365MsgTraceTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4630,6 +4693,7 @@ class InputResponseInputOffice365MsgTraceTypedDict(TypedDict): r"""Log Level (verbosity) for collection runtime behavior.""" retry_rules: NotRequired[RetryRulesTypeCodesEnableHeaderTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] r"""Username to run Message Trace API call.""" password: NotRequired[str] @@ -4682,6 +4746,7 @@ class InputResponseInputOffice365MsgTrace(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4775,6 +4840,7 @@ class InputResponseInputOffice365MsgTrace(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None r"""Username to run Message Trace API call.""" @@ -5012,6 +5078,7 @@ class InputResponseInputOffice365ServiceTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5053,6 +5120,7 @@ class InputResponseInputOffice365ServiceTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""Microsoft 365 Azure client secret""" text_secret: NotRequired[str] @@ -5088,6 +5156,7 @@ class InputResponseInputOffice365Service(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5166,6 +5235,7 @@ class InputResponseInputOffice365Service(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""Microsoft 365 Azure client secret""" @@ -5349,6 +5419,7 @@ class InputResponseInputOffice365MgmtTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5390,6 +5461,7 @@ class InputResponseInputOffice365MgmtTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""Microsoft 365 Azure client secret""" text_secret: NotRequired[str] @@ -5430,6 +5502,7 @@ class InputResponseInputOffice365Mgmt(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5513,6 +5586,7 @@ class InputResponseInputOffice365Mgmt(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""Microsoft 365 Azure client secret""" @@ -5756,6 +5830,7 @@ class InputResponseInputEdgePrometheusTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5785,6 +5860,7 @@ class InputResponseInputEdgePrometheusTypedDict(TypedDict): auth_type: NotRequired[InputResponseAuthenticationMethodEdgePrometheus] r"""Enter credentials directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" targets: NotRequired[List[InputResponseTargetTypedDict]] record_type: NotRequired[RecordTypeOptions] r"""DNS record type to resolve""" @@ -5894,6 +5970,7 @@ class InputResponseInputEdgePrometheus(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5948,6 +6025,7 @@ class InputResponseInputEdgePrometheus(BaseModel): r"""Enter credentials directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" targets: Optional[List[InputResponseTarget]] = None @@ -6307,6 +6385,7 @@ class InputResponseInputPrometheusTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6349,6 +6428,7 @@ class InputResponseInputPrometheusTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsSasl] r"""Enter credentials directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" target_list: NotRequired[List[str]] 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'.""" record_type: NotRequired[RecordTypeOptions] @@ -6450,6 +6530,7 @@ class InputResponseInputPrometheus(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6533,6 +6614,7 @@ class InputResponseInputPrometheus(BaseModel): r"""Enter credentials directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" target_list: Annotated[Optional[List[str]], pydantic.Field(alias="targetList")] = ( None @@ -6867,11 +6949,14 @@ def serialize_model(self, handler): class InputResponseTypePrometheusRw(str, Enum): + r"""Source type identifier.""" + PROMETHEUS_RW = "prometheus_rw" class InputResponseInputPrometheusRwTypedDict(TypedDict): type: InputResponseTypePrometheusRw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -6881,6 +6966,7 @@ class InputResponseInputPrometheusRwTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6926,6 +7012,7 @@ class InputResponseInputPrometheusRwTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -6954,6 +7041,7 @@ class InputResponseInputPrometheusRwTypedDict(TypedDict): class InputResponseInputPrometheusRw(BaseModel): type: InputResponseTypePrometheusRw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -6968,6 +7056,7 @@ class InputResponseInputPrometheusRw(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7064,6 +7153,7 @@ class InputResponseInputPrometheusRw(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -7184,11 +7274,14 @@ def serialize_model(self, handler): class InputResponseTypeLoki(str, Enum): + r"""Source type identifier.""" + LOKI = "loki" class InputResponseInputLokiTypedDict(TypedDict): type: InputResponseTypeLoki + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -7198,6 +7291,7 @@ class InputResponseInputLokiTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7243,6 +7337,7 @@ class InputResponseInputLokiTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -7269,6 +7364,7 @@ class InputResponseInputLokiTypedDict(TypedDict): class InputResponseInputLoki(BaseModel): type: InputResponseTypeLoki + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -7283,6 +7379,7 @@ class InputResponseInputLoki(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7378,6 +7475,7 @@ class InputResponseInputLoki(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -7492,6 +7590,8 @@ def serialize_model(self, handler): class InputResponseInputGrafanaType2(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -7636,6 +7736,7 @@ def serialize_model(self, handler): class InputResponseInputGrafanaGrafana2TypedDict(TypedDict): type: InputResponseInputGrafanaType2 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -7645,6 +7746,7 @@ class InputResponseInputGrafanaGrafana2TypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7692,6 +7794,7 @@ class InputResponseInputGrafanaGrafana2TypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -7712,6 +7815,7 @@ class InputResponseInputGrafanaGrafana2TypedDict(TypedDict): class InputResponseInputGrafanaGrafana2(BaseModel): type: InputResponseInputGrafanaType2 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -7726,6 +7830,7 @@ class InputResponseInputGrafanaGrafana2(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7829,6 +7934,7 @@ class InputResponseInputGrafanaGrafana2(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -7922,6 +8028,8 @@ def serialize_model(self, handler): class InputResponseInputGrafanaType1(str, Enum): + r"""Source type identifier.""" + GRAFANA = "grafana" @@ -8066,6 +8174,7 @@ def serialize_model(self, handler): class InputResponseInputGrafanaGrafana1TypedDict(TypedDict): type: InputResponseInputGrafanaType1 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -8075,6 +8184,7 @@ class InputResponseInputGrafanaGrafana1TypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8122,6 +8232,7 @@ class InputResponseInputGrafanaGrafana1TypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -8142,6 +8253,7 @@ class InputResponseInputGrafanaGrafana1TypedDict(TypedDict): class InputResponseInputGrafanaGrafana1(BaseModel): type: InputResponseInputGrafanaType1 + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -8156,6 +8268,7 @@ class InputResponseInputGrafanaGrafana1(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8257,6 +8370,7 @@ class InputResponseInputGrafanaGrafana1(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -8377,6 +8491,7 @@ class InputResponseInputConfluentCloudTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8447,6 +8562,7 @@ class InputResponseInputConfluentCloudTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -8476,6 +8592,7 @@ class InputResponseInputConfluentCloud(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8609,6 +8726,7 @@ class InputResponseInputConfluentCloud(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -8702,6 +8820,8 @@ def serialize_model(self, handler): class InputResponseTypeElastic(str, Enum): + r"""Source type identifier.""" + ELASTIC = "elastic" @@ -8836,6 +8956,7 @@ def serialize_model(self, handler): class InputResponseInputElasticTypedDict(TypedDict): type: InputResponseTypeElastic + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -8845,6 +8966,7 @@ class InputResponseInputElasticTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8894,6 +9016,7 @@ class InputResponseInputElasticTypedDict(TypedDict): r"""Fields to add to events from this input""" proxy_mode: NotRequired[InputResponseProxyModeElasticTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -8922,6 +9045,7 @@ class InputResponseInputElasticTypedDict(TypedDict): class InputResponseInputElastic(BaseModel): type: InputResponseTypeElastic + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -8936,6 +9060,7 @@ class InputResponseInputElastic(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9046,6 +9171,7 @@ class InputResponseInputElastic(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -9192,6 +9318,7 @@ class InputResponseInputAzureBlobTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9233,6 +9360,7 @@ class InputResponseInputAzureBlobTypedDict(TypedDict): r"""The maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified.""" auth_type: NotRequired[AuthenticationMethodOptions] description: NotRequired[str] + r"""Optional description for this configuration.""" connection_string: NotRequired[str] r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" text_secret: NotRequired[str] @@ -9282,6 +9410,7 @@ class InputResponseInputAzureBlob(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9363,6 +9492,7 @@ class InputResponseInputAzureBlob(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" connection_string: Annotated[ Optional[str], pydantic.Field(alias="connectionString") @@ -9516,6 +9646,8 @@ def serialize_model(self, handler): class InputResponseTypeSplunkHec(str, Enum): + r"""Source type identifier.""" + SPLUNK_HEC = "splunk_hec" @@ -9527,6 +9659,7 @@ class InputResponseAuthTokenSplunkHecTypedDict(TypedDict): token_secret: NotRequired[str] r"""Select or create a stored text secret""" enabled: NotRequired[bool] + r"""If true, the token is active and can be used for authentication.""" description: NotRequired[str] r"""Optional token description""" allowed_indexes_at_token: NotRequired[List[str]] @@ -9549,6 +9682,7 @@ class InputResponseAuthTokenSplunkHec(BaseModel): r"""Select or create a stored text secret""" enabled: Optional[bool] = None + r"""If true, the token is active and can be used for authentication.""" description: Optional[str] = None r"""Optional token description""" @@ -9598,6 +9732,7 @@ def serialize_model(self, handler): class InputResponseInputSplunkHecTypedDict(TypedDict): type: InputResponseTypeSplunkHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -9607,6 +9742,7 @@ class InputResponseInputSplunkHecTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9670,6 +9806,7 @@ class InputResponseInputSplunkHecTypedDict(TypedDict): emit_token_metrics: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9688,6 +9825,7 @@ class InputResponseInputSplunkHecTypedDict(TypedDict): class InputResponseInputSplunkHec(BaseModel): type: InputResponseTypeSplunkHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -9702,6 +9840,7 @@ class InputResponseInputSplunkHec(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9843,6 +9982,7 @@ class InputResponseInputSplunkHec(BaseModel): r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10009,6 +10149,7 @@ class InputResponseInputSplunkSearchTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10062,6 +10203,7 @@ class InputResponseInputSplunkSearchTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -10121,6 +10263,7 @@ class InputResponseInputSplunkSearch(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10230,6 +10373,7 @@ class InputResponseInputSplunkSearch(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -10445,6 +10589,7 @@ class InputResponseInputSplunkTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10486,6 +10631,7 @@ class InputResponseInputSplunkTypedDict(TypedDict): max_s2_sversion: NotRequired[InputResponseMaxS2SVersion] r"""The highest S2S protocol version to advertise during handshake""" description: NotRequired[str] + r"""Optional description for this configuration.""" use_fwd_timezone: NotRequired[bool] r"""Event Breakers will determine events' time zone from UF-provided metadata, when TZ can't be inferred from the raw event""" drop_control_fields: NotRequired[bool] @@ -10525,6 +10671,7 @@ class InputResponseInputSplunk(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10610,6 +10757,7 @@ class InputResponseInputSplunk(BaseModel): r"""The highest S2S protocol version to advertise during handshake""" description: Optional[str] = None + r"""Optional description for this configuration.""" use_fwd_timezone: Annotated[ Optional[bool], pydantic.Field(alias="useFwdTimezone") @@ -10739,11 +10887,14 @@ def serialize_model(self, handler): class InputResponseTypeHTTP(str, Enum): + r"""Source type identifier.""" + HTTP = "http" class InputResponseInputHTTPTypedDict(TypedDict): type: InputResponseTypeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -10751,6 +10902,7 @@ class InputResponseInputHTTPTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10805,6 +10957,7 @@ class InputResponseInputHTTPTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10829,6 +10982,7 @@ class InputResponseInputHTTPTypedDict(TypedDict): class InputResponseInputHTTP(BaseModel): type: InputResponseTypeHTTP + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -10840,6 +10994,7 @@ class InputResponseInputHTTP(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10956,6 +11111,7 @@ class InputResponseInputHTTP(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11080,6 +11236,7 @@ class InputResponseInputMskTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11163,6 +11320,7 @@ class InputResponseInputMskTypedDict(TypedDict): max_socket_errors: NotRequired[float] r"""Maximum number of network errors before the consumer re-creates a socket""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -11216,6 +11374,7 @@ class InputResponseInputMsk(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11383,6 +11542,7 @@ class InputResponseInputMsk(BaseModel): r"""Maximum number of network errors before the consumer re-creates a socket""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -11547,6 +11707,7 @@ class InputResponseInputKafkaTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11617,6 +11778,7 @@ class InputResponseInputKafkaTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -11646,6 +11808,7 @@ class InputResponseInputKafka(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11779,6 +11942,7 @@ class InputResponseInputKafka(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11880,6 +12044,7 @@ class InputResponseInputCollectionTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process results""" send_to_routes: NotRequired[bool] @@ -11925,6 +12090,7 @@ class InputResponseInputCollection(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process results""" diff --git a/src/cribl_control_plane/models/inputresponse_logged_in_users.py b/src/cribl_control_plane/models/inputresponse_logged_in_users.py index e120d740f..daf41a8bd 100644 --- a/src/cribl_control_plane/models/inputresponse_logged_in_users.py +++ b/src/cribl_control_plane/models/inputresponse_logged_in_users.py @@ -96,6 +96,7 @@ class InputResponseInputOktaTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -137,6 +138,7 @@ class InputResponseInputOktaTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -162,6 +164,7 @@ class InputResponseInputOkta(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -237,6 +240,7 @@ class InputResponseInputOkta(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -416,6 +420,7 @@ class InputResponseInputAnthropicComplianceTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -448,6 +453,7 @@ class InputResponseInputAnthropicComplianceTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -473,6 +479,7 @@ class InputResponseInputAnthropicCompliance(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -535,6 +542,7 @@ class InputResponseInputAnthropicCompliance(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -623,6 +631,7 @@ class InputResponseInputOpenaiComplianceLogsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -671,6 +680,7 @@ class InputResponseInputOpenaiComplianceLogsTypedDict(TypedDict): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" workspace_id: NotRequired[str] r"""The ID of the ChatGPT workspace to collect logs from (UUID format)""" workspace_event_types: NotRequired[List[str]] @@ -714,6 +724,7 @@ class InputResponseInputOpenaiComplianceLogs(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -809,6 +820,7 @@ class InputResponseInputOpenaiComplianceLogs(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" workspace_id: Annotated[Optional[str], pydantic.Field(alias="workspaceId")] = None r"""The ID of the ChatGPT workspace to collect logs from (UUID format)""" @@ -948,11 +960,14 @@ def serialize_model(self, handler): class InputResponseTypeSysdigHec(str, Enum): + r"""Source type identifier.""" + SYSDIG_HEC = "sysdig_hec" class InputResponseInputSysdigHecTypedDict(TypedDict): type: InputResponseTypeSysdigHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -962,6 +977,7 @@ class InputResponseInputSysdigHecTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1013,6 +1029,7 @@ class InputResponseInputSysdigHecTypedDict(TypedDict): emit_token_metrics: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1037,6 +1054,7 @@ class InputResponseInputSysdigHecTypedDict(TypedDict): class InputResponseInputSysdigHec(BaseModel): type: InputResponseTypeSysdigHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1051,6 +1069,7 @@ class InputResponseInputSysdigHec(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1162,6 +1181,7 @@ class InputResponseInputSysdigHec(BaseModel): r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1268,6 +1288,8 @@ def serialize_model(self, handler): class InputResponseTypeCloudflareHec(str, Enum): + r"""Source type identifier.""" + CLOUDFLARE_HEC = "cloudflare_hec" @@ -1387,6 +1409,7 @@ def serialize_model(self, handler): class InputResponseInputCloudflareHecTypedDict(TypedDict): type: InputResponseTypeCloudflareHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -1396,6 +1419,7 @@ class InputResponseInputCloudflareHecTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1451,6 +1475,7 @@ class InputResponseInputCloudflareHecTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1475,6 +1500,7 @@ class InputResponseInputCloudflareHecTypedDict(TypedDict): class InputResponseInputCloudflareHec(BaseModel): type: InputResponseTypeCloudflareHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1489,6 +1515,7 @@ class InputResponseInputCloudflareHec(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -1610,6 +1637,7 @@ class InputResponseInputCloudflareHec(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -1718,6 +1746,8 @@ def serialize_model(self, handler): class InputResponseTypeZscalerHec(str, Enum): + r"""Source type identifier.""" + ZSCALER_HEC = "zscaler_hec" @@ -1798,6 +1828,7 @@ def serialize_model(self, handler): class InputResponseInputZscalerHecTypedDict(TypedDict): type: InputResponseTypeZscalerHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -1807,6 +1838,7 @@ class InputResponseInputZscalerHecTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -1860,6 +1892,7 @@ class InputResponseInputZscalerHecTypedDict(TypedDict): hec_acks: NotRequired[bool] r"""Whether to enable Zscaler HEC acknowledgements""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -1884,6 +1917,7 @@ class InputResponseInputZscalerHecTypedDict(TypedDict): class InputResponseInputZscalerHec(BaseModel): type: InputResponseTypeZscalerHec + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -1898,6 +1932,7 @@ class InputResponseInputZscalerHec(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2012,6 +2047,7 @@ class InputResponseInputZscalerHec(BaseModel): r"""Whether to enable Zscaler HEC acknowledgements""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -2176,6 +2212,7 @@ class InputResponseInputServicenowTableTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2231,6 +2268,7 @@ class InputResponseInputServicenowTableTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" credentials_secret: NotRequired[str] r"""Select or create a secret that references your credentials""" oauth_grant_type: NotRequired[InputResponseGrantType] @@ -2295,6 +2333,7 @@ class InputResponseInputServicenowTable(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2406,6 +2445,7 @@ class InputResponseInputServicenowTable(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" credentials_secret: Annotated[ Optional[str], pydantic.Field(alias="credentialsSecret") @@ -2621,6 +2661,7 @@ class InputResponseInputSecurityLakeTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -2692,6 +2733,7 @@ class InputResponseInputSecurityLakeTypedDict(TypedDict): encoding: NotRequired[str] r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -2736,6 +2778,7 @@ class InputResponseInputSecurityLake(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -2884,6 +2927,7 @@ class InputResponseInputSecurityLake(BaseModel): r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -3067,6 +3111,7 @@ class InputResponseInputNetflowTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3103,6 +3148,7 @@ class InputResponseInputNetflowTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3130,6 +3176,7 @@ class InputResponseInputNetflow(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3199,6 +3246,7 @@ class InputResponseInputNetflow(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3273,11 +3321,14 @@ def serialize_model(self, handler): class InputResponseTypeWizWebhook(str, Enum): + r"""Source type identifier.""" + WIZ_WEBHOOK = "wiz_webhook" class InputResponseInputWizWebhookTypedDict(TypedDict): type: InputResponseTypeWizWebhook + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -3285,6 +3336,7 @@ class InputResponseInputWizWebhookTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3340,6 +3392,7 @@ class InputResponseInputWizWebhookTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3360,6 +3413,7 @@ class InputResponseInputWizWebhookTypedDict(TypedDict): class InputResponseInputWizWebhook(BaseModel): type: InputResponseTypeWizWebhook + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -3371,6 +3425,7 @@ class InputResponseInputWizWebhook(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3492,6 +3547,7 @@ class InputResponseInputWizWebhook(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -3807,6 +3863,7 @@ class InputResponseInputOpenaiTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -3843,6 +3900,7 @@ class InputResponseInputOpenaiTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -3871,6 +3929,7 @@ class InputResponseInputOpenai(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -3943,6 +4002,7 @@ class InputResponseInputOpenai(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -4160,6 +4220,7 @@ class InputResponseInputWizTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4199,6 +4260,7 @@ class InputResponseInputWizTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""The client secret of the Wiz application""" text_secret: NotRequired[str] @@ -4239,6 +4301,7 @@ class InputResponseInputWiz(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4320,6 +4383,7 @@ class InputResponseInputWiz(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""The client secret of the Wiz application""" @@ -4462,6 +4526,7 @@ class InputResponseInputJournalFilesTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4491,6 +4556,7 @@ class InputResponseInputJournalFilesTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -4514,6 +4580,7 @@ class InputResponseInputJournalFiles(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4563,6 +4630,7 @@ class InputResponseInputJournalFiles(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -4634,6 +4702,7 @@ class InputResponseInputRawUDPTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4664,6 +4733,7 @@ class InputResponseInputRawUDPTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -4691,6 +4761,7 @@ class InputResponseInputRawUDP(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4749,6 +4820,7 @@ class InputResponseInputRawUDP(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -4839,6 +4911,7 @@ class InputResponseInputAppleUnifiedLogsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -4861,6 +4934,7 @@ class InputResponseInputAppleUnifiedLogsTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -4881,6 +4955,7 @@ class InputResponseInputAppleUnifiedLogs(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -4920,6 +4995,7 @@ class InputResponseInputAppleUnifiedLogs(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -5012,6 +5088,7 @@ class InputResponseInputWinEventLogsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5044,6 +5121,7 @@ class InputResponseInputWinEventLogsTypedDict(TypedDict): max_event_bytes: NotRequired[int] r"""The maximum number of bytes in an event before it is flushed to the pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" disable_json_rendering: NotRequired[bool] r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)""" disable_xml_rendering: NotRequired[bool] @@ -5068,6 +5146,7 @@ class InputResponseInputWinEventLogs(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5127,6 +5206,7 @@ class InputResponseInputWinEventLogs(BaseModel): r"""The maximum number of bytes in an event before it is flushed to the pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" disable_json_rendering: Annotated[ Optional[bool], pydantic.Field(alias="disableJsonRendering") @@ -5515,6 +5595,7 @@ class InputResponseInputWefTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -5564,6 +5645,7 @@ class InputResponseInputWefTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" log_fingerprint_mismatch: NotRequired[bool] r"""Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder.""" template_environment: NotRequired[str] @@ -5600,6 +5682,7 @@ class InputResponseInputWef(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -5702,6 +5785,7 @@ class InputResponseInputWef(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" log_fingerprint_mismatch: Annotated[ Optional[bool], pydantic.Field(alias="logFingerprintMismatch") @@ -5964,6 +6048,7 @@ class InputResponseInputAppscopeTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6006,6 +6091,7 @@ class InputResponseInputAppscopeTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" host: NotRequired[str] r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: NotRequired[float] @@ -6040,6 +6126,7 @@ class InputResponseInputAppscope(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6130,6 +6217,7 @@ class InputResponseInputAppscope(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" host: Optional[str] = None r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -6261,6 +6349,7 @@ class InputResponseInputTCPTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6301,6 +6390,7 @@ class InputResponseInputTCPTypedDict(TypedDict): r"""Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { \"authToken\" : \"myToken\", \"fields\": { \"field1\": \"value1\", \"field2\": \"value2\" } }""" preprocess: NotRequired[PreprocessTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" auth_token: NotRequired[str] r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] @@ -6334,6 +6424,7 @@ class InputResponseInputTCP(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6416,6 +6507,7 @@ class InputResponseInputTCP(BaseModel): preprocess: Optional[PreprocessType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" @@ -6534,6 +6626,7 @@ class InputResponseInputFileTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6582,6 +6675,7 @@ class InputResponseInputFileTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" path: NotRequired[str] r"""Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/).""" depth: NotRequired[float] @@ -6612,6 +6706,7 @@ class InputResponseInputFile(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -6697,6 +6792,7 @@ class InputResponseInputFile(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" path: Optional[str] = None r"""Directory path to search for files. Environment variables will be resolved (example: $CRIBL_HOME/log/).""" @@ -6819,6 +6915,7 @@ class InputResponseInputSyslogSyslog2TypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -6874,6 +6971,7 @@ class InputResponseInputSyslogSyslog2TypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: NotRequired[bool] r"""When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise.""" template_environment: NotRequired[str] @@ -6907,6 +7005,7 @@ class InputResponseInputSyslogSyslog2(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7025,6 +7124,7 @@ class InputResponseInputSyslogSyslog2(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: Annotated[ Optional[bool], pydantic.Field(alias="enableEnhancedProxyHeaderParsing") @@ -7139,6 +7239,7 @@ class InputResponseInputSyslogSyslog1TypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7194,6 +7295,7 @@ class InputResponseInputSyslogSyslog1TypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: NotRequired[bool] r"""When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise.""" template_environment: NotRequired[str] @@ -7227,6 +7329,7 @@ class InputResponseInputSyslogSyslog1(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7345,6 +7448,7 @@ class InputResponseInputSyslogSyslog1(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: Annotated[ Optional[bool], pydantic.Field(alias="enableEnhancedProxyHeaderParsing") @@ -7483,6 +7587,7 @@ class InputResponseInputSqsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7532,6 +7637,7 @@ class InputResponseInputSqsTypedDict(TypedDict): poll_timeout: NotRequired[float] r"""How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -7578,6 +7684,7 @@ class InputResponseInputSqs(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7676,6 +7783,7 @@ class InputResponseInputSqs(BaseModel): r"""How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -7842,6 +7950,7 @@ class InputResponseInputModelDrivenTelemetryTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -7867,6 +7976,7 @@ class InputResponseInputModelDrivenTelemetryTypedDict(TypedDict): shutdown_timeout_ms: NotRequired[float] r"""Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -7894,6 +8004,7 @@ class InputResponseInputModelDrivenTelemetry(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -7939,6 +8050,7 @@ class InputResponseInputModelDrivenTelemetry(BaseModel): r"""Time in milliseconds to allow the server to shutdown gracefully before forcing shutdown. Defaults to 5000.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -8008,6 +8120,8 @@ def serialize_model(self, handler): class InputResponseTypeOpenTelemetry(str, Enum): + r"""Source type identifier.""" + OPEN_TELEMETRY = "open_telemetry" @@ -8141,6 +8255,7 @@ def serialize_model(self, handler): class InputResponseInputOpenTelemetryTypedDict(TypedDict): type: InputResponseTypeOpenTelemetry + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -8148,6 +8263,7 @@ class InputResponseInputOpenTelemetryTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8199,6 +8315,7 @@ class InputResponseInputOpenTelemetryTypedDict(TypedDict): max_active_cxn: NotRequired[float] r"""Maximum number of active connections allowed per Worker Process. Use 0 for unlimited.""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -8229,6 +8346,7 @@ class InputResponseInputOpenTelemetryTypedDict(TypedDict): class InputResponseInputOpenTelemetry(BaseModel): type: InputResponseTypeOpenTelemetry + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -8240,6 +8358,7 @@ class InputResponseInputOpenTelemetry(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8350,6 +8469,7 @@ class InputResponseInputOpenTelemetry(BaseModel): r"""Maximum number of active connections allowed per Worker Process. Use 0 for unlimited.""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -8613,6 +8733,7 @@ class InputResponseInputSnmpTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8645,6 +8766,7 @@ class InputResponseInputSnmpTypedDict(TypedDict): best_effort_parsing: NotRequired[bool] r"""If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -8672,6 +8794,7 @@ class InputResponseInputSnmp(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -8735,6 +8858,7 @@ class InputResponseInputSnmp(BaseModel): r"""If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -8817,6 +8941,7 @@ class InputResponseInputS3InventoryTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -8892,6 +9017,7 @@ class InputResponseInputS3InventoryTypedDict(TypedDict): validate_inventory_files: NotRequired[bool] r"""If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -8936,6 +9062,7 @@ class InputResponseInputS3Inventory(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9096,6 +9223,7 @@ class InputResponseInputS3Inventory(BaseModel): r"""If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -9279,6 +9407,7 @@ class InputResponseInputS3TypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9352,6 +9481,7 @@ class InputResponseInputS3TypedDict(TypedDict): tag_after_processing: NotRequired[bool] r"""Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -9395,6 +9525,7 @@ class InputResponseInputS3(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9548,6 +9679,7 @@ class InputResponseInputS3(BaseModel): r"""Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -9716,6 +9848,7 @@ class InputResponseInputMetricsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9749,6 +9882,7 @@ class InputResponseInputMetricsTypedDict(TypedDict): udp_socket_rx_buf_size: NotRequired[float] r"""Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9775,6 +9909,7 @@ class InputResponseInputMetrics(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -9836,6 +9971,7 @@ class InputResponseInputMetrics(BaseModel): r"""Optionally, set the SO_RCVBUF socket option for the UDP socket. This value tells the operating system how many bytes can be buffered in the kernel before events are dropped. Leave blank to use the OS default. Caution: Increasing this value will affect OS memory utilization.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -9923,6 +10059,7 @@ class InputResponseInputCriblmetricsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -9947,6 +10084,7 @@ class InputResponseInputCriblmetricsTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -9964,6 +10102,7 @@ class InputResponseInputCriblmetrics(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10005,6 +10144,7 @@ class InputResponseInputCriblmetrics(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10104,6 +10244,7 @@ class InputResponseInputKinesisTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10159,6 +10300,7 @@ class InputResponseInputKinesisTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -10203,6 +10345,7 @@ class InputResponseInputKinesis(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10324,6 +10467,7 @@ class InputResponseInputKinesis(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -10493,11 +10637,14 @@ def serialize_model(self, handler): class InputResponseTypeHTTPRaw(str, Enum): + r"""Source type identifier.""" + HTTP_RAW = "http_raw" class InputResponseInputHTTPRawTypedDict(TypedDict): type: InputResponseTypeHTTPRaw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -10505,6 +10652,7 @@ class InputResponseInputHTTPRawTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10560,6 +10708,7 @@ class InputResponseInputHTTPRawTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10580,6 +10729,7 @@ class InputResponseInputHTTPRawTypedDict(TypedDict): class InputResponseInputHTTPRaw(BaseModel): type: InputResponseTypeHTTPRaw + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -10591,6 +10741,7 @@ class InputResponseInputHTTPRaw(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10712,6 +10863,7 @@ class InputResponseInputHTTPRaw(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10830,6 +10982,7 @@ class InputResponseInputDatagenTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -10850,6 +11003,7 @@ class InputResponseInputDatagenTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -10869,6 +11023,7 @@ class InputResponseInputDatagen(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -10902,6 +11057,7 @@ class InputResponseInputDatagen(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -10956,6 +11112,8 @@ def serialize_model(self, handler): class InputResponseTypeDatadogAgent(str, Enum): + r"""Source type identifier.""" + DATADOG_AGENT = "datadog_agent" @@ -10994,6 +11152,7 @@ def serialize_model(self, handler): class InputResponseInputDatadogAgentTypedDict(TypedDict): type: InputResponseTypeDatadogAgent + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -11001,6 +11160,7 @@ class InputResponseInputDatadogAgentTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11047,6 +11207,7 @@ class InputResponseInputDatadogAgentTypedDict(TypedDict): r"""Fields to add to events from this input""" proxy_mode: NotRequired[InputResponseProxyModeDatadogAgentTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -11063,6 +11224,7 @@ class InputResponseInputDatadogAgentTypedDict(TypedDict): class InputResponseInputDatadogAgent(BaseModel): type: InputResponseTypeDatadogAgent + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -11074,6 +11236,7 @@ class InputResponseInputDatadogAgent(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11173,6 +11336,7 @@ class InputResponseInputDatadogAgent(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -11263,6 +11427,7 @@ class InputResponseInputCrowdstrikeTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -11330,6 +11495,7 @@ class InputResponseInputCrowdstrikeTypedDict(TypedDict): encoding: NotRequired[str] r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -11374,6 +11540,7 @@ class InputResponseInputCrowdstrike(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -11512,6 +11679,7 @@ class InputResponseInputCrowdstrike(BaseModel): r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -12134,6 +12302,7 @@ class InputResponseInputWindowsMetricsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -12162,6 +12331,7 @@ class InputResponseInputWindowsMetricsTypedDict(TypedDict): disable_native_module: NotRequired[bool] r"""Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab)""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -12179,6 +12349,7 @@ class InputResponseInputWindowsMetrics(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -12228,6 +12399,7 @@ class InputResponseInputWindowsMetrics(BaseModel): r"""Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab)""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -12296,6 +12468,7 @@ class InputResponseInputKubeEventsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -12318,6 +12491,7 @@ class InputResponseInputKubeEventsTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -12335,6 +12509,7 @@ class InputResponseInputKubeEvents(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -12371,6 +12546,7 @@ class InputResponseInputKubeEvents(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -12465,6 +12641,7 @@ class InputResponseInputKubeLogsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -12502,6 +12679,7 @@ class InputResponseInputKubeLogsTypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -12519,6 +12697,7 @@ class InputResponseInputKubeLogs(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -12588,6 +12767,7 @@ class InputResponseInputKubeLogs(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -12726,6 +12906,7 @@ class InputResponseInputKubeMetricsTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -12755,6 +12936,7 @@ class InputResponseInputKubeMetricsTypedDict(TypedDict): r"""Fields to add to events from this input""" persistence: NotRequired[InputResponsePersistenceKubeMetricsTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -12772,6 +12954,7 @@ class InputResponseInputKubeMetrics(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -12823,6 +13006,7 @@ class InputResponseInputKubeMetrics(BaseModel): persistence: Optional[InputResponsePersistenceKubeMetrics] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputs3_input.py b/src/cribl_control_plane/models/inputs3_input.py index f7b35ff2e..120557c78 100644 --- a/src/cribl_control_plane/models/inputs3_input.py +++ b/src/cribl_control_plane/models/inputs3_input.py @@ -35,6 +35,7 @@ class InputS3InputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -104,6 +105,7 @@ class InputS3InputTypedDict(TypedDict): tag_after_processing: NotRequired[bool] r"""Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -143,6 +145,7 @@ class InputS3Input(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -290,6 +293,7 @@ class InputS3Input(BaseModel): r"""Add a tag to processed S3 objects. Requires s3:GetObjectTagging and s3:PutObjectTagging AWS permissions.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/inputs3inventory_input.py b/src/cribl_control_plane/models/inputs3inventory_input.py index ae452c10c..3003eca92 100644 --- a/src/cribl_control_plane/models/inputs3inventory_input.py +++ b/src/cribl_control_plane/models/inputs3inventory_input.py @@ -36,6 +36,7 @@ class InputS3InventoryInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -107,6 +108,7 @@ class InputS3InventoryInputTypedDict(TypedDict): validate_inventory_files: NotRequired[bool] r"""If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -147,6 +149,7 @@ class InputS3InventoryInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -301,6 +304,7 @@ class InputS3InventoryInput(BaseModel): r"""If set to Yes, each inventory file in the manifest will be validated against its checksum. Defaults to false""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/inputsecuritylake_input.py b/src/cribl_control_plane/models/inputsecuritylake_input.py index 7083ec398..29ee6de21 100644 --- a/src/cribl_control_plane/models/inputsecuritylake_input.py +++ b/src/cribl_control_plane/models/inputsecuritylake_input.py @@ -36,6 +36,7 @@ class InputSecurityLakeInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -103,6 +104,7 @@ class InputSecurityLakeInputTypedDict(TypedDict): encoding: NotRequired[str] r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -143,6 +145,7 @@ class InputSecurityLakeInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -285,6 +288,7 @@ class InputSecurityLakeInput(BaseModel): r"""Character encoding to use when parsing ingested data. When not set, @{product} will default to UTF-8 but may incorrectly interpret multi-byte characters.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/inputservicenowtable_input.py b/src/cribl_control_plane/models/inputservicenowtable_input.py index e33ce680a..63866ecdf 100644 --- a/src/cribl_control_plane/models/inputservicenowtable_input.py +++ b/src/cribl_control_plane/models/inputservicenowtable_input.py @@ -85,6 +85,7 @@ class InputServicenowTableInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -136,6 +137,7 @@ class InputServicenowTableInputTypedDict(TypedDict): r"""Fields to add to events from this input""" retry_rules: NotRequired[RetryRulesTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" credentials_secret: NotRequired[str] r"""Select or create a secret that references your credentials""" oauth_grant_type: NotRequired[InputServicenowTableGrantType] @@ -196,6 +198,7 @@ class InputServicenowTableInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -302,6 +305,7 @@ class InputServicenowTableInput(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" credentials_secret: Annotated[ Optional[str], pydantic.Field(alias="credentialsSecret") diff --git a/src/cribl_control_plane/models/inputsnmp_input.py b/src/cribl_control_plane/models/inputsnmp_input.py index e7eb61f89..219bc1ae8 100644 --- a/src/cribl_control_plane/models/inputsnmp_input.py +++ b/src/cribl_control_plane/models/inputsnmp_input.py @@ -142,6 +142,7 @@ class InputSnmpInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -170,6 +171,7 @@ class InputSnmpInputTypedDict(TypedDict): best_effort_parsing: NotRequired[bool] r"""If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -193,6 +195,7 @@ class InputSnmpInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -250,6 +253,7 @@ class InputSnmpInput(BaseModel): r"""If enabled, the parser will attempt to parse varbind octet strings as UTF-8, first, otherwise will fallback to other methods""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputsplunk_input.py b/src/cribl_control_plane/models/inputsplunk_input.py index 125395424..1a947e8eb 100644 --- a/src/cribl_control_plane/models/inputsplunk_input.py +++ b/src/cribl_control_plane/models/inputsplunk_input.py @@ -85,6 +85,7 @@ class InputSplunkInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -122,6 +123,7 @@ class InputSplunkInputTypedDict(TypedDict): max_s2_sversion: NotRequired[InputSplunkMaxS2SVersion] r"""The highest S2S protocol version to advertise during handshake""" description: NotRequired[str] + r"""Optional description for this configuration.""" use_fwd_timezone: NotRequired[bool] r"""Event Breakers will determine events' time zone from UF-provided metadata, when TZ can't be inferred from the raw event""" drop_control_fields: NotRequired[bool] @@ -157,6 +159,7 @@ class InputSplunkInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -236,6 +239,7 @@ class InputSplunkInput(BaseModel): r"""The highest S2S protocol version to advertise during handshake""" description: Optional[str] = None + r"""Optional description for this configuration.""" use_fwd_timezone: Annotated[ Optional[bool], pydantic.Field(alias="useFwdTimezone") diff --git a/src/cribl_control_plane/models/inputsplunkhec_input.py b/src/cribl_control_plane/models/inputsplunkhec_input.py index 9556bd397..79af91ddd 100644 --- a/src/cribl_control_plane/models/inputsplunkhec_input.py +++ b/src/cribl_control_plane/models/inputsplunkhec_input.py @@ -31,6 +31,8 @@ class InputSplunkHecType(str, Enum): + r"""Source type identifier.""" + SPLUNK_HEC = "splunk_hec" @@ -42,6 +44,7 @@ class InputSplunkHecAuthTokenTypedDict(TypedDict): token_secret: NotRequired[str] r"""Select or create a stored text secret""" enabled: NotRequired[bool] + r"""If true, the token is active and can be used for authentication.""" description: NotRequired[str] r"""Optional token description""" allowed_indexes_at_token: NotRequired[List[str]] @@ -64,6 +67,7 @@ class InputSplunkHecAuthToken(BaseModel): r"""Select or create a stored text secret""" enabled: Optional[bool] = None + r"""If true, the token is active and can be used for authentication.""" description: Optional[str] = None r"""Optional token description""" @@ -113,6 +117,7 @@ def serialize_model(self, handler): class InputSplunkHecInputTypedDict(TypedDict): type: InputSplunkHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -122,6 +127,7 @@ class InputSplunkHecInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -181,6 +187,7 @@ class InputSplunkHecInputTypedDict(TypedDict): emit_token_metrics: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -195,6 +202,7 @@ class InputSplunkHecInputTypedDict(TypedDict): class InputSplunkHecInput(BaseModel): type: InputSplunkHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -209,6 +217,7 @@ class InputSplunkHecInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -343,6 +352,7 @@ class InputSplunkHecInput(BaseModel): r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") @@ -429,6 +439,7 @@ def serialize_model(self, handler): class InputSplunkHecTypedDict(TypedDict): type: InputSplunkHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -438,6 +449,7 @@ class InputSplunkHecTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -501,6 +513,7 @@ class InputSplunkHecTypedDict(TypedDict): emit_token_metrics: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -515,6 +528,7 @@ class InputSplunkHecTypedDict(TypedDict): class InputSplunkHec(BaseModel): type: InputSplunkHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -529,6 +543,7 @@ class InputSplunkHec(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -669,6 +684,7 @@ class InputSplunkHec(BaseModel): r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputsplunksearch_input.py b/src/cribl_control_plane/models/inputsplunksearch_input.py index 2b32a8796..0e62ef944 100644 --- a/src/cribl_control_plane/models/inputsplunksearch_input.py +++ b/src/cribl_control_plane/models/inputsplunksearch_input.py @@ -92,6 +92,7 @@ class InputSplunkSearchInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -141,6 +142,7 @@ class InputSplunkSearchInputTypedDict(TypedDict): stale_channel_flush_ms: NotRequired[float] r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -196,6 +198,7 @@ class InputSplunkSearchInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -299,6 +302,7 @@ class InputSplunkSearchInput(BaseModel): r"""How long (in milliseconds) the Event Breaker will wait for new data to be sent to a specific channel before flushing the data stream out, as is, to the Pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None diff --git a/src/cribl_control_plane/models/inputsqs_input.py b/src/cribl_control_plane/models/inputsqs_input.py index d8a61b1c0..fc58ab993 100644 --- a/src/cribl_control_plane/models/inputsqs_input.py +++ b/src/cribl_control_plane/models/inputsqs_input.py @@ -44,6 +44,7 @@ class InputSqsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -89,6 +90,7 @@ class InputSqsInputTypedDict(TypedDict): poll_timeout: NotRequired[float] r"""How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -131,6 +133,7 @@ class InputSqsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -223,6 +226,7 @@ class InputSqsInput(BaseModel): r"""How long to wait for events before trying polling again. The lower the number the higher the AWS bill. The higher the number the longer it will take for the source to react to configuration changes and system restarts.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/inputsysdighec_input.py b/src/cribl_control_plane/models/inputsysdighec_input.py index b4c227e41..11d0b16f4 100644 --- a/src/cribl_control_plane/models/inputsysdighec_input.py +++ b/src/cribl_control_plane/models/inputsysdighec_input.py @@ -27,11 +27,14 @@ class InputSysdigHecType(str, Enum): + r"""Source type identifier.""" + SYSDIG_HEC = "sysdig_hec" class InputSysdigHecInputTypedDict(TypedDict): type: InputSysdigHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -41,6 +44,7 @@ class InputSysdigHecInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -88,6 +92,7 @@ class InputSysdigHecInputTypedDict(TypedDict): emit_token_metrics: NotRequired[bool] r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -108,6 +113,7 @@ class InputSysdigHecInputTypedDict(TypedDict): class InputSysdigHecInput(BaseModel): type: InputSysdigHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -122,6 +128,7 @@ class InputSysdigHecInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -227,6 +234,7 @@ class InputSysdigHecInput(BaseModel): r"""Emit per-token (.http.perToken) and summary (.http.summary) request metrics""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputsyslog_input_union.py b/src/cribl_control_plane/models/inputsyslog_input_union.py index 7b29b2ec7..5aeafc784 100644 --- a/src/cribl_control_plane/models/inputsyslog_input_union.py +++ b/src/cribl_control_plane/models/inputsyslog_input_union.py @@ -35,6 +35,7 @@ class InputSyslogSyslogInput2TypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -86,6 +87,7 @@ class InputSyslogSyslogInput2TypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: NotRequired[bool] r"""When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise.""" template_environment: NotRequired[str] @@ -115,6 +117,7 @@ class InputSyslogSyslogInput2(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -227,6 +230,7 @@ class InputSyslogSyslogInput2(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: Annotated[ Optional[bool], pydantic.Field(alias="enableEnhancedProxyHeaderParsing") @@ -332,6 +336,7 @@ class InputSyslogSyslogInput1TypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -383,6 +388,7 @@ class InputSyslogSyslogInput1TypedDict(TypedDict): enable_load_balancing: NotRequired[bool] r"""Load balance traffic across all Worker Processes""" description: NotRequired[str] + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: NotRequired[bool] r"""When enabled, parses PROXY protocol headers during the TLS handshake. Disable if compatibility issues arise.""" template_environment: NotRequired[str] @@ -412,6 +418,7 @@ class InputSyslogSyslogInput1(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -524,6 +531,7 @@ class InputSyslogSyslogInput1(BaseModel): r"""Load balance traffic across all Worker Processes""" description: Optional[str] = None + r"""Optional description for this configuration.""" enable_enhanced_proxy_header_parsing: Annotated[ Optional[bool], pydantic.Field(alias="enableEnhancedProxyHeaderParsing") diff --git a/src/cribl_control_plane/models/inputsystemmetrics_input.py b/src/cribl_control_plane/models/inputsystemmetrics_input.py index 80c78f275..8af536822 100644 --- a/src/cribl_control_plane/models/inputsystemmetrics_input.py +++ b/src/cribl_control_plane/models/inputsystemmetrics_input.py @@ -606,6 +606,7 @@ class InputSystemMetricsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -629,6 +630,7 @@ class InputSystemMetricsInputTypedDict(TypedDict): r"""Fields to add to events from this input""" persistence: NotRequired[InputSystemMetricsPersistenceTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -642,6 +644,7 @@ class InputSystemMetricsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -682,6 +685,7 @@ class InputSystemMetricsInput(BaseModel): persistence: Optional[InputSystemMetricsPersistence] = None description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputsystemstate_input.py b/src/cribl_control_plane/models/inputsystemstate_input.py index 73929afe3..4c5111009 100644 --- a/src/cribl_control_plane/models/inputsystemstate_input.py +++ b/src/cribl_control_plane/models/inputsystemstate_input.py @@ -498,6 +498,7 @@ class InputSystemStateInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -522,6 +523,7 @@ class InputSystemStateInputTypedDict(TypedDict): disable_native_last_log_module: NotRequired[bool] r"""Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab)""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -535,6 +537,7 @@ class InputSystemStateInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -579,6 +582,7 @@ class InputSystemStateInput(BaseModel): r"""Enable only to collect LastLog data via legacy implementation. This option will be removed in a future release. Please contact Support before enabling. [Learn more](https://docs.cribl.io/edge/sources-system-state/#advanced-tab)""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputtcp_input.py b/src/cribl_control_plane/models/inputtcp_input.py index e6ac0e45a..144437d7c 100644 --- a/src/cribl_control_plane/models/inputtcp_input.py +++ b/src/cribl_control_plane/models/inputtcp_input.py @@ -40,6 +40,7 @@ class InputTCPInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -76,6 +77,7 @@ class InputTCPInputTypedDict(TypedDict): r"""Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { \"authToken\" : \"myToken\", \"fields\": { \"field1\": \"value1\", \"field2\": \"value2\" } }""" preprocess: NotRequired[PreprocessTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" auth_token: NotRequired[str] r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] @@ -105,6 +107,7 @@ class InputTCPInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -181,6 +184,7 @@ class InputTCPInput(BaseModel): preprocess: Optional[PreprocessType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" diff --git a/src/cribl_control_plane/models/inputtcpjson_input.py b/src/cribl_control_plane/models/inputtcpjson_input.py index 16c0e7e8f..6f7ed50c1 100644 --- a/src/cribl_control_plane/models/inputtcpjson_input.py +++ b/src/cribl_control_plane/models/inputtcpjson_input.py @@ -39,6 +39,7 @@ class InputTcpjsonInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -72,6 +73,7 @@ class InputTcpjsonInputTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" auth_token: NotRequired[str] r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" text_secret: NotRequired[str] @@ -99,6 +101,7 @@ class InputTcpjsonInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -169,6 +172,7 @@ class InputTcpjsonInput(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" diff --git a/src/cribl_control_plane/models/inputwef_input.py b/src/cribl_control_plane/models/inputwef_input.py index 28db70acf..4480ffcdb 100644 --- a/src/cribl_control_plane/models/inputwef_input.py +++ b/src/cribl_control_plane/models/inputwef_input.py @@ -318,6 +318,7 @@ class InputWefInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -363,6 +364,7 @@ class InputWefInputTypedDict(TypedDict): metadata: NotRequired[List[MetadataConfInputCollectionTypedDict]] r"""Fields to add to events from this input""" description: NotRequired[str] + r"""Optional description for this configuration.""" log_fingerprint_mismatch: NotRequired[bool] r"""Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder.""" template_environment: NotRequired[str] @@ -395,6 +397,7 @@ class InputWefInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -490,6 +493,7 @@ class InputWefInput(BaseModel): r"""Fields to add to events from this input""" description: Optional[str] = None + r"""Optional description for this configuration.""" log_fingerprint_mismatch: Annotated[ Optional[bool], pydantic.Field(alias="logFingerprintMismatch") diff --git a/src/cribl_control_plane/models/inputwindowsmetrics_input.py b/src/cribl_control_plane/models/inputwindowsmetrics_input.py index 2d2a79af5..cbe4ac60d 100644 --- a/src/cribl_control_plane/models/inputwindowsmetrics_input.py +++ b/src/cribl_control_plane/models/inputwindowsmetrics_input.py @@ -479,6 +479,7 @@ class InputWindowsMetricsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -503,6 +504,7 @@ class InputWindowsMetricsInputTypedDict(TypedDict): disable_native_module: NotRequired[bool] r"""Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab)""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -516,6 +518,7 @@ class InputWindowsMetricsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -559,6 +562,7 @@ class InputWindowsMetricsInput(BaseModel): r"""Enable to use built-in tools (PowerShell) to collect metrics instead of native API (default) [Learn more](https://docs.cribl.io/edge/sources-windows-metrics/#advanced-tab)""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputwineventlogs_input.py b/src/cribl_control_plane/models/inputwineventlogs_input.py index d4841a824..99a779a7f 100644 --- a/src/cribl_control_plane/models/inputwineventlogs_input.py +++ b/src/cribl_control_plane/models/inputwineventlogs_input.py @@ -48,6 +48,7 @@ class InputWinEventLogsInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -76,6 +77,7 @@ class InputWinEventLogsInputTypedDict(TypedDict): max_event_bytes: NotRequired[int] r"""The maximum number of bytes in an event before it is flushed to the pipelines""" description: NotRequired[str] + r"""Optional description for this configuration.""" disable_json_rendering: NotRequired[bool] r"""Enable/disable the rendering of localized event message strings (Applicable for 4.8.0 nodes and newer that use the Native API)""" disable_xml_rendering: NotRequired[bool] @@ -96,6 +98,7 @@ class InputWinEventLogsInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -149,6 +152,7 @@ class InputWinEventLogsInput(BaseModel): r"""The maximum number of bytes in an event before it is flushed to the pipelines""" description: Optional[str] = None + r"""Optional description for this configuration.""" disable_json_rendering: Annotated[ Optional[bool], pydantic.Field(alias="disableJsonRendering") diff --git a/src/cribl_control_plane/models/inputwiz_input.py b/src/cribl_control_plane/models/inputwiz_input.py index a0e0d477f..055c8aa9a 100644 --- a/src/cribl_control_plane/models/inputwiz_input.py +++ b/src/cribl_control_plane/models/inputwiz_input.py @@ -169,6 +169,7 @@ class InputWizInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -204,6 +205,7 @@ class InputWizInputTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsManualSecret] r"""Enter client secret directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""The client secret of the Wiz application""" text_secret: NotRequired[str] @@ -240,6 +242,7 @@ class InputWizInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -315,6 +318,7 @@ class InputWizInput(BaseModel): r"""Enter client secret directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""The client secret of the Wiz application""" diff --git a/src/cribl_control_plane/models/inputwizwebhook_input.py b/src/cribl_control_plane/models/inputwizwebhook_input.py index 531baac72..7fd38a587 100644 --- a/src/cribl_control_plane/models/inputwizwebhook_input.py +++ b/src/cribl_control_plane/models/inputwizwebhook_input.py @@ -27,11 +27,14 @@ class InputWizWebhookType(str, Enum): + r"""Source type identifier.""" + WIZ_WEBHOOK = "wiz_webhook" class InputWizWebhookInputTypedDict(TypedDict): type: InputWizWebhookType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -39,6 +42,7 @@ class InputWizWebhookInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -90,6 +94,7 @@ class InputWizWebhookInputTypedDict(TypedDict): auth_tokens_ext: NotRequired[List[AuthTokensExtConfInputHTTPTypedDict]] r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -106,6 +111,7 @@ class InputWizWebhookInputTypedDict(TypedDict): class InputWizWebhookInput(BaseModel): type: InputWizWebhookType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -117,6 +123,7 @@ class InputWizWebhookInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -232,6 +239,7 @@ class InputWizWebhookInput(BaseModel): r"""Shared secrets to be provided by any client (Authorization: ). If empty, unauthorized access is permitted.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/inputzscalerhec_input.py b/src/cribl_control_plane/models/inputzscalerhec_input.py index 6b5d2f499..436d25ccb 100644 --- a/src/cribl_control_plane/models/inputzscalerhec_input.py +++ b/src/cribl_control_plane/models/inputzscalerhec_input.py @@ -27,6 +27,8 @@ class InputZscalerHecType(str, Enum): + r"""Source type identifier.""" + ZSCALER_HEC = "zscaler_hec" @@ -107,6 +109,7 @@ def serialize_model(self, handler): class InputZscalerHecInputTypedDict(TypedDict): type: InputZscalerHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" port: float @@ -116,6 +119,7 @@ class InputZscalerHecInputTypedDict(TypedDict): id: NotRequired[str] r"""Unique ID for this input""" disabled: NotRequired[bool] + r"""If true, the Source is disabled and will not collect data.""" pipeline: NotRequired[str] r"""Pipeline to process data from this Source before sending it through the Routes""" send_to_routes: NotRequired[bool] @@ -165,6 +169,7 @@ class InputZscalerHecInputTypedDict(TypedDict): hec_acks: NotRequired[bool] r"""Whether to enable Zscaler HEC acknowledgements""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_environment: NotRequired[str] r"""Binds 'environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'environment' at runtime.""" template_streamtags: NotRequired[str] @@ -185,6 +190,7 @@ class InputZscalerHecInputTypedDict(TypedDict): class InputZscalerHecInput(BaseModel): type: InputZscalerHecType + r"""Source type identifier.""" host: str r"""Address to bind on. Defaults to 0.0.0.0 (all addresses).""" @@ -199,6 +205,7 @@ class InputZscalerHecInput(BaseModel): r"""Unique ID for this input""" disabled: Optional[bool] = None + r"""If true, the Source is disabled and will not collect data.""" pipeline: Optional[str] = None r"""Pipeline to process data from this Source before sending it through the Routes""" @@ -306,6 +313,7 @@ class InputZscalerHecInput(BaseModel): r"""Whether to enable Zscaler HEC acknowledgements""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_environment: Annotated[ Optional[str], pydantic.Field(alias="__template_environment") diff --git a/src/cribl_control_plane/models/noactivehealthoverlaystatus.py b/src/cribl_control_plane/models/noactivehealthoverlaystatus.py new file mode 100644 index 000000000..e59657074 --- /dev/null +++ b/src/cribl_control_plane/models/noactivehealthoverlaystatus.py @@ -0,0 +1,28 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from cribl_control_plane.types import BaseModel +from cribl_control_plane.utils import validate_const +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class NoActiveHealthOverlayStatusTypedDict(TypedDict): + state: Literal["inactive"] + r"""Current overlay state.""" + + +class NoActiveHealthOverlayStatus(BaseModel): + STATE: Annotated[ + Annotated[Literal["inactive"], AfterValidator(validate_const("inactive"))], + pydantic.Field(alias="state"), + ] = "inactive" + r"""Current overlay state.""" + + +try: + NoActiveHealthOverlayStatus.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/output.py b/src/cribl_control_plane/models/output.py index 8256d6b10..514a30312 100644 --- a/src/cribl_control_plane/models/output.py +++ b/src/cribl_control_plane/models/output.py @@ -66,6 +66,7 @@ from .outputgraphite import OutputGraphite, OutputGraphiteTypedDict from .outputhoneycomb import OutputHoneycomb, OutputHoneycombTypedDict from .outputhumiohec import OutputHumioHec, OutputHumioHecTypedDict +from .outputibmclouds3 import OutputIbmCloudS3, OutputIbmCloudS3TypedDict from .outputinfluxdb import OutputInfluxdb, OutputInfluxdbTypedDict from .outputkafka import OutputKafka, OutputKafkaTypedDict from .outputkinesis import OutputKinesis, OutputKinesisTypedDict @@ -181,6 +182,7 @@ OutputDatabricksTypedDict, OutputMskTypedDict, OutputAlphasocS3TypedDict, + OutputIbmCloudS3TypedDict, OutputStorjS3TypedDict, OutputOpenTelemetryTypedDict, OutputAlibabaCloudS3TypedDict, @@ -286,6 +288,7 @@ Annotated[OutputCloudianS3, Tag("cloudian_s3")], Annotated[OutputScalityS3, Tag("scality_s3")], Annotated[OutputAlibabaCloudS3, Tag("alibaba_cloud_s3")], + Annotated[OutputIbmCloudS3, Tag("ibm_cloud_s3")], ], Discriminator(lambda m: get_discriminator(m, "type", "type")), ] diff --git a/src/cribl_control_plane/models/outputalibabaclouds3.py b/src/cribl_control_plane/models/outputalibabaclouds3.py index a336ec263..dcf4d8a37 100644 --- a/src/cribl_control_plane/models/outputalibabaclouds3.py +++ b/src/cribl_control_plane/models/outputalibabaclouds3.py @@ -1,7 +1,6 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .authenticationmethodoptionssecret import AuthenticationMethodOptionsSecret from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop from .compressionleveloptions import CompressionLevelOptions from .compressionoptionshttp import CompressionOptionsHTTP @@ -19,7 +18,7 @@ ) from .parquetversionoptions import ParquetVersionOptions from .retrysettingstype import RetrySettingsType, RetrySettingsTypeTypedDict -from cribl_control_plane import models +from cribl_control_plane import models, utils from cribl_control_plane.types import BaseModel, UNSET_SENTINEL from enum import Enum import pydantic @@ -32,6 +31,15 @@ class OutputAlibabaCloudS3Type(str, Enum): ALIBABA_CLOUD_S3 = "alibaba_cloud_s3" +class OutputAlibabaCloudS3AuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Authentication method.""" + + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" + + class OutputAlibabaCloudS3TypedDict(TypedDict): type: OutputAlibabaCloudS3Type bucket: str @@ -50,7 +58,7 @@ class OutputAlibabaCloudS3TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] + aws_authentication_method: NotRequired[OutputAlibabaCloudS3AuthenticationMethod] r"""Authentication method.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" @@ -101,6 +109,7 @@ class OutputAlibabaCloudS3TypedDict(TypedDict): object_acl: NotRequired[ObjectACLOptions] r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -193,7 +202,7 @@ class OutputAlibabaCloudS3(BaseModel): r"""Tags for filtering and grouping in @{product}""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsSecret], + Optional[OutputAlibabaCloudS3AuthenticationMethod], pydantic.Field(alias="awsAuthenticationMethod"), ] = None r"""Authentication method.""" @@ -318,6 +327,7 @@ class OutputAlibabaCloudS3(BaseModel): r"""Object ACL to assign to uploaded objects""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -470,7 +480,7 @@ class OutputAlibabaCloudS3(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsSecret(value) + return models.OutputAlibabaCloudS3AuthenticationMethod(value) except ValueError: return value return value diff --git a/src/cribl_control_plane/models/outputalphasocs3.py b/src/cribl_control_plane/models/outputalphasocs3.py index 47aa8133e..543562370 100644 --- a/src/cribl_control_plane/models/outputalphasocs3.py +++ b/src/cribl_control_plane/models/outputalphasocs3.py @@ -98,6 +98,7 @@ class OutputAlphasocS3TypedDict(TypedDict): endpoint: NotRequired[str] r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -306,6 +307,7 @@ class OutputAlphasocS3(BaseModel): r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" diff --git a/src/cribl_control_plane/models/outputazureblob.py b/src/cribl_control_plane/models/outputazureblob.py index 162ab68a1..1062bfd22 100644 --- a/src/cribl_control_plane/models/outputazureblob.py +++ b/src/cribl_control_plane/models/outputazureblob.py @@ -107,6 +107,7 @@ class OutputAzureBlobTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptions] storage_class: NotRequired[OutputAzureBlobBlobAccessTier] description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -324,6 +325,7 @@ class OutputAzureBlob(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" diff --git a/src/cribl_control_plane/models/outputazuredataexplorer.py b/src/cribl_control_plane/models/outputazuredataexplorer.py index 77dd65cab..0daf58c88 100644 --- a/src/cribl_control_plane/models/outputazuredataexplorer.py +++ b/src/cribl_control_plane/models/outputazuredataexplorer.py @@ -218,6 +218,7 @@ class OutputAzureDataExplorerTypedDict(TypedDict): r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" ingest_mode: NotRequired[OutputAzureDataExplorerIngestionMode] description: NotRequired[str] + r"""Optional description for this configuration.""" client_secret: NotRequired[str] r"""The client secret that you generated for your app in the Azure portal""" text_secret: NotRequired[str] @@ -455,6 +456,7 @@ class OutputAzureDataExplorer(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None r"""The client secret that you generated for your app in the Azure portal""" diff --git a/src/cribl_control_plane/models/outputazureeventhub.py b/src/cribl_control_plane/models/outputazureeventhub.py index 83ead14fb..3cc01cd01 100644 --- a/src/cribl_control_plane/models/outputazureeventhub.py +++ b/src/cribl_control_plane/models/outputazureeventhub.py @@ -81,6 +81,7 @@ class OutputAzureEventhubTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -210,6 +211,7 @@ class OutputAzureEventhub(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") diff --git a/src/cribl_control_plane/models/outputazurelogs.py b/src/cribl_control_plane/models/outputazurelogs.py index 657c4c89a..769faf81f 100644 --- a/src/cribl_control_plane/models/outputazurelogs.py +++ b/src/cribl_control_plane/models/outputazurelogs.py @@ -100,6 +100,7 @@ class OutputAzureLogsTypedDict(TypedDict): auth_type: NotRequired[OutputAzureLogsAuthenticationMethod] r"""Enter workspace ID and workspace key directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -249,6 +250,7 @@ class OutputAzureLogs(BaseModel): r"""Enter workspace ID and workspace key directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") diff --git a/src/cribl_control_plane/models/outputchronicle.py b/src/cribl_control_plane/models/outputchronicle.py index 8ea4a0111..6f78a89f9 100644 --- a/src/cribl_control_plane/models/outputchronicle.py +++ b/src/cribl_control_plane/models/outputchronicle.py @@ -144,6 +144,7 @@ class OutputChronicleTypedDict(TypedDict): endpoint: NotRequired[str] r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" description: NotRequired[str] + r"""Optional description for this configuration.""" service_account_credentials: NotRequired[str] r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" service_account_credentials_secret: NotRequired[str] @@ -332,6 +333,7 @@ class OutputChronicle(BaseModel): r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" description: Optional[str] = None + r"""Optional description for this configuration.""" service_account_credentials: Annotated[ Optional[str], pydantic.Field(alias="serviceAccountCredentials") diff --git a/src/cribl_control_plane/models/outputclickhouse.py b/src/cribl_control_plane/models/outputclickhouse.py index 696edca84..c593c7155 100644 --- a/src/cribl_control_plane/models/outputclickhouse.py +++ b/src/cribl_control_plane/models/outputclickhouse.py @@ -114,6 +114,7 @@ class OutputClickHouseTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -294,6 +295,7 @@ class OutputClickHouse(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None diff --git a/src/cribl_control_plane/models/outputcloudflarer2.py b/src/cribl_control_plane/models/outputcloudflarer2.py index c880dddbe..abf057a38 100644 --- a/src/cribl_control_plane/models/outputcloudflarer2.py +++ b/src/cribl_control_plane/models/outputcloudflarer2.py @@ -112,6 +112,7 @@ class OutputCloudflareR2TypedDict(TypedDict): ] r"""Server-side encryption to use for uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -343,6 +344,7 @@ class OutputCloudflareR2(BaseModel): r"""Server-side encryption to use for uploaded objects""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" diff --git a/src/cribl_control_plane/models/outputcloudians3.py b/src/cribl_control_plane/models/outputcloudians3.py index 531cbfa93..2823c4c44 100644 --- a/src/cribl_control_plane/models/outputcloudians3.py +++ b/src/cribl_control_plane/models/outputcloudians3.py @@ -113,6 +113,7 @@ class OutputCloudianS3TypedDict(TypedDict): kms_key_id: NotRequired[str] r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -355,6 +356,7 @@ class OutputCloudianS3(BaseModel): r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" diff --git a/src/cribl_control_plane/models/outputcloudwatch.py b/src/cribl_control_plane/models/outputcloudwatch.py index 8cfab700e..850b4cc4a 100644 --- a/src/cribl_control_plane/models/outputcloudwatch.py +++ b/src/cribl_control_plane/models/outputcloudwatch.py @@ -73,6 +73,7 @@ class OutputCloudwatchTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -214,6 +215,7 @@ class OutputCloudwatch(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/outputconfluentcloud.py b/src/cribl_control_plane/models/outputconfluentcloud.py index bd382956d..ab0345fb9 100644 --- a/src/cribl_control_plane/models/outputconfluentcloud.py +++ b/src/cribl_control_plane/models/outputconfluentcloud.py @@ -91,6 +91,7 @@ class OutputConfluentCloudTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" protobuf_library_id: NotRequired[str] r"""Select a set of Protobuf definitions for the events you want to send""" protobuf_encoding_id: NotRequired[str] @@ -234,6 +235,7 @@ class OutputConfluentCloud(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" protobuf_library_id: Annotated[ Optional[str], pydantic.Field(alias="protobufLibraryId") diff --git a/src/cribl_control_plane/models/outputcriblhttp.py b/src/cribl_control_plane/models/outputcriblhttp.py index b9693aa50..3225c8b20 100644 --- a/src/cribl_control_plane/models/outputcriblhttp.py +++ b/src/cribl_control_plane/models/outputcriblhttp.py @@ -108,6 +108,7 @@ class OutputCriblHTTPTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" url: NotRequired[str] r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" use_round_robin_dns: NotRequired[bool] @@ -269,6 +270,7 @@ class OutputCriblHTTP(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" url: Optional[str] = None r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" diff --git a/src/cribl_control_plane/models/outputcribllake.py b/src/cribl_control_plane/models/outputcribllake.py index f3c4842ea..e202f8d28 100644 --- a/src/cribl_control_plane/models/outputcribllake.py +++ b/src/cribl_control_plane/models/outputcribllake.py @@ -86,6 +86,7 @@ class OutputCriblLakeTypedDict(TypedDict): max_closing_files_to_backpressure: NotRequired[float] max_concurrent_file_parts: NotRequired[float] description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -255,6 +256,7 @@ class OutputCriblLake(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" diff --git a/src/cribl_control_plane/models/outputcriblsearchengine.py b/src/cribl_control_plane/models/outputcriblsearchengine.py index 6567e5ad6..a5e2299ac 100644 --- a/src/cribl_control_plane/models/outputcriblsearchengine.py +++ b/src/cribl_control_plane/models/outputcriblsearchengine.py @@ -110,6 +110,7 @@ class OutputCriblSearchEngineTypedDict(TypedDict): use_round_robin_dns: NotRequired[bool] r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" description: NotRequired[str] + r"""Optional description for this configuration.""" url: NotRequired[str] r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" exclude_self: NotRequired[bool] @@ -274,6 +275,7 @@ class OutputCriblSearchEngine(BaseModel): r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" description: Optional[str] = None + r"""Optional description for this configuration.""" url: Optional[str] = None r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" diff --git a/src/cribl_control_plane/models/outputcribltcp.py b/src/cribl_control_plane/models/outputcribltcp.py index fd0126aa3..b3b3b122d 100644 --- a/src/cribl_control_plane/models/outputcribltcp.py +++ b/src/cribl_control_plane/models/outputcribltcp.py @@ -70,6 +70,7 @@ class OutputCriblTCPTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" host: NotRequired[str] r"""The hostname of the receiver""" port: NotRequired[float] @@ -188,6 +189,7 @@ class OutputCriblTCP(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" host: Optional[str] = None r"""The hostname of the receiver""" diff --git a/src/cribl_control_plane/models/outputcrowdstrikenextgensiem.py b/src/cribl_control_plane/models/outputcrowdstrikenextgensiem.py index bccda8a1c..6e844faf0 100644 --- a/src/cribl_control_plane/models/outputcrowdstrikenextgensiem.py +++ b/src/cribl_control_plane/models/outputcrowdstrikenextgensiem.py @@ -98,6 +98,7 @@ class OutputCrowdstrikeNextGenSiemTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] text_secret: NotRequired[str] r"""Select or create a stored text secret""" @@ -243,6 +244,7 @@ class OutputCrowdstrikeNextGenSiem(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None diff --git a/src/cribl_control_plane/models/outputcustomermetricsstorage.py b/src/cribl_control_plane/models/outputcustomermetricsstorage.py index bbbd3285b..6e0c551a2 100644 --- a/src/cribl_control_plane/models/outputcustomermetricsstorage.py +++ b/src/cribl_control_plane/models/outputcustomermetricsstorage.py @@ -114,6 +114,7 @@ class OutputCustomerMetricsStorageTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -294,6 +295,7 @@ class OutputCustomerMetricsStorage(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None diff --git a/src/cribl_control_plane/models/outputdatabricks.py b/src/cribl_control_plane/models/outputdatabricks.py index e931bc372..6ee579e58 100644 --- a/src/cribl_control_plane/models/outputdatabricks.py +++ b/src/cribl_control_plane/models/outputdatabricks.py @@ -99,6 +99,7 @@ class OutputDatabricksTypedDict(TypedDict): timeout_sec: NotRequired[int] r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -293,6 +294,7 @@ class OutputDatabricks(BaseModel): r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" diff --git a/src/cribl_control_plane/models/outputdatadog.py b/src/cribl_control_plane/models/outputdatadog.py index 8cd596438..25f66ff48 100644 --- a/src/cribl_control_plane/models/outputdatadog.py +++ b/src/cribl_control_plane/models/outputdatadog.py @@ -162,6 +162,7 @@ class OutputDatadogTypedDict(TypedDict): total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" @@ -344,6 +345,7 @@ class OutputDatadog(BaseModel): r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None diff --git a/src/cribl_control_plane/models/outputdataset.py b/src/cribl_control_plane/models/outputdataset.py index 7a4b4f410..66eaa1958 100644 --- a/src/cribl_control_plane/models/outputdataset.py +++ b/src/cribl_control_plane/models/outputdataset.py @@ -133,6 +133,7 @@ class OutputDatasetTypedDict(TypedDict): total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" @@ -302,6 +303,7 @@ class OutputDataset(BaseModel): r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None diff --git a/src/cribl_control_plane/models/outputdells3.py b/src/cribl_control_plane/models/outputdells3.py index 9a0c2e2d7..89c460447 100644 --- a/src/cribl_control_plane/models/outputdells3.py +++ b/src/cribl_control_plane/models/outputdells3.py @@ -103,6 +103,7 @@ class OutputDellS3TypedDict(TypedDict): object_acl: NotRequired[ObjectACLOptions] r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -325,6 +326,7 @@ class OutputDellS3(BaseModel): r"""Object ACL to assign to uploaded objects""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" diff --git a/src/cribl_control_plane/models/outputdiskspool.py b/src/cribl_control_plane/models/outputdiskspool.py index d4dec1fbd..28a8ccc71 100644 --- a/src/cribl_control_plane/models/outputdiskspool.py +++ b/src/cribl_control_plane/models/outputdiskspool.py @@ -38,6 +38,7 @@ class OutputDiskSpoolTypedDict(TypedDict): partition_expr: NotRequired[str] r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -80,6 +81,7 @@ class OutputDiskSpool(BaseModel): r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") diff --git a/src/cribl_control_plane/models/outputdls3.py b/src/cribl_control_plane/models/outputdls3.py index 56863a364..395813536 100644 --- a/src/cribl_control_plane/models/outputdls3.py +++ b/src/cribl_control_plane/models/outputdls3.py @@ -125,6 +125,7 @@ class OutputDlS3TypedDict(TypedDict): partitioning_fields: NotRequired[List[str]] r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" aws_secret: NotRequired[str] @@ -402,6 +403,7 @@ class OutputDlS3(BaseModel): r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" diff --git a/src/cribl_control_plane/models/outputdynatracehttp.py b/src/cribl_control_plane/models/outputdynatracehttp.py index eafc693cf..e8b1c2d47 100644 --- a/src/cribl_control_plane/models/outputdynatracehttp.py +++ b/src/cribl_control_plane/models/outputdynatracehttp.py @@ -130,6 +130,7 @@ class OutputDynatraceHTTPTypedDict(TypedDict): total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -293,6 +294,7 @@ class OutputDynatraceHTTP(BaseModel): r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") diff --git a/src/cribl_control_plane/models/outputdynatraceotlp.py b/src/cribl_control_plane/models/outputdynatraceotlp.py index aad1d45bd..9229dca92 100644 --- a/src/cribl_control_plane/models/outputdynatraceotlp.py +++ b/src/cribl_control_plane/models/outputdynatraceotlp.py @@ -120,6 +120,7 @@ class OutputDynatraceOtlpTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -287,6 +288,7 @@ class OutputDynatraceOtlp(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") diff --git a/src/cribl_control_plane/models/outputelastic.py b/src/cribl_control_plane/models/outputelastic.py index 5217972a3..4b11e558a 100644 --- a/src/cribl_control_plane/models/outputelastic.py +++ b/src/cribl_control_plane/models/outputelastic.py @@ -168,6 +168,7 @@ class OutputElasticTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" url: NotRequired[str] r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" use_round_robin_dns: NotRequired[bool] @@ -350,6 +351,7 @@ class OutputElastic(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" url: Optional[str] = None r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" diff --git a/src/cribl_control_plane/models/outputelasticcloud.py b/src/cribl_control_plane/models/outputelasticcloud.py index e44a22b1e..2f945ce1f 100644 --- a/src/cribl_control_plane/models/outputelasticcloud.py +++ b/src/cribl_control_plane/models/outputelasticcloud.py @@ -103,6 +103,7 @@ class OutputElasticCloudTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -253,6 +254,7 @@ class OutputElasticCloud(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") diff --git a/src/cribl_control_plane/models/outputexabeam.py b/src/cribl_control_plane/models/outputexabeam.py index dde40348b..031959cfe 100644 --- a/src/cribl_control_plane/models/outputexabeam.py +++ b/src/cribl_control_plane/models/outputexabeam.py @@ -89,6 +89,7 @@ class OutputExabeamTypedDict(TypedDict): aws_secret_key: NotRequired[str] r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" description: NotRequired[str] + r"""Optional description for this configuration.""" empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" directory_batch_size: NotRequired[float] @@ -247,6 +248,7 @@ class OutputExabeam(BaseModel): r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" description: Optional[str] = None + r"""Optional description for this configuration.""" empty_dir_cleanup_sec: Annotated[ Optional[float], pydantic.Field(alias="emptyDirCleanupSec") diff --git a/src/cribl_control_plane/models/outputfilesystem.py b/src/cribl_control_plane/models/outputfilesystem.py index d009b4654..80e3c2a21 100644 --- a/src/cribl_control_plane/models/outputfilesystem.py +++ b/src/cribl_control_plane/models/outputfilesystem.py @@ -81,6 +81,7 @@ class OutputFilesystemTypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -246,6 +247,7 @@ class OutputFilesystem(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" diff --git a/src/cribl_control_plane/models/outputgooglechronicle.py b/src/cribl_control_plane/models/outputgooglechronicle.py index d41ea6b49..be2f96f3f 100644 --- a/src/cribl_control_plane/models/outputgooglechronicle.py +++ b/src/cribl_control_plane/models/outputgooglechronicle.py @@ -158,6 +158,7 @@ class OutputGoogleChronicleTypedDict(TypedDict): total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" extra_log_types: NotRequired[List[OutputGoogleChronicleExtraLogTypeTypedDict]] r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" log_type: NotRequired[str] @@ -333,6 +334,7 @@ class OutputGoogleChronicle(BaseModel): r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" extra_log_types: Annotated[ Optional[List[OutputGoogleChronicleExtraLogType]], diff --git a/src/cribl_control_plane/models/outputgooglecloudlogging.py b/src/cribl_control_plane/models/outputgooglecloudlogging.py index 4af87d060..706298877 100644 --- a/src/cribl_control_plane/models/outputgooglecloudlogging.py +++ b/src/cribl_control_plane/models/outputgooglecloudlogging.py @@ -164,6 +164,7 @@ class OutputGoogleCloudLoggingTypedDict(TypedDict): total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" payload_expression: NotRequired[str] r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" pq_strict_ordering: NotRequired[bool] @@ -480,6 +481,7 @@ class OutputGoogleCloudLogging(BaseModel): r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" payload_expression: Annotated[ Optional[str], pydantic.Field(alias="payloadExpression") diff --git a/src/cribl_control_plane/models/outputgooglecloudobservability.py b/src/cribl_control_plane/models/outputgooglecloudobservability.py index f11eff35e..850d4e50a 100644 --- a/src/cribl_control_plane/models/outputgooglecloudobservability.py +++ b/src/cribl_control_plane/models/outputgooglecloudobservability.py @@ -102,10 +102,11 @@ class OutputGoogleCloudObservabilityTypedDict(TypedDict): r"""How often the sender should ping the peer to keep the connection open""" tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] max_payload_events: NotRequired[float] - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" + r"""Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" secret: NotRequired[str] r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] @@ -225,7 +226,7 @@ class OutputGoogleCloudObservability(BaseModel): max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" + r"""Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -233,6 +234,7 @@ class OutputGoogleCloudObservability(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" secret: Optional[str] = None r"""Select or create a stored text secret""" diff --git a/src/cribl_control_plane/models/outputgooglecloudstorage.py b/src/cribl_control_plane/models/outputgooglecloudstorage.py index 2f24308c6..81a664f4a 100644 --- a/src/cribl_control_plane/models/outputgooglecloudstorage.py +++ b/src/cribl_control_plane/models/outputgooglecloudstorage.py @@ -113,6 +113,7 @@ class OutputGoogleCloudStorageTypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -341,6 +342,7 @@ class OutputGoogleCloudStorage(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" diff --git a/src/cribl_control_plane/models/outputgooglepubsub.py b/src/cribl_control_plane/models/outputgooglepubsub.py index 70796c9eb..8198ad270 100644 --- a/src/cribl_control_plane/models/outputgooglepubsub.py +++ b/src/cribl_control_plane/models/outputgooglepubsub.py @@ -68,6 +68,7 @@ class OutputGooglePubsubTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -181,6 +182,7 @@ class OutputGooglePubsub(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") diff --git a/src/cribl_control_plane/models/outputgrafanacloud_union.py b/src/cribl_control_plane/models/outputgrafanacloud_union.py index 32656b818..d8793936a 100644 --- a/src/cribl_control_plane/models/outputgrafanacloud_union.py +++ b/src/cribl_control_plane/models/outputgrafanacloud_union.py @@ -104,6 +104,7 @@ class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[bool] r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: NotRequired[bool] @@ -263,6 +264,7 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[bool] = None r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" @@ -535,6 +537,7 @@ class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[bool] r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: NotRequired[bool] @@ -696,6 +699,7 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[bool] = None r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" diff --git a/src/cribl_control_plane/models/outputgraphite.py b/src/cribl_control_plane/models/outputgraphite.py index fb2d38154..d4c6fc241 100644 --- a/src/cribl_control_plane/models/outputgraphite.py +++ b/src/cribl_control_plane/models/outputgraphite.py @@ -52,6 +52,7 @@ class OutputGraphiteTypedDict(TypedDict): dns_resolve_period_sec: NotRequired[float] r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] + r"""Optional description for this configuration.""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" connection_timeout: NotRequired[float] @@ -132,6 +133,7 @@ class OutputGraphite(BaseModel): r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: Optional[str] = None + r"""Optional description for this configuration.""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") diff --git a/src/cribl_control_plane/models/outputhoneycomb.py b/src/cribl_control_plane/models/outputhoneycomb.py index 2a7427c6a..ae78e79de 100644 --- a/src/cribl_control_plane/models/outputhoneycomb.py +++ b/src/cribl_control_plane/models/outputhoneycomb.py @@ -91,6 +91,7 @@ class OutputHoneycombTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAPI] r"""Enter API key directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -229,6 +230,7 @@ class OutputHoneycomb(BaseModel): r"""Enter API key directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") diff --git a/src/cribl_control_plane/models/outputhumiohec.py b/src/cribl_control_plane/models/outputhumiohec.py index d98584266..60ee3ffdf 100644 --- a/src/cribl_control_plane/models/outputhumiohec.py +++ b/src/cribl_control_plane/models/outputhumiohec.py @@ -96,6 +96,7 @@ class OutputHumioHecTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] r"""CrowdStrike Falcon LogScale authentication token""" text_secret: NotRequired[str] @@ -240,6 +241,7 @@ class OutputHumioHec(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None r"""CrowdStrike Falcon LogScale authentication token""" diff --git a/src/cribl_control_plane/models/outputibmclouds3.py b/src/cribl_control_plane/models/outputibmclouds3.py new file mode 100644 index 000000000..67dc8410e --- /dev/null +++ b/src/cribl_control_plane/models/outputibmclouds3.py @@ -0,0 +1,611 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .authenticationmethodoptionssecret import AuthenticationMethodOptionsSecret +from .backpressurebehavioroptionsblockdrop import BackpressureBehaviorOptionsBlockDrop +from .compressionleveloptions import CompressionLevelOptions +from .compressionoptionshttp import CompressionOptionsHTTP +from .dataformatoptions import DataFormatOptions +from .datapageversionoptions import DataPageVersionOptions +from .diskspaceprotectionoptions import DiskSpaceProtectionOptions +from .keyvaluemetadataconfoutputfilesystem import ( + KeyValueMetadataConfOutputFilesystem, + KeyValueMetadataConfOutputFilesystemTypedDict, +) +from .orphanfilerecoverytype import ( + OrphanFileRecoveryType, + OrphanFileRecoveryTypeTypedDict, +) +from .parquetversionoptions import ParquetVersionOptions +from .retrysettingstype import RetrySettingsType, RetrySettingsTypeTypedDict +from cribl_control_plane import models +from cribl_control_plane.types import BaseModel, UNSET_SENTINEL +from enum import Enum +import pydantic +from pydantic import field_serializer, model_serializer +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class OutputIbmCloudS3Type(str, Enum): + IBM_CLOUD_S3 = "ibm_cloud_s3" + + +class OutputIbmCloudS3TypedDict(TypedDict): + type: OutputIbmCloudS3Type + endpoint: str + r"""IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud)""" + bucket: str + r"""Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] + r"""Authentication method.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + +class OutputIbmCloudS3(BaseModel): + type: OutputIbmCloudS3Type + + endpoint: str + r"""IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud)""" + + bucket: str + r"""Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + + id: Optional[str] = None + r"""Unique ID for this output""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsSecret], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""Authentication method.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" + + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + ] = None + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" + + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" + + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + ] = None + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") + ] = None + r"""Buffer size used to write to a file""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), + ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + ] = None + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = None + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" + + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + ] = None + r"""Determines which data types are supported and how they are represented""" + + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + ] = None + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + ] = None + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), + ] = None + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") + ] = None + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") + ] = None + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + ] = None + r"""How frequently, in seconds, to clean up empty directories""" + + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") + ] = None + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") + ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") + ] = None + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") + ] = None + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") + ] = None + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsSecret(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.DataFormatOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptionsBlockDrop(value) + except ValueError: + return value + return value + + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): + if isinstance(value, str): + try: + return models.DiskSpaceProtectionOptions(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsHTTP(value) + except ValueError: + return value + return value + + @field_serializer("compression_level") + def serialize_compression_level(self, value): + if isinstance(value, str): + try: + return models.CompressionLevelOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): + if isinstance(value, str): + try: + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "awsAuthenticationMethod", + "reuseConnections", + "rejectUnauthorized", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", + "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "description", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "__template_streamtags", + "__template_endpoint", + "__template_bucket", + "__template_destPath", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", + "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +try: + OutputIbmCloudS3.model_rebuild() +except NameError: + pass diff --git a/src/cribl_control_plane/models/outputinfluxdb.py b/src/cribl_control_plane/models/outputinfluxdb.py index 2e829d266..774a708f2 100644 --- a/src/cribl_control_plane/models/outputinfluxdb.py +++ b/src/cribl_control_plane/models/outputinfluxdb.py @@ -130,6 +130,7 @@ class OutputInfluxdbTypedDict(TypedDict): auth_type: NotRequired[OutputInfluxdbAuthenticationType] r"""InfluxDB authentication type""" description: NotRequired[str] + r"""Optional description for this configuration.""" database: NotRequired[str] r"""Database to write to.""" bucket: NotRequired[str] @@ -303,6 +304,7 @@ class OutputInfluxdb(BaseModel): r"""InfluxDB authentication type""" description: Optional[str] = None + r"""Optional description for this configuration.""" database: Optional[str] = None r"""Database to write to.""" diff --git a/src/cribl_control_plane/models/outputkafka.py b/src/cribl_control_plane/models/outputkafka.py index 184d48ccd..3c11af87c 100644 --- a/src/cribl_control_plane/models/outputkafka.py +++ b/src/cribl_control_plane/models/outputkafka.py @@ -91,6 +91,7 @@ class OutputKafkaTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" protobuf_library_id: NotRequired[str] r"""Select a set of Protobuf definitions for the events you want to send""" protobuf_encoding_id: NotRequired[str] @@ -232,6 +233,7 @@ class OutputKafka(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" protobuf_library_id: Annotated[ Optional[str], pydantic.Field(alias="protobufLibraryId") diff --git a/src/cribl_control_plane/models/outputkinesis.py b/src/cribl_control_plane/models/outputkinesis.py index c29b41b1e..9009fb408 100644 --- a/src/cribl_control_plane/models/outputkinesis.py +++ b/src/cribl_control_plane/models/outputkinesis.py @@ -86,6 +86,7 @@ class OutputKinesisTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -233,6 +234,7 @@ class OutputKinesis(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/outputlocalsearchstorage.py b/src/cribl_control_plane/models/outputlocalsearchstorage.py index 936c32437..bb368775b 100644 --- a/src/cribl_control_plane/models/outputlocalsearchstorage.py +++ b/src/cribl_control_plane/models/outputlocalsearchstorage.py @@ -227,6 +227,7 @@ class OutputLocalSearchStorageTypedDict(TypedDict): r"""How to handle events when all receivers are exerting backpressure""" stats_destination: NotRequired[OutputLocalSearchStorageStatsDestinationTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -415,6 +416,7 @@ class OutputLocalSearchStorage(BaseModel): ] = None description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None diff --git a/src/cribl_control_plane/models/outputloki.py b/src/cribl_control_plane/models/outputloki.py index 0e5341053..95c7b8494 100644 --- a/src/cribl_control_plane/models/outputloki.py +++ b/src/cribl_control_plane/models/outputloki.py @@ -107,6 +107,7 @@ class OutputLokiTypedDict(TypedDict): total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[bool] r"""Compress the payload body before sending""" token: NotRequired[str] @@ -271,6 +272,7 @@ class OutputLoki(BaseModel): r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[bool] = None r"""Compress the payload body before sending""" diff --git a/src/cribl_control_plane/models/outputmicrosoftfabric.py b/src/cribl_control_plane/models/outputmicrosoftfabric.py index 2f42dc4a9..cd823d853 100644 --- a/src/cribl_control_plane/models/outputmicrosoftfabric.py +++ b/src/cribl_control_plane/models/outputmicrosoftfabric.py @@ -263,6 +263,7 @@ class OutputMicrosoftFabricTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -392,6 +393,7 @@ class OutputMicrosoftFabric(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") diff --git a/src/cribl_control_plane/models/outputminio.py b/src/cribl_control_plane/models/outputminio.py index 8e383b49a..e3d9f3c77 100644 --- a/src/cribl_control_plane/models/outputminio.py +++ b/src/cribl_control_plane/models/outputminio.py @@ -119,6 +119,7 @@ class OutputMinioTypedDict(TypedDict): ] r"""Server-side encryption to use for uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" aws_secret: NotRequired[str] @@ -366,6 +367,7 @@ class OutputMinio(BaseModel): r"""Server-side encryption to use for uploaded objects""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" diff --git a/src/cribl_control_plane/models/outputmsk.py b/src/cribl_control_plane/models/outputmsk.py index a04a61313..88d828f8b 100644 --- a/src/cribl_control_plane/models/outputmsk.py +++ b/src/cribl_control_plane/models/outputmsk.py @@ -110,6 +110,7 @@ class OutputMskTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -309,6 +310,7 @@ class OutputMsk(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/outputnetflow.py b/src/cribl_control_plane/models/outputnetflow.py index eec09453a..ee6350fe0 100644 --- a/src/cribl_control_plane/models/outputnetflow.py +++ b/src/cribl_control_plane/models/outputnetflow.py @@ -77,6 +77,7 @@ class OutputNetflowTypedDict(TypedDict): enable_ip_spoofing: NotRequired[bool] r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" description: NotRequired[str] + r"""Optional description for this configuration.""" max_record_size: NotRequired[float] r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" template_streamtags: NotRequired[str] @@ -117,6 +118,7 @@ class OutputNetflow(BaseModel): r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" description: Optional[str] = None + r"""Optional description for this configuration.""" max_record_size: Annotated[ Optional[float], pydantic.Field(alias="maxRecordSize") diff --git a/src/cribl_control_plane/models/outputnewrelic.py b/src/cribl_control_plane/models/outputnewrelic.py index 2ebe8e284..1692a28c7 100644 --- a/src/cribl_control_plane/models/outputnewrelic.py +++ b/src/cribl_control_plane/models/outputnewrelic.py @@ -133,6 +133,7 @@ class OutputNewrelicTypedDict(TypedDict): total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" @@ -292,6 +293,7 @@ class OutputNewrelic(BaseModel): r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None diff --git a/src/cribl_control_plane/models/outputnewrelicevents.py b/src/cribl_control_plane/models/outputnewrelicevents.py index af51b452d..3af8096e3 100644 --- a/src/cribl_control_plane/models/outputnewrelicevents.py +++ b/src/cribl_control_plane/models/outputnewrelicevents.py @@ -96,6 +96,7 @@ class OutputNewrelicEventsTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAPI] r"""Enter API key directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" @@ -249,6 +250,7 @@ class OutputNewrelicEvents(BaseModel): r"""Enter API key directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None diff --git a/src/cribl_control_plane/models/outputnutanixobjects.py b/src/cribl_control_plane/models/outputnutanixobjects.py index 58f7135cf..39cc8a1c0 100644 --- a/src/cribl_control_plane/models/outputnutanixobjects.py +++ b/src/cribl_control_plane/models/outputnutanixobjects.py @@ -100,6 +100,7 @@ class OutputNutanixObjectsTypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -315,6 +316,7 @@ class OutputNutanixObjects(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" diff --git a/src/cribl_control_plane/models/outputopentelemetry.py b/src/cribl_control_plane/models/outputopentelemetry.py index bf7a1eecc..cb586c1b5 100644 --- a/src/cribl_control_plane/models/outputopentelemetry.py +++ b/src/cribl_control_plane/models/outputopentelemetry.py @@ -136,6 +136,7 @@ class OutputOpenTelemetryTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -325,6 +326,7 @@ class OutputOpenTelemetry(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None diff --git a/src/cribl_control_plane/models/outputprometheus.py b/src/cribl_control_plane/models/outputprometheus.py index 077d4e9f2..cce34791f 100644 --- a/src/cribl_control_plane/models/outputprometheus.py +++ b/src/cribl_control_plane/models/outputprometheus.py @@ -112,6 +112,7 @@ class OutputPrometheusTypedDict(TypedDict): auth_type: NotRequired[OutputPrometheusAuthenticationType] r"""Remote Write authentication type""" description: NotRequired[str] + r"""Optional description for this configuration.""" metrics_flush_period_sec: NotRequired[float] r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" pq_strict_ordering: NotRequired[bool] @@ -294,6 +295,7 @@ class OutputPrometheus(BaseModel): r"""Remote Write authentication type""" description: Optional[str] = None + r"""Optional description for this configuration.""" metrics_flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="metricsFlushPeriodSec") diff --git a/src/cribl_control_plane/models/outputresponse.py b/src/cribl_control_plane/models/outputresponse.py index 023953b51..29fef139a 100644 --- a/src/cribl_control_plane/models/outputresponse.py +++ b/src/cribl_control_plane/models/outputresponse.py @@ -1,8 +1,25 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .backpressurebehavioroptions import BackpressureBehaviorOptions +from .compressionoptionspq import CompressionOptionsPq +from .extrahttpheaderconfinputelastic import ( + ExtraHTTPHeaderConfInputElastic, + ExtraHTTPHeaderConfInputElasticTypedDict, +) +from .failedrequestloggingmodeoptions import FailedRequestLoggingModeOptions +from .methodoptions import MethodOptions +from .modeoptions import ModeOptions from .notification_union import NotificationUnion, NotificationUnionTypedDict -from .outputresponse_outputwebhook_webhook_1 import ( +from .oauthheaderconfinputservicenowtable import ( + OauthHeaderConfInputServicenowTable, + OauthHeaderConfInputServicenowTableTypedDict, +) +from .oauthparamconfinputservicenowtable import ( + OauthParamConfInputServicenowTable, + OauthParamConfInputServicenowTableTypedDict, +) +from .outputresponse_outputwebhook_authentication_type_1 import ( OutputResponseOutputAzureBlob, OutputResponseOutputAzureBlobTypedDict, OutputResponseOutputAzureDataExplorer, @@ -64,6 +81,8 @@ OutputResponseOutputSplunkLbTypedDict, OutputResponseOutputSplunkTypedDict, OutputResponseOutputStatsd, + OutputResponseOutputStatsdExt, + OutputResponseOutputStatsdExtTypedDict, OutputResponseOutputStatsdTypedDict, OutputResponseOutputSyslog, OutputResponseOutputSyslogTypedDict, @@ -71,14 +90,15 @@ OutputResponseOutputTcpjsonTypedDict, OutputResponseOutputWavefront, OutputResponseOutputWavefrontTypedDict, - OutputResponseOutputWebhookWebhook1, - OutputResponseOutputWebhookWebhook1TypedDict, + OutputResponseOutputWebhookAuthenticationType1, + OutputResponseOutputWebhookFormat1, + OutputResponseOutputWebhookType1, OutputResponseOutputWebhookWebhook2, OutputResponseOutputWebhookWebhook2TypedDict, OutputResponseOutputWizHec, OutputResponseOutputWizHecTypedDict, ) -from .outputresponse_pqcontrols_statsd import ( +from .outputresponse_pqcontrols_statsdext import ( OutputResponseOutputAlibabaCloudS3, OutputResponseOutputAlibabaCloudS3TypedDict, OutputResponseOutputAlphasocS3, @@ -125,6 +145,8 @@ OutputResponseOutputGraphiteTypedDict, OutputResponseOutputHumioHec, OutputResponseOutputHumioHecTypedDict, + OutputResponseOutputIbmCloudS3, + OutputResponseOutputIbmCloudS3TypedDict, OutputResponseOutputLocalSearchStorage, OutputResponseOutputLocalSearchStorageTypedDict, OutputResponseOutputLoki, @@ -157,8 +179,6 @@ OutputResponseOutputSnsTypedDict, OutputResponseOutputSqs, OutputResponseOutputSqsTypedDict, - OutputResponseOutputStatsdExt, - OutputResponseOutputStatsdExtTypedDict, OutputResponseOutputStorjS3, OutputResponseOutputStorjS3TypedDict, OutputResponseOutputSumoLogic, @@ -166,18 +186,721 @@ OutputResponseOutputXsiam, OutputResponseOutputXsiamTypedDict, ) +from .queuefullbehavioroptions import QueueFullBehaviorOptions +from .responseretrysettingconfoutputwebhook import ( + ResponseRetrySettingConfOutputWebhook, + ResponseRetrySettingConfOutputWebhookTypedDict, +) from .statustype import StatusType, StatusTypeTypedDict +from .timeoutretrysettingstype import ( + TimeoutRetrySettingsType, + TimeoutRetrySettingsTypeTypedDict, +) +from .tlssettingsclientsidetypecapathcertpathextended import ( + TLSSettingsClientSideTypeCaPathCertPathExtended, + TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict, +) +from cribl_control_plane import models from cribl_control_plane.types import BaseModel, Nullable, UNSET_SENTINEL from cribl_control_plane.utils.unions import parse_open_union from enum import Enum from functools import partial import pydantic -from pydantic import ConfigDict, model_serializer +from pydantic import ConfigDict, field_serializer, model_serializer from pydantic.functional_validators import BeforeValidator from typing import Any, List, Literal, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +class OutputResponseOutputWebhookPqControls1TypedDict(TypedDict): + pass + + +class OutputResponseOutputWebhookPqControls1(BaseModel): + pass + + +class OutputResponseOutputWebhookURL1TypedDict(TypedDict): + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + +class OutputResponseOutputWebhookURL1(BaseModel): + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["weight", "__template_url"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseOutputWebhookWebhook1TypedDict(TypedDict): + type: OutputResponseOutputWebhookType1 + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + method: NotRequired[MethodOptions] + r"""The method to use when sending events""" + format_: NotRequired[OutputResponseOutputWebhookFormat1] + r"""How to format events before sending out""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[OutputResponseOutputWebhookAuthenticationType1] + r"""Authentication method to use for the HTTP request""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_source_expression: NotRequired[str] + r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" + custom_drop_when_null: NotRequired[bool] + r"""Whether to drop events when the source expression evaluates to null""" + custom_event_delimiter: NotRequired[str] + r"""Delimiter string to insert between individual events. Defaults to newline character.""" + custom_content_type: NotRequired[str] + r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" + custom_payload_expression: NotRequired[str] + r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" + advanced_content_type: NotRequired[str] + r"""HTTP content-type header value""" + format_event_code: NotRequired[str] + r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + format_payload_code: NotRequired[str] + r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[OutputResponseOutputWebhookPqControls1TypedDict] + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + login_url: NotRequired[str] + r"""URL for OAuth""" + secret_param_name: NotRequired[str] + r"""Secret parameter name to pass in request body""" + secret: NotRequired[str] + r"""Secret parameter value to pass in request body""" + token_attribute_name: NotRequired[str] + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + auth_header_expr: NotRequired[str] + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + token_timeout_secs: NotRequired[float] + r"""How often the OAuth token should be refreshed.""" + oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] + 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.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[OutputResponseOutputWebhookURL1TypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_login_url: NotRequired[str] + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" + template_secret: NotRequired[str] + r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + +class OutputResponseOutputWebhookWebhook1(BaseModel): + type: OutputResponseOutputWebhookType1 + + url: str + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + + id: Optional[str] = None + r"""Unique ID for this output""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + method: Optional[MethodOptions] = None + r"""The method to use when sending events""" + + format_: Annotated[ + Optional[OutputResponseOutputWebhookFormat1], pydantic.Field(alias="format") + ] = None + r"""How to format events before sending out""" + + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" + + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body""" + + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" + + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + auth_type: Annotated[ + Optional[OutputResponseOutputWebhookAuthenticationType1], + pydantic.Field(alias="authType"), + ] = None + r"""Authentication method to use for the HTTP request""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_source_expression: Annotated[ + Optional[str], pydantic.Field(alias="customSourceExpression") + ] = None + r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" + + custom_drop_when_null: Annotated[ + Optional[bool], pydantic.Field(alias="customDropWhenNull") + ] = None + r"""Whether to drop events when the source expression evaluates to null""" + + custom_event_delimiter: Annotated[ + Optional[str], pydantic.Field(alias="customEventDelimiter") + ] = None + r"""Delimiter string to insert between individual events. Defaults to newline character.""" + + custom_content_type: Annotated[ + Optional[str], pydantic.Field(alias="customContentType") + ] = None + r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" + + custom_payload_expression: Annotated[ + Optional[str], pydantic.Field(alias="customPayloadExpression") + ] = None + r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" + + advanced_content_type: Annotated[ + Optional[str], pydantic.Field(alias="advancedContentType") + ] = None + r"""HTTP content-type header value""" + + format_event_code: Annotated[ + Optional[str], pydantic.Field(alias="formatEventCode") + ] = None + r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + + format_payload_code: Annotated[ + Optional[str], pydantic.Field(alias="formatPayloadCode") + ] = None + r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") + ] = None + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" + + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + ] = None + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[OutputResponseOutputWebhookPqControls1], + pydantic.Field(alias="pqControls"), + ] = None + + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None + r"""URL for OAuth""" + + secret_param_name: Annotated[ + Optional[str], pydantic.Field(alias="secretParamName") + ] = None + r"""Secret parameter name to pass in request body""" + + secret: Optional[str] = None + r"""Secret parameter value to pass in request body""" + + token_attribute_name: Annotated[ + Optional[str], pydantic.Field(alias="tokenAttributeName") + ] = None + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + + auth_header_expr: Annotated[ + Optional[str], pydantic.Field(alias="authHeaderExpr") + ] = None + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + + token_timeout_secs: Annotated[ + Optional[float], pydantic.Field(alias="tokenTimeoutSecs") + ] = None + r"""How often the OAuth token should be refreshed.""" + + oauth_params: Annotated[ + Optional[List[OauthParamConfInputServicenowTable]], + pydantic.Field(alias="oauthParams"), + ] = None + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + + oauth_headers: Annotated[ + Optional[List[OauthHeaderConfInputServicenowTable]], + pydantic.Field(alias="oauthHeaders"), + ] = None + 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.""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + urls: Optional[List[OutputResponseOutputWebhookURL1]] = None + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + ] = None + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + template_login_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_loginUrl") + ] = None + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" + + template_secret: Annotated[ + Optional[str], pydantic.Field(alias="__template_secret") + ] = None + r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" + + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + @field_serializer("method") + def serialize_method(self, value): + if isinstance(value, str): + try: + return models.MethodOptions(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.OutputResponseOutputWebhookFormat1(value) + except ValueError: + return value + return value + + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.OutputResponseOutputWebhookAuthenticationType1(value) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "method", + "format", + "keepAlive", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "tls", + "totalMemoryLimitKB", + "loadBalanced", + "description", + "customSourceExpression", + "customDropWhenNull", + "customEventDelimiter", + "customContentType", + "customPayloadExpression", + "advancedContentType", + "formatEventCode", + "formatPayloadCode", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "username", + "password", + "token", + "credentialsSecret", + "textSecret", + "loginUrl", + "secretParamName", + "secret", + "tokenAttributeName", + "authHeaderExpr", + "tokenTimeoutSecs", + "oauthParams", + "oauthHeaders", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_loginUrl", + "__template_secret", + "__template_url", + "notifications", + "status", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + OutputResponseOutputWebhookUnionTypedDict = TypeAliasType( "OutputResponseOutputWebhookUnionTypedDict", Union[ @@ -354,6 +1077,7 @@ def serialize_model(self, handler): OutputResponseOutputDatabricksTypedDict, OutputResponseOutputMskTypedDict, OutputResponseOutputAlphasocS3TypedDict, + OutputResponseOutputIbmCloudS3TypedDict, OutputResponseOutputStorjS3TypedDict, OutputResponseOutputOpenTelemetryTypedDict, OutputResponseOutputAlibabaCloudS3TypedDict, @@ -469,6 +1193,7 @@ class UnknownOutputResponse(BaseModel): "cloudian_s3": OutputResponseOutputCloudianS3, "scality_s3": OutputResponseOutputScalityS3, "alibaba_cloud_s3": OutputResponseOutputAlibabaCloudS3, + "ibm_cloud_s3": OutputResponseOutputIbmCloudS3, } @@ -554,6 +1279,7 @@ class UnknownOutputResponse(BaseModel): OutputResponseOutputCloudianS3, OutputResponseOutputScalityS3, OutputResponseOutputAlibabaCloudS3, + OutputResponseOutputIbmCloudS3, UnknownOutputResponse, ], BeforeValidator( @@ -569,6 +1295,14 @@ class UnknownOutputResponse(BaseModel): r"""Destination configuration with optional Notifications and runtime status.""" +try: + OutputResponseOutputWebhookURL1.model_rebuild() +except NameError: + pass +try: + OutputResponseOutputWebhookWebhook1.model_rebuild() +except NameError: + pass try: OutputResponseOutputDefault.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/outputresponse_outputwebhook_webhook_1.py b/src/cribl_control_plane/models/outputresponse_outputwebhook_authentication_type_1.py similarity index 97% rename from src/cribl_control_plane/models/outputresponse_outputwebhook_webhook_1.py rename to src/cribl_control_plane/models/outputresponse_outputwebhook_authentication_type_1.py index 72317ca2d..6a189999a 100644 --- a/src/cribl_control_plane/models/outputresponse_outputwebhook_webhook_1.py +++ b/src/cribl_control_plane/models/outputresponse_outputwebhook_authentication_type_1.py @@ -76,10 +76,10 @@ OrphanFileRecoveryType, OrphanFileRecoveryTypeTypedDict, ) -from .outputresponse_pqcontrols_statsd import ( - OutputResponsePqControlsStatsd, - OutputResponsePqControlsStatsdTypedDict, - OutputResponseTypeStatsd, +from .outputresponse_pqcontrols_statsdext import ( + OutputResponsePqControlsStatsdExt, + OutputResponsePqControlsStatsdExtTypedDict, + OutputResponseTypeStatsdExt, ) from .parquetversionoptions import ParquetVersionOptions from .queuefullbehavioroptions import QueueFullBehaviorOptions @@ -136,8 +136,8 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class OutputResponseOutputStatsdTypedDict(TypedDict): - type: OutputResponseTypeStatsd +class OutputResponseOutputStatsdExtTypedDict(TypedDict): + type: OutputResponseTypeStatsdExt protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" host: str @@ -161,6 +161,7 @@ class OutputResponseOutputStatsdTypedDict(TypedDict): dns_resolve_period_sec: NotRequired[float] r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] + r"""Optional description for this configuration.""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" connection_timeout: NotRequired[float] @@ -191,7 +192,7 @@ class OutputResponseOutputStatsdTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsStatsdTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsStatsdExtTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_on_backpressure: NotRequired[str] @@ -202,8 +203,8 @@ class OutputResponseOutputStatsdTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputStatsd(BaseModel): - type: OutputResponseTypeStatsd +class OutputResponseOutputStatsdExt(BaseModel): + type: OutputResponseTypeStatsdExt protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" @@ -245,6 +246,7 @@ class OutputResponseOutputStatsd(BaseModel): r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: Optional[str] = None + r"""Optional description for this configuration.""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") @@ -316,7 +318,7 @@ class OutputResponseOutputStatsd(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsStatsd], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsStatsdExt], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -429,18 +431,26 @@ def serialize_model(self, handler): return m -class OutputResponseTypeMinio(str, Enum): - MINIO = "minio" +class OutputResponseTypeStatsd(str, Enum): + STATSD = "statsd" -class OutputResponseOutputMinioTypedDict(TypedDict): - type: OutputResponseTypeMinio - bucket: str - r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""MinIO service url (e.g. http://minioHost:9000)""" +class OutputResponsePqControlsStatsdTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsStatsd(BaseModel): + pass + + +class OutputResponseOutputStatsdTypedDict(TypedDict): + type: OutputResponseTypeStatsd + protocol: DestinationProtocolOptions + r"""Protocol to use when communicating with the destination.""" + host: str + r"""The hostname of the destination.""" + port: float + r"""Destination port.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -451,154 +461,66 @@ class OutputResponseOutputMinioTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the MinIO bucket is located""" - dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - max_closing_files_to_backpressure: NotRequired[float] - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ - ServerSideEncryptionForUploadedObjectsOptionsAes256 - ] - r"""Server-side encryption to use for uploaded objects""" + mtu: NotRequired[float] + r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" + flush_period_sec: NotRequired[float] + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + r"""Optional description for this configuration.""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[OutputResponsePqControlsStatsdTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputMinio(BaseModel): - type: OutputResponseTypeMinio +class OutputResponseOutputStatsd(BaseModel): + type: OutputResponseTypeStatsd - bucket: str - r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + protocol: DestinationProtocolOptions + r"""Protocol to use when communicating with the destination.""" - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + host: str + r"""The hostname of the destination.""" - endpoint: str - r"""MinIO service url (e.g. http://minioHost:9000)""" + port: float + r"""Destination port.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -617,831 +539,712 @@ class OutputResponseOutputMinio(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + mtu: Optional[float] = None + r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - - region: Optional[str] = None - r"""Region where the MinIO bucket is located""" + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") - ] = None - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Add the Output ID value to staging location""" + r"""How to handle events when all receivers are exerting backpressure""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Remove empty staging directories after moving files""" - - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" - - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Buffer size used to write to a file""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") - ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Codec to use to compress the persisted data""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - orphans: Optional[OrphanFileRecoveryType] = None - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + pq_controls: Annotated[ + Optional[OutputResponsePqControlsStatsd], pydantic.Field(alias="pqControls") ] = None - r"""Object ACL to assign to uploaded objects""" - storage_class: Annotated[ - Optional[StorageClassOptionsReducedredundancyStandard], - pydantic.Field(alias="storageClass"), + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Storage class to select for uploaded objects""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], - pydantic.Field(alias="serverSideEncryption"), + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Server-side encryption to use for uploaded objects""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - description: Optional[str] = None + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + @field_serializer("protocol") + def serialize_protocol(self, value): + if isinstance(value, str): + try: + return models.DestinationProtocolOptions(value) + except ValueError: + return value + return value - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "mtu", + "flushPeriodSec", + "dnsResolvePeriodSec", + "description", + "throttleRatePerSec", + "connectionTimeout", + "writeTimeout", + "onBackpressure", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_onBackpressure", + "notifications", + "status", + ] + ) + serialized = handler(self) + m = {} - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") - ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + return m - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") - ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ +class OutputResponseTypeMinio(str, Enum): + MINIO = "minio" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") - ] = None +class OutputResponseOutputMinioTypedDict(TypedDict): + type: OutputResponseTypeMinio + bucket: str + r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""MinIO service url (e.g. http://minioHost:9000)""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the MinIO bucket is located""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ + ServerSideEncryptionForUploadedObjectsOptionsAes256 + ] + r"""Server-side encryption to use for uploaded objects""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") - ] = None + enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") - ] = None + empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" - - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") - ] = None + directory_batch_size: NotRequired[float] r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") - ] = None + deadletter_path: NotRequired[str] r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) + max_retry_num: NotRequired[float] r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None + template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") - ] = None + template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None + template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") - ] = None + template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") - ] = None + template_partition_expr: NotRequired[str] r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None + template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") - ] = None + template_base_file_name: NotRequired[str] r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") - ] = None + template_file_name_suffix: NotRequired[str] r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None + template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None + template_aws_secret_key: NotRequired[str] r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None + template_object_acl: NotRequired[str] r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None + template_storage_class: NotRequired[str] r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") - ] = None + template_server_side_encryption: NotRequired[str] r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None + template_aws_api_key: NotRequired[str] r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None + template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") - ] = None + template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - - notifications: Optional[List[NotificationUnion]] = None + notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" - - status: Optional[StatusType] = None + status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value +class OutputResponseOutputMinio(BaseModel): + type: OutputResponseTypeMinio - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptionsBlockDrop(value) - except ValueError: - return value - return value + bucket: str + r"""Name of the destination MinIO bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): - if isinstance(value, str): - try: - return models.DiskSpaceProtectionOptions(value) - except ValueError: - return value - return value + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - @field_serializer("object_acl") - def serialize_object_acl(self, value): - if isinstance(value, str): - try: - return models.ObjectACLOptions(value) - except ValueError: - return value - return value + endpoint: str + r"""MinIO service url (e.g. http://minioHost:9000)""" - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.StorageClassOptionsReducedredundancyStandard(value) - except ValueError: - return value - return value + id: Optional[str] = None + r"""Unique ID for this output""" - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) - except ValueError: - return value - return value + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsHTTP(value) - except ValueError: - return value - return value + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - @field_serializer("compression_level") - def serialize_compression_level(self, value): - if isinstance(value, str): - try: - return models.CompressionLevelOptions(value) - except ValueError: - return value - return value + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): - if isinstance(value, str): - try: - return models.ParquetVersionOptions(value) - except ValueError: - return value - return value + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): - if isinstance(value, str): - try: - return models.DataPageVersionOptions(value) - except ValueError: - return value - return value + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "region", - "destPath", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "description", - "awsApiKey", - "awsSecret", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "__template_streamtags", - "__template_bucket", - "__template_region", - "__template_destPath", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_awsApiKey", - "__template_compress", - "__template_parquetSchema", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val + region: Optional[str] = None + r"""Region where the MinIO bucket is located""" - return m + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" -class OutputResponseTypeCloudwatch(str, Enum): - CLOUDWATCH = "cloudwatch" + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + ] = None + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" -class OutputResponsePqControlsCloudwatchTypedDict(TypedDict): - pass + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" -class OutputResponsePqControlsCloudwatch(BaseModel): - pass + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" -class OutputResponseOutputCloudwatchTypedDict(TypedDict): - type: OutputResponseTypeCloudwatch - log_group_name: str - r"""CloudWatch log group to associate events with""" - log_stream_name: str - r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" - region: str - r"""Region where the CloudWatchLogs is located""" - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret_key: NotRequired[str] - endpoint: NotRequired[str] - r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access CloudWatchLogs""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - max_queue_size: NotRequired[float] - r"""Maximum number of queued batches before blocking""" - max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsCloudwatchTypedDict] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_log_group_name: NotRequired[str] - r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" - template_log_stream_name: NotRequired[str] - r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - -class OutputResponseOutputCloudwatch(BaseModel): - type: OutputResponseTypeCloudwatch - - log_group_name: Annotated[str, pydantic.Field(alias="logGroupName")] - r"""CloudWatch log group to associate events with""" - - log_stream_name: Annotated[str, pydantic.Field(alias="logStreamName")] - r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" - - region: str - r"""Region where the CloudWatchLogs is located""" - - id: Optional[str] = None - r"""Unique ID for this output""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( None ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - endpoint: Optional[str] = None - r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Buffer size used to write to a file""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""How to handle events when all receivers are exerting backpressure""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Use Assume Role credentials to access CloudWatchLogs""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), + ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") ] = None - r"""External ID to use when assuming role""" + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - 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).""" - max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + orphans: Optional[OrphanFileRecoveryType] = None + + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( None ) - r"""Maximum number of queued batches before blocking""" + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") ] = None - r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" + r"""Object ACL to assign to uploaded objects""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + storage_class: Annotated[ + Optional[StorageClassOptionsReducedredundancyStandard], + pydantic.Field(alias="storageClass"), ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + r"""Storage class to select for uploaded objects""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], + pydantic.Field(alias="serverSideEncryption"), ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Server-side encryption to use for uploaded objects""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Compression level to apply before moving files to final destination""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Determines which data types are supported and how they are represented""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""Codec to use to compress the persisted data""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_controls: Annotated[ - Optional[OutputResponsePqControlsCloudwatch], pydantic.Field(alias="pqControls") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - template_log_group_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_logGroupName") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" + r"""How frequently, in seconds, to clean up empty directories""" - template_log_stream_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_logStreamName") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") + ] = None + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_region: Annotated[ Optional[str], pydantic.Field(alias="__template_region") ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") + ] = None + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") + ] = None + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_aws_api_key: Annotated[ Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -1457,38 +1260,92 @@ def serialize_aws_authentication_method(self, value): return value return value + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.DataFormatOptions(value) + except ValueError: + return value + return value + @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("object_acl") + def serialize_object_acl(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.ObjectACLOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.StorageClassOptionsReducedredundancyStandard(value) + except ValueError: + return value + return value + + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): + if isinstance(value, str): + try: + return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsHTTP(value) + except ValueError: + return value + return value + + @field_serializer("compression_level") + def serialize_compression_level(self, value): + if isinstance(value, str): + try: + return models.CompressionLevelOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): + if isinstance(value, str): + try: + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -1503,43 +1360,71 @@ def serialize_model(self, handler): "environment", "streamtags", "awsAuthenticationMethod", - "awsSecretKey", - "endpoint", "reuseConnections", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "maxQueueSize", - "maxRecordSizeKB", - "flushPeriodSec", + "region", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", "description", "awsApiKey", "awsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_logGroupName", - "__template_logStreamName", - "__template_awsSecretKey", + "__template_bucket", "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_destPath", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_awsSecretKey", + "__template_objectACL", + "__template_storageClass", + "__template_serverSideEncryption", "__template_awsApiKey", + "__template_compress", + "__template_parquetSchema", "notifications", "status", ] @@ -1558,54 +1443,26 @@ def serialize_model(self, handler): return m -class OutputResponseTypeInfluxdb(str, Enum): - INFLUXDB = "influxdb" +class OutputResponseTypeCloudwatch(str, Enum): + CLOUDWATCH = "cloudwatch" -class OutputResponseTimestampPrecision(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" +class OutputResponsePqControlsCloudwatchTypedDict(TypedDict): + pass - # Nanoseconds - NS = "ns" - # Microseconds - U = "u" - # Milliseconds - MS = "ms" - # Seconds - S = "s" - # Minutes - M = "m" - # Hours - H = "h" - - -class OutputResponseAuthenticationTypeInfluxdb(str, Enum, metaclass=utils.OpenEnumMeta): - r"""InfluxDB authentication type""" - - # None - NONE = "none" - # Basic - BASIC = "basic" - # Basic (credentials secret) - CREDENTIALS_SECRET = "credentialsSecret" - # Token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" - - -class OutputResponsePqControlsInfluxdbTypedDict(TypedDict): - pass - -class OutputResponsePqControlsInfluxdb(BaseModel): +class OutputResponsePqControlsCloudwatch(BaseModel): pass -class OutputResponseOutputInfluxdbTypedDict(TypedDict): - type: OutputResponseTypeInfluxdb - url: str - r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" +class OutputResponseOutputCloudwatchTypedDict(TypedDict): + type: OutputResponseTypeCloudwatch + log_group_name: str + r"""CloudWatch log group to associate events with""" + log_stream_name: str + r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" + region: str + r"""Region where the CloudWatchLogs is located""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -1616,57 +1473,36 @@ class OutputResponseOutputInfluxdbTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - use_v2_api: NotRequired[bool] - r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" - timestamp_precision: NotRequired[OutputResponseTimestampPrecision] - r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" - dynamic_value_field_name: NotRequired[bool] - r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" - value_field_name: NotRequired[str] - r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret_key: NotRequired[str] + endpoint: NotRequired[str] + r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access CloudWatchLogs""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + max_queue_size: NotRequired[float] + r"""Maximum number of queued batches before blocking""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[OutputResponseAuthenticationTypeInfluxdb] - r"""InfluxDB authentication type""" description: NotRequired[str] - database: NotRequired[str] - r"""Database to write to.""" - bucket: NotRequired[str] - r"""Bucket to write to.""" - org: NotRequired[str] - r"""Organization ID for this bucket.""" + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -1689,38 +1525,44 @@ class OutputResponseOutputInfluxdbTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsInfluxdbTypedDict] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[OutputResponsePqControlsCloudwatchTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_log_group_name: NotRequired[str] + r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" + template_log_stream_name: NotRequired[str] + r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_database: NotRequired[str] - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputInfluxdb(BaseModel): - type: OutputResponseTypeInfluxdb +class OutputResponseOutputCloudwatch(BaseModel): + type: OutputResponseTypeCloudwatch - url: str - r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" + log_group_name: Annotated[str, pydantic.Field(alias="logGroupName")] + r"""CloudWatch log group to associate events with""" + + log_stream_name: Annotated[str, pydantic.Field(alias="logStreamName")] + r"""Prefix for CloudWatch log stream name. This prefix will be used to generate a unique log stream name per cribl instance, for example: myStream_myHost_myOutputId""" + + region: str + r"""Region where the CloudWatchLogs is located""" id: Optional[str] = None r"""Unique ID for this output""" @@ -1739,120 +1581,81 @@ class OutputResponseOutputInfluxdb(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - use_v2_api: Annotated[Optional[bool], pydantic.Field(alias="useV2API")] = None - r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" - timestamp_precision: Annotated[ - Optional[OutputResponseTimestampPrecision], - pydantic.Field(alias="timestampPrecision"), + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + + endpoint: Optional[str] = None + r"""CloudWatchLogs service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to CloudWatchLogs-compatible endpoint.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = None - r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" + r"""Reuse connections between requests, which can improve performance""" - dynamic_value_field_name: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicValueFieldName") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - value_field_name: Annotated[ - Optional[str], pydantic.Field(alias="valueFieldName") + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" + r"""Use Assume Role credentials to access CloudWatchLogs""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None - r"""Maximum size, in KB, of the request body""" + r"""External ID to use when assuming role""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + 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).""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Maximum size (KB) of each individual record before compression. For non compressible data 1MB is the max recommended size""" flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Headers to add to all events""" + r"""How to handle events when all receivers are exerting backpressure""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""List of headers that are safe to log in plain text""" - - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - auth_type: Annotated[ - Optional[OutputResponseAuthenticationTypeInfluxdb], - pydantic.Field(alias="authType"), - ] = None - r"""InfluxDB authentication type""" - - description: Optional[str] = None - - database: Optional[str] = None - r"""Database to write to.""" - - bucket: Optional[str] = None - r"""Bucket to write to.""" - - org: Optional[str] = None - r"""Organization ID for this bucket.""" - - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") - ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: Annotated[ Optional[float], pydantic.Field(alias="pqRatePerSec") @@ -1899,53 +1702,58 @@ class OutputResponseOutputInfluxdb(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsInfluxdb], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsCloudwatch], pydantic.Field(alias="pqControls") ] = None - username: Optional[str] = None + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - password: Optional[str] = None + template_log_group_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_logGroupName") + ] = None + r"""Binds 'logGroupName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logGroupName' at runtime.""" - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" + template_log_stream_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_logStreamName") + ] = None + r"""Binds 'logStreamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logStreamName' at runtime.""" - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") ] = None - r"""Select or create a secret that references your credentials""" + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_database: Annotated[ - Optional[str], pydantic.Field(alias="__template_database") - ] = None - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -1953,20 +1761,11 @@ class OutputResponseOutputInfluxdb(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("timestamp_precision") - def serialize_timestamp_precision(self, value): - if isinstance(value, str): - try: - return models.OutputResponseTimestampPrecision(value) - except ValueError: - return value - return value - - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -1980,15 +1779,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.OutputResponseAuthenticationTypeInfluxdb(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -2025,30 +1815,22 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "useV2API", - "timestampPrecision", - "dynamicValueFieldName", - "valueFieldName", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", + "awsAuthenticationMethod", + "awsSecretKey", + "endpoint", + "reuseConnections", "rejectUnauthorized", - "timeoutSec", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "maxQueueSize", + "maxRecordSizeKB", "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", "onBackpressure", - "authType", "description", - "database", - "bucket", - "org", + "awsApiKey", + "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -2061,17 +1843,16 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", + "__template_logGroupName", + "__template_logStreamName", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_onBackpressure", - "__template_database", - "__template_bucket", + "__template_awsApiKey", "notifications", "status", ] @@ -2090,24 +1871,54 @@ def serialize_model(self, handler): return m -class OutputResponseTypeNewrelicEvents(str, Enum): - NEWRELIC_EVENTS = "newrelic_events" +class OutputResponseTypeInfluxdb(str, Enum): + INFLUXDB = "influxdb" -class OutputResponsePqControlsNewrelicEventsTypedDict(TypedDict): +class OutputResponseTimestampPrecision(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" + + # Nanoseconds + NS = "ns" + # Microseconds + U = "u" + # Milliseconds + MS = "ms" + # Seconds + S = "s" + # Minutes + M = "m" + # Hours + H = "h" + + +class OutputResponseAuthenticationTypeInfluxdb(str, Enum, metaclass=utils.OpenEnumMeta): + r"""InfluxDB authentication type""" + + # None + NONE = "none" + # Basic + BASIC = "basic" + # Basic (credentials secret) + CREDENTIALS_SECRET = "credentialsSecret" + # Token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" + + +class OutputResponsePqControlsInfluxdbTypedDict(TypedDict): pass -class OutputResponsePqControlsNewrelicEvents(BaseModel): +class OutputResponsePqControlsInfluxdb(BaseModel): pass -class OutputResponseOutputNewrelicEventsTypedDict(TypedDict): - type: OutputResponseTypeNewrelicEvents - account_id: str - r"""New Relic account ID""" - event_type: str - r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" +class OutputResponseOutputInfluxdbTypedDict(TypedDict): + type: OutputResponseTypeInfluxdb + url: str + r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -2118,8 +1929,14 @@ class OutputResponseOutputNewrelicEventsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - region: NotRequired[RegionOptions] - r"""Which New Relic region endpoint to use.""" + use_v2_api: NotRequired[bool] + r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" + timestamp_precision: NotRequired[OutputResponseTimestampPrecision] + r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" + dynamic_value_field_name: NotRequired[bool] + r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" + value_field_name: NotRequired[str] + r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -2154,10 +1971,16 @@ class OutputResponseOutputNewrelicEventsTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" + auth_type: NotRequired[OutputResponseAuthenticationTypeInfluxdb] + r"""InfluxDB authentication type""" description: NotRequired[str] - custom_url: NotRequired[str] + r"""Optional description for this configuration.""" + database: NotRequired[str] + r"""Database to write to.""" + bucket: NotRequired[str] + r"""Bucket to write to.""" + org: NotRequired[str] + r"""Organization ID for this bucket.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -2180,39 +2003,38 @@ class OutputResponseOutputNewrelicEventsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsNewrelicEventsTypedDict] - api_key: NotRequired[str] - r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + pq_controls: NotRequired[OutputResponsePqControlsInfluxdbTypedDict] + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_account_id: NotRequired[str] - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - template_event_type: NotRequired[str] - r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: NotRequired[str] - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + template_database: NotRequired[str] + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputNewrelicEvents(BaseModel): - type: OutputResponseTypeNewrelicEvents - - account_id: Annotated[str, pydantic.Field(alias="accountId")] - r"""New Relic account ID""" +class OutputResponseOutputInfluxdb(BaseModel): + type: OutputResponseTypeInfluxdb - event_type: Annotated[str, pydantic.Field(alias="eventType")] - r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" + url: str + r"""URL of an InfluxDB cluster to send events to, e.g., http://localhost:8086/write""" id: Optional[str] = None r"""Unique ID for this output""" @@ -2231,8 +2053,24 @@ class OutputResponseOutputNewrelicEvents(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - region: Optional[RegionOptions] = None - r"""Which New Relic region endpoint to use.""" + use_v2_api: Annotated[Optional[bool], pydantic.Field(alias="useV2API")] = None + r"""The v2 API can be enabled with InfluxDB versions 1.8 and later.""" + + timestamp_precision: Annotated[ + Optional[OutputResponseTimestampPrecision], + pydantic.Field(alias="timestampPrecision"), + ] = None + r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds.""" + + dynamic_value_field_name: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicValueFieldName") + ] = None + r"""Enabling this will pull the value field from the metric name. E,g, 'db.query.user' will use 'db.query' as the measurement and 'user' as the value field.""" + + value_field_name: Annotated[ + Optional[str], pydantic.Field(alias="valueFieldName") + ] = None + r"""Name of the field in which to store the metric when sending to InfluxDB. If dynamic generation is enabled and fails, this will be used as a fallback.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -2309,13 +2147,22 @@ class OutputResponseOutputNewrelicEvents(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + Optional[OutputResponseAuthenticationTypeInfluxdb], + pydantic.Field(alias="authType"), ] = None - r"""Enter API key directly, or select a stored secret""" + r"""InfluxDB authentication type""" description: Optional[str] = None + r"""Optional description for this configuration.""" - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None + database: Optional[str] = None + r"""Database to write to.""" + + bucket: Optional[str] = None + r"""Bucket to write to.""" + + org: Optional[str] = None + r"""Organization ID for this bucket.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -2367,12 +2214,20 @@ class OutputResponseOutputNewrelicEvents(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsNewrelicEvents], - pydantic.Field(alias="pqControls"), + Optional[OutputResponsePqControlsInfluxdb], pydantic.Field(alias="pqControls") ] = None - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -2382,20 +2237,10 @@ class OutputResponseOutputNewrelicEvents(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_account_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_accountId") - ] = None - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - - template_event_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_eventType") - ] = None - r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -2407,10 +2252,15 @@ class OutputResponseOutputNewrelicEvents(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_customUrl") + template_database: Annotated[ + Optional[str], pydantic.Field(alias="__template_database") ] = None - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" + + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") + ] = None + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -2418,11 +2268,11 @@ class OutputResponseOutputNewrelicEvents(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("region") - def serialize_region(self, value): + @field_serializer("timestamp_precision") + def serialize_timestamp_precision(self, value): if isinstance(value, str): try: - return models.RegionOptions(value) + return models.OutputResponseTimestampPrecision(value) except ValueError: return value return value @@ -2449,7 +2299,7 @@ def serialize_on_backpressure(self, value): def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAPI(value) + return models.OutputResponseAuthenticationTypeInfluxdb(value) except ValueError: return value return value @@ -2490,7 +2340,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "region", + "useV2API", + "timestampPrecision", + "dynamicValueFieldName", + "valueFieldName", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -2508,7 +2361,9 @@ def serialize_model(self, handler): "onBackpressure", "authType", "description", - "customUrl", + "database", + "bucket", + "org", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -2521,15 +2376,17 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", + "username", + "password", + "token", + "credentialsSecret", "textSecret", "__template_streamtags", - "__template_region", - "__template_accountId", - "__template_eventType", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_customUrl", + "__template_database", + "__template_bucket", "notifications", "status", ] @@ -2548,53 +2405,24 @@ def serialize_model(self, handler): return m -class OutputResponseTypeNewrelic(str, Enum): - NEWRELIC = "newrelic" - - -class OutputResponseFieldName(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Name of the metadata field.""" - - SERVICE = "service" - HOSTNAME = "hostname" - TIMESTAMP = "timestamp" - AUDIT_ID = "auditId" - - -class OutputResponseMetadatumTypedDict(TypedDict): - name: OutputResponseFieldName - r"""Name of the metadata field.""" - value: str - r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" - - -class OutputResponseMetadatum(BaseModel): - name: OutputResponseFieldName - r"""Name of the metadata field.""" - - value: str - r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" - - @field_serializer("name") - def serialize_name(self, value): - if isinstance(value, str): - try: - return models.OutputResponseFieldName(value) - except ValueError: - return value - return value +class OutputResponseTypeNewrelicEvents(str, Enum): + NEWRELIC_EVENTS = "newrelic_events" -class OutputResponsePqControlsNewrelicTypedDict(TypedDict): +class OutputResponsePqControlsNewrelicEventsTypedDict(TypedDict): pass -class OutputResponsePqControlsNewrelic(BaseModel): +class OutputResponsePqControlsNewrelicEvents(BaseModel): pass -class OutputResponseOutputNewrelicTypedDict(TypedDict): - type: OutputResponseTypeNewrelic +class OutputResponseOutputNewrelicEventsTypedDict(TypedDict): + type: OutputResponseTypeNewrelicEvents + account_id: str + r"""New Relic account ID""" + event_type: str + r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -2607,12 +2435,6 @@ class OutputResponseOutputNewrelicTypedDict(TypedDict): r"""Tags for filtering and grouping in @{product}""" region: NotRequired[RegionOptions] r"""Which New Relic region endpoint to use.""" - log_type: NotRequired[str] - r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" - message_field: NotRequired[str] - r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" - metadata: NotRequired[List[OutputResponseMetadatumTypedDict]] - r"""Fields to add to events from this input""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -2649,9 +2471,8 @@ class OutputResponseOutputNewrelicTypedDict(TypedDict): r"""How to handle events when all receivers are exerting backpressure""" auth_type: NotRequired[AuthenticationMethodOptionsAPI] r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" @@ -2675,7 +2496,7 @@ class OutputResponseOutputNewrelicTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsNewrelicTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsNewrelicEventsTypedDict] api_key: NotRequired[str] r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" text_secret: NotRequired[str] @@ -2684,22 +2505,30 @@ class OutputResponseOutputNewrelicTypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_log_type: NotRequired[str] - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" - template_message_field: NotRequired[str] - r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" + template_account_id: NotRequired[str] + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" + template_event_type: NotRequired[str] + r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_custom_url: NotRequired[str] + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputNewrelic(BaseModel): - type: OutputResponseTypeNewrelic +class OutputResponseOutputNewrelicEvents(BaseModel): + type: OutputResponseTypeNewrelicEvents + + account_id: Annotated[str, pydantic.Field(alias="accountId")] + r"""New Relic account ID""" + + event_type: Annotated[str, pydantic.Field(alias="eventType")] + r"""Default New Relic eventType to use when event type is not present. For more information, see the [New Relic eventType documentation](https://docs.newrelic.com/docs/telemetry-data-platform/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words).""" id: Optional[str] = None r"""Unique ID for this output""" @@ -2721,15 +2550,6 @@ class OutputResponseOutputNewrelic(BaseModel): region: Optional[RegionOptions] = None r"""Which New Relic region endpoint to use.""" - log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None - r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" - - message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None - r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" - - metadata: Optional[List[OutputResponseMetadatum]] = None - r"""Fields to add to events from this input""" - concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -2809,12 +2629,8 @@ class OutputResponseOutputNewrelic(BaseModel): ] = None r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None @@ -2868,7 +2684,8 @@ class OutputResponseOutputNewrelic(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsNewrelic], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsNewrelicEvents], + pydantic.Field(alias="pqControls"), ] = None api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None @@ -2887,15 +2704,15 @@ class OutputResponseOutputNewrelic(BaseModel): ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_log_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_logType") + template_account_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_accountId") ] = None - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - template_message_field: Annotated[ - Optional[str], pydantic.Field(alias="__template_messageField") + template_event_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_eventType") ] = None - r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" + r"""Binds 'eventType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'eventType' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -2907,6 +2724,11 @@ class OutputResponseOutputNewrelic(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_custom_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_customUrl") + ] = None + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -2986,9 +2808,6 @@ def serialize_model(self, handler): "environment", "streamtags", "region", - "logType", - "messageField", - "metadata", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -3005,7 +2824,6 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "onBackpressure", "authType", - "totalMemoryLimitKB", "description", "customUrl", "pqStrictOrdering", @@ -3024,10 +2842,11 @@ def serialize_model(self, handler): "textSecret", "__template_streamtags", "__template_region", - "__template_logType", - "__template_messageField", + "__template_accountId", + "__template_eventType", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_customUrl", "notifications", "status", ] @@ -3046,24 +2865,53 @@ def serialize_model(self, handler): return m -class OutputResponseTypeElasticCloud(str, Enum): - ELASTIC_CLOUD = "elastic_cloud" +class OutputResponseTypeNewrelic(str, Enum): + NEWRELIC = "newrelic" -class OutputResponsePqControlsElasticCloudTypedDict(TypedDict): +class OutputResponseFieldName(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Name of the metadata field.""" + + SERVICE = "service" + HOSTNAME = "hostname" + TIMESTAMP = "timestamp" + AUDIT_ID = "auditId" + + +class OutputResponseMetadatumTypedDict(TypedDict): + name: OutputResponseFieldName + r"""Name of the metadata field.""" + value: str + r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" + + +class OutputResponseMetadatum(BaseModel): + name: OutputResponseFieldName + r"""Name of the metadata field.""" + + value: str + r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)""" + + @field_serializer("name") + def serialize_name(self, value): + if isinstance(value, str): + try: + return models.OutputResponseFieldName(value) + except ValueError: + return value + return value + + +class OutputResponsePqControlsNewrelicTypedDict(TypedDict): pass -class OutputResponsePqControlsElasticCloud(BaseModel): +class OutputResponsePqControlsNewrelic(BaseModel): pass -class OutputResponseOutputElasticCloudTypedDict(TypedDict): - type: OutputResponseTypeElasticCloud - url: str - r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" - index: str - r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" +class OutputResponseOutputNewrelicTypedDict(TypedDict): + type: OutputResponseTypeNewrelic id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -3074,6 +2922,14 @@ class OutputResponseOutputElasticCloudTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + region: NotRequired[RegionOptions] + r"""Which New Relic region endpoint to use.""" + log_type: NotRequired[str] + r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" + message_field: NotRequired[str] + r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" + metadata: NotRequired[List[OutputResponseMetadatumTypedDict]] + r"""Fields to add to events from this input""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -3093,17 +2949,12 @@ class OutputResponseOutputElasticCloudTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] - r"""Extra parameters to use in HTTP requests""" - auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] - elastic_pipeline: NotRequired[str] - r"""Optional Elastic Cloud Destination pipeline""" - include_doc_id: NotRequired[bool] - r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -3113,7 +2964,13 @@ class OutputResponseOutputElasticCloudTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -3136,17 +2993,21 @@ class OutputResponseOutputElasticCloudTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsElasticCloudTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsNewrelicTypedDict] + api_key: NotRequired[str] + r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_index: NotRequired[str] - r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_log_type: NotRequired[str] + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + template_message_field: NotRequired[str] + r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_elastic_pipeline: NotRequired[str] - r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] @@ -3155,14 +3016,8 @@ class OutputResponseOutputElasticCloudTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputElasticCloud(BaseModel): - type: OutputResponseTypeElasticCloud - - url: str - r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" - - index: str - r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" +class OutputResponseOutputNewrelic(BaseModel): + type: OutputResponseTypeNewrelic id: Optional[str] = None r"""Unique ID for this output""" @@ -3181,6 +3036,18 @@ class OutputResponseOutputElasticCloud(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + region: Optional[RegionOptions] = None + r"""Which New Relic region endpoint to use.""" + + log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None + r"""Name of the logtype to send with events, e.g.: observability, access_log. The event's 'sourcetype' field (if set) will override this value.""" + + message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None + r"""Name of field to send as log message value. If not present, event will be serialized and sent as JSON.""" + + metadata: Optional[List[OutputResponseMetadatum]] = None + r"""Fields to add to events from this input""" + concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -3219,6 +3086,11 @@ class OutputResponseOutputElasticCloud(BaseModel): ] = None r"""Headers to add to all events""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -3230,23 +3102,6 @@ class OutputResponseOutputElasticCloud(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - extra_params: Annotated[ - Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") - ] = None - r"""Extra parameters to use in HTTP requests""" - - auth: Optional[AuthTypeTemplatemanualAPIKeyAuthType] = None - - elastic_pipeline: Annotated[ - Optional[str], pydantic.Field(alias="elasticPipeline") - ] = None - r"""Optional Elastic Cloud Destination pipeline""" - - include_doc_id: Annotated[Optional[bool], pydantic.Field(alias="includeDocId")] = ( - None - ) - r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -3267,7 +3122,20 @@ class OutputResponseOutputElasticCloud(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + ] = None + r"""Enter API key directly, or select a stored secret""" + + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -3319,35 +3187,40 @@ class OutputResponseOutputElasticCloud(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsElasticCloud], - pydantic.Field(alias="pqControls"), + Optional[OutputResponsePqControlsNewrelic], pydantic.Field(alias="pqControls") ] = None + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""New Relic API key. Can be overridden using __newRelic_apiKey field.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_index: Annotated[ - Optional[str], pydantic.Field(alias="__template_index") + template_log_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logType") ] = None - r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + + template_message_field: Annotated[ + Optional[str], pydantic.Field(alias="__template_messageField") + ] = None + r"""Binds 'messageField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageField' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_elastic_pipeline: Annotated[ - Optional[str], pydantic.Field(alias="__template_elasticPipeline") - ] = None - r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None @@ -3359,6 +3232,15 @@ class OutputResponseOutputElasticCloud(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + @field_serializer("region") + def serialize_region(self, value): + if isinstance(value, str): + try: + return models.RegionOptions(value) + except ValueError: + return value + return value + @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -3377,6 +3259,15 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAPI(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -3413,6 +3304,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "region", + "logType", + "messageField", + "metadata", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -3421,17 +3316,17 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "extraParams", - "auth", - "elasticPipeline", - "includeDocId", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -3444,11 +3339,13 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", - "__template_url", - "__template_index", + "__template_region", + "__template_logType", + "__template_messageField", "__template_failedRequestLoggingMode", - "__template_elasticPipeline", "__template_onBackpressure", "notifications", "status", @@ -3468,80 +3365,24 @@ def serialize_model(self, handler): return m -class OutputResponseTypeElastic(str, Enum): - ELASTIC = "elastic" - - -class OutputResponseElasticVersion(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - - # Auto - AUTO = "auto" - # 6.x - SIX = "6" - # 7.x - SEVEN = "7" - +class OutputResponseTypeElasticCloud(str, Enum): + ELASTIC_CLOUD = "elastic_cloud" -class OutputResponseWriteAction(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" - # Index - INDEX = "index" - # Create - CREATE = "create" +class OutputResponsePqControlsElasticCloudTypedDict(TypedDict): + pass -class OutputResponseURLElasticTypedDict(TypedDict): - url: str - r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" +class OutputResponsePqControlsElasticCloud(BaseModel): + pass -class OutputResponseURLElastic(BaseModel): +class OutputResponseOutputElasticCloudTypedDict(TypedDict): + type: OutputResponseTypeElasticCloud url: str - r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" - - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["weight", "__template_url"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponsePqControlsElasticTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsElastic(BaseModel): - pass - - -class OutputResponseOutputElasticTypedDict(TypedDict): - type: OutputResponseTypeElastic + r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" index: str - r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -3552,10 +3393,6 @@ class OutputResponseOutputElasticTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - doc_type: NotRequired[str] - r"""Document type to use for events. Can be overwritten by an event's __type field.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -3579,6 +3416,13 @@ class OutputResponseOutputElasticTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" + extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] + r"""Extra parameters to use in HTTP requests""" + auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] + elastic_pipeline: NotRequired[str] + r"""Optional Elastic Cloud Destination pipeline""" + include_doc_id: NotRequired[bool] + r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -3586,32 +3430,10 @@ class OutputResponseOutputElasticTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] - auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] - elastic_version: NotRequired[OutputResponseElasticVersion] - r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - elastic_pipeline: NotRequired[str] - r"""Optional Elasticsearch destination pipeline""" - include_doc_id: NotRequired[bool] - r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - write_action: NotRequired[OutputResponseWriteAction] - r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" - retry_partial_errors: NotRequired[bool] - r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - url: NotRequired[str] - r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[OutputResponseURLElasticTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -3634,32 +3456,33 @@ class OutputResponseOutputElasticTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsElasticTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsElasticCloudTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_index: NotRequired[str] r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - template_doc_type: NotRequired[str] - r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_elastic_pipeline: NotRequired[str] r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputElastic(BaseModel): - type: OutputResponseTypeElastic +class OutputResponseOutputElasticCloud(BaseModel): + type: OutputResponseTypeElasticCloud + + url: str + r"""Enter Cloud ID of the Elastic Cloud environment to send events to""" index: str - r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + r"""Data stream or index to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -3678,14 +3501,6 @@ class OutputResponseOutputElastic(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - - doc_type: Annotated[Optional[str], pydantic.Field(alias="docType")] = None - r"""Document type to use for events. Can be overwritten by an event's __type field.""" - concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -3735,51 +3550,37 @@ class OutputResponseOutputElastic(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - extra_params: Annotated[ Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") ] = None + r"""Extra parameters to use in HTTP requests""" auth: Optional[AuthTypeTemplatemanualAPIKeyAuthType] = None - elastic_version: Annotated[ - Optional[OutputResponseElasticVersion], pydantic.Field(alias="elasticVersion") - ] = None - r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - elastic_pipeline: Annotated[ Optional[str], pydantic.Field(alias="elasticPipeline") ] = None - r"""Optional Elasticsearch destination pipeline""" + r"""Optional Elastic Cloud Destination pipeline""" include_doc_id: Annotated[Optional[bool], pydantic.Field(alias="includeDocId")] = ( None ) r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - write_action: Annotated[ - Optional[OutputResponseWriteAction], pydantic.Field(alias="writeAction") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - retry_partial_errors: Annotated[ - Optional[bool], pydantic.Field(alias="retryPartialErrors") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -3787,29 +3588,7 @@ class OutputResponseOutputElastic(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - url: Optional[str] = None - r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - urls: Optional[List[OutputResponseURLElastic]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -3861,7 +3640,8 @@ class OutputResponseOutputElastic(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsElastic], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsElasticCloud], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -3869,16 +3649,16 @@ class OutputResponseOutputElastic(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_index: Annotated[ Optional[str], pydantic.Field(alias="__template_index") ] = None r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - template_doc_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_docType") - ] = None - r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -3894,11 +3674,6 @@ class OutputResponseOutputElastic(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -3914,24 +3689,6 @@ def serialize_failed_request_logging_mode(self, value): return value return value - @field_serializer("elastic_version") - def serialize_elastic_version(self, value): - if isinstance(value, str): - try: - return models.OutputResponseElasticVersion(value) - except ValueError: - return value - return value - - @field_serializer("write_action") - def serialize_write_action(self, value): - if isinstance(value, str): - try: - return models.OutputResponseWriteAction(value) - except ValueError: - return value - return value - @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -3977,8 +3734,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", - "docType", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -3989,24 +3744,15 @@ def serialize_model(self, handler): "extraHttpHeaders", "failedRequestLoggingMode", "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", "extraParams", "auth", - "elasticVersion", "elasticPipeline", "includeDocId", - "writeAction", - "retryPartialErrors", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "onBackpressure", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -4020,12 +3766,11 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_url", "__template_index", - "__template_docType", "__template_failedRequestLoggingMode", "__template_elasticPipeline", "__template_onBackpressure", - "__template_url", "notifications", "status", ] @@ -4044,95 +3789,151 @@ def serialize_model(self, handler): return m -class OutputResponseTypeMsk(str, Enum): - MSK = "msk" +class OutputResponseTypeElastic(str, Enum): + ELASTIC = "elastic" -class OutputResponsePqControlsMskTypedDict(TypedDict): - pass +class OutputResponseElasticVersion(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" + # Auto + AUTO = "auto" + # 6.x + SIX = "6" + # 7.x + SEVEN = "7" -class OutputResponsePqControlsMsk(BaseModel): - pass +class OutputResponseWriteAction(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" -class OutputResponseOutputMskTypedDict(TypedDict): - type: OutputResponseTypeMsk - brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" - topic: str - r"""The topic to publish events to. Can be overridden using the __topicOut field.""" - aws_authentication_method: AuthenticationMethodOptionsS3CollectorConf - r"""AWS authentication method. Choose Auto to use IAM roles.""" - region: str - r"""Region where the MSK cluster is located""" - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - ack: NotRequired[AcknowledgmentsOptionsAllLeader] - r"""Control the number of required acknowledgments.""" - format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] - r"""Format to use to serialize events before writing to Kafka.""" - compression: NotRequired[CompressionOptionsGzipLz4] - r"""Codec to use to compress the data before sending to Kafka""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" - flush_event_count: NotRequired[float] - r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + # Index + INDEX = "index" + # Create + CREATE = "create" + + +class OutputResponseURLElasticTypedDict(TypedDict): + url: str + r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + +class OutputResponseURLElastic(BaseModel): + url: str + r"""The URL to an Elastic node to send events to. Example: http://elastic:9200/_bulk""" + + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["weight", "__template_url"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponsePqControlsElasticTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsElastic(BaseModel): + pass + + +class OutputResponseOutputElasticTypedDict(TypedDict): + type: OutputResponseTypeElastic + index: str + r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + doc_type: NotRequired[str] + r"""Document type to use for events. Can be overwritten by an event's __type field.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" - kafka_schema_registry: NotRequired[ - KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] ] - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - aws_secret_key: NotRequired[str] - endpoint: NotRequired[str] - r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access MSK""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + extra_params: NotRequired[List[SaslExtensionConfInputKafkaTypedDict]] + auth: NotRequired[AuthTypeTemplatemanualAPIKeyAuthTypeTypedDict] + elastic_version: NotRequired[OutputResponseElasticVersion] + r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" + elastic_pipeline: NotRequired[str] + r"""Optional Elasticsearch destination pipeline""" + include_doc_id: NotRequired[bool] + r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" + write_action: NotRequired[OutputResponseWriteAction] + r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" + retry_partial_errors: NotRequired[bool] + r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - protobuf_library_id: NotRequired[str] - r"""Select a set of Protobuf definitions for the events you want to send""" - protobuf_encoding_id: NotRequired[str] - r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[OutputResponseURLElasticTypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -4155,52 +3956,32 @@ class OutputResponseOutputMskTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsMskTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsElasticTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_compression: NotRequired[str] - r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_index: NotRequired[str] + r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" + template_doc_type: NotRequired[str] + r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_elastic_pipeline: NotRequired[str] + r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputMsk(BaseModel): - type: OutputResponseTypeMsk - - brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" - - topic: str - r"""The topic to publish events to. Can be overridden using the __topicOut field.""" - - aws_authentication_method: Annotated[ - AuthenticationMethodOptionsS3CollectorConf, - pydantic.Field(alias="awsAuthenticationMethod"), - ] - r"""AWS authentication method. Choose Auto to use IAM roles.""" +class OutputResponseOutputElastic(BaseModel): + type: OutputResponseTypeElastic - region: str - r"""Region where the MSK cluster is located""" + index: str + r"""Index or data stream to send events to. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be overwritten by an event's __index field.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -4219,109 +4000,108 @@ class OutputResponseOutputMsk(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - ack: Optional[AcknowledgmentsOptionsAllLeader] = None - r"""Control the number of required acknowledgments.""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - format_: Annotated[ - Optional[RecordDataFormatOptionsJSONProtobuf], pydantic.Field(alias="format") - ] = None - r"""Format to use to serialize events before writing to Kafka.""" + doc_type: Annotated[Optional[str], pydantic.Field(alias="docType")] = None + r"""Document type to use for events. Can be overwritten by an event's __type field.""" - compression: Optional[CompressionOptionsGzipLz4] = None - r"""Codec to use to compress the data before sending to Kafka""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + r"""Maximum size, in KB, of the request body""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - kafka_schema_registry: Annotated[ - Optional[KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth], - pydantic.Field(alias="kafkaSchemaRegistry"), - ] = None - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = None - r"""Maximum time to wait for a connection to complete successfully""" - - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Maximum time to wait for Kafka to respond to a request""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + r"""Headers to add to all events""" - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""List of headers that are safe to log in plain text""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None - endpoint: Optional[str] = None - r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + extra_params: Annotated[ + Optional[List[SaslExtensionConfInputKafka]], pydantic.Field(alias="extraParams") ] = None - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + auth: Optional[AuthTypeTemplatemanualAPIKeyAuthType] = None + + elastic_version: Annotated[ + Optional[OutputResponseElasticVersion], pydantic.Field(alias="elasticVersion") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Optional Elasticsearch version, used to format events. If not specified, will auto-discover version.""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + elastic_pipeline: Annotated[ + Optional[str], pydantic.Field(alias="elasticPipeline") ] = None - r"""Use Assume Role credentials to access MSK""" + r"""Optional Elasticsearch destination pipeline""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + include_doc_id: Annotated[Optional[bool], pydantic.Field(alias="includeDocId")] = ( None ) - r"""Amazon Resource Name (ARN) of the role to assume""" + r"""Include the `document_id` field when sending events to an Elastic TSDS (time series data stream)""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") + write_action: Annotated[ + Optional[OutputResponseWriteAction], pydantic.Field(alias="writeAction") ] = None - r"""External ID to use when assuming role""" + r"""Action to use when writing events. Must be set to `Create` when writing to a data stream.""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + retry_partial_errors: Annotated[ + Optional[bool], pydantic.Field(alias="retryPartialErrors") ] = None - 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).""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + r"""Retry failed events when a bulk request to Elastic is successful, but the response body returns an error for one or more events in the batch""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -4329,21 +4109,30 @@ class OutputResponseOutputMsk(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + url: Optional[str] = None + r"""The Cloud ID or URL to an Elastic cluster to send events to. Example: http://elastic:9200/_bulk""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - protobuf_library_id: Annotated[ - Optional[str], pydantic.Field(alias="protobufLibraryId") + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + urls: Optional[List[OutputResponseURLElastic]] = None + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Select a set of Protobuf definitions for the events you want to send""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - protobuf_encoding_id: Annotated[ - Optional[str], pydantic.Field(alias="protobufEncodingId") + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + r"""How far back in time to keep traffic stats for load balancing purposes""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -4395,7 +4184,7 @@ class OutputResponseOutputMsk(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsMsk], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsElastic], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -4403,55 +4192,35 @@ class OutputResponseOutputMsk(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") - ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - - template_compression: Annotated[ - Optional[str], pydantic.Field(alias="__template_compression") - ] = None - r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" - - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_index: Annotated[ + Optional[str], pydantic.Field(alias="__template_index") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'index' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'index' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_doc_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_docType") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'docType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'docType' at runtime.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + template_elastic_pipeline: Annotated[ + Optional[str], pydantic.Field(alias="__template_elasticPipeline") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Binds 'elasticPipeline' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'elasticPipeline' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -4459,38 +4228,29 @@ class OutputResponseOutputMsk(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("ack") - def serialize_ack(self, value): - if isinstance(value, str): - try: - return models.AcknowledgmentsOptionsAllLeader(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.RecordDataFormatOptionsJSONProtobuf(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("elastic_version") + def serialize_elastic_version(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipLz4(value) + return models.OutputResponseElasticVersion(value) except ValueError: return value return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("write_action") + def serialize_write_action(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + return models.OutputResponseWriteAction(value) except ValueError: return value return value @@ -4540,36 +4300,36 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", - "format", - "compression", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "kafkaSchemaRegistry", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "awsSecretKey", - "endpoint", - "reuseConnections", + "loadBalanced", + "docType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "tls", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "extraParams", + "auth", + "elasticVersion", + "elasticPipeline", + "includeDocId", + "writeAction", + "retryPartialErrors", "onBackpressure", "description", - "awsApiKey", - "awsSecret", - "protobufLibraryId", - "protobufEncodingId", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -4583,16 +4343,12 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_topic", - "__template_format", - "__template_compression", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_index", + "__template_docType", + "__template_failedRequestLoggingMode", + "__template_elasticPipeline", "__template_onBackpressure", - "__template_awsApiKey", + "__template_url", "notifications", "status", ] @@ -4611,24 +4367,28 @@ def serialize_model(self, handler): return m -class OutputResponseTypeConfluentCloud(str, Enum): - CONFLUENT_CLOUD = "confluent_cloud" +class OutputResponseTypeMsk(str, Enum): + MSK = "msk" -class OutputResponsePqControlsConfluentCloudTypedDict(TypedDict): +class OutputResponsePqControlsMskTypedDict(TypedDict): pass -class OutputResponsePqControlsConfluentCloud(BaseModel): +class OutputResponsePqControlsMsk(BaseModel): pass -class OutputResponseOutputConfluentCloudTypedDict(TypedDict): - type: OutputResponseTypeConfluentCloud +class OutputResponseOutputMskTypedDict(TypedDict): + type: OutputResponseTypeMsk brokers: List[str] - r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" topic: str r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + aws_authentication_method: AuthenticationMethodOptionsS3CollectorConf + r"""AWS authentication method. Choose Auto to use IAM roles.""" + region: str + r"""Region where the MSK cluster is located""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -4639,7 +4399,6 @@ class OutputResponseOutputConfluentCloudTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] ack: NotRequired[AcknowledgmentsOptionsAllLeader] r"""Control the number of required acknowledgments.""" format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] @@ -4671,11 +4430,29 @@ class OutputResponseOutputConfluentCloudTypedDict(TypedDict): r"""Maximum time to wait for Kafka to respond to an authentication request""" reauthentication_threshold: NotRequired[float] r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: NotRequired[AuthenticationTypeTypedDict] - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + aws_secret_key: NotRequired[str] + endpoint: NotRequired[str] + r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access MSK""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" protobuf_library_id: NotRequired[str] r"""Select a set of Protobuf definitions for the events you want to send""" protobuf_encoding_id: NotRequired[str] @@ -4702,34 +4479,53 @@ class OutputResponseOutputConfluentCloudTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsConfluentCloudTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsMskTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_brokers: NotRequired[str] - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" template_topic: NotRequired[str] r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_compression: NotRequired[str] r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputConfluentCloud(BaseModel): - type: OutputResponseTypeConfluentCloud +class OutputResponseOutputMsk(BaseModel): + type: OutputResponseTypeMsk brokers: List[str] - r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" topic: str r"""The topic to publish events to. Can be overridden using the __topicOut field.""" + aws_authentication_method: Annotated[ + AuthenticationMethodOptionsS3CollectorConf, + pydantic.Field(alias="awsAuthenticationMethod"), + ] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + region: str + r"""Region where the MSK cluster is located""" + id: Optional[str] = None r"""Unique ID for this output""" @@ -4747,8 +4543,6 @@ class OutputResponseOutputConfluentCloud(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - ack: Optional[AcknowledgmentsOptionsAllLeader] = None r"""Control the number of required acknowledgments.""" @@ -4814,8 +4608,44 @@ class OutputResponseOutputConfluentCloud(BaseModel): ] = None r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: Optional[AuthenticationType] = None - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + + endpoint: Optional[str] = None + r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access MSK""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -4823,6 +4653,12 @@ class OutputResponseOutputConfluentCloud(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" protobuf_library_id: Annotated[ Optional[str], pydantic.Field(alias="protobufLibraryId") @@ -4884,8 +4720,7 @@ class OutputResponseOutputConfluentCloud(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsConfluentCloud], - pydantic.Field(alias="pqControls"), + Optional[OutputResponsePqControlsMsk], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -4893,11 +4728,6 @@ class OutputResponseOutputConfluentCloud(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_brokers: Annotated[ - Optional[str], pydantic.Field(alias="__template_brokers") - ] = None - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" - template_topic: Annotated[ Optional[str], pydantic.Field(alias="__template_topic") ] = None @@ -4913,11 +4743,41 @@ class OutputResponseOutputConfluentCloud(BaseModel): ] = None r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -4951,6 +4811,15 @@ def serialize_compression(self, value): return value return value + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsS3CollectorConf(value) + except ValueError: + return value + return value + @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -4996,7 +4865,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "tls", "ack", "format", "compression", @@ -5012,9 +4880,19 @@ def serialize_model(self, handler): "backoffRate", "authenticationTimeout", "reauthenticationThreshold", - "sasl", + "awsSecretKey", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "tls", "onBackpressure", "description", + "awsApiKey", + "awsSecret", "protobufLibraryId", "protobufEncodingId", "pqStrictOrdering", @@ -5030,11 +4908,16 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_brokers", "__template_topic", "__template_format", "__template_compression", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_onBackpressure", + "__template_awsApiKey", "notifications", "status", ] @@ -5053,22 +4936,22 @@ def serialize_model(self, handler): return m -class OutputResponseTypeKafka(str, Enum): - KAFKA = "kafka" +class OutputResponseTypeConfluentCloud(str, Enum): + CONFLUENT_CLOUD = "confluent_cloud" -class OutputResponsePqControlsKafkaTypedDict(TypedDict): +class OutputResponsePqControlsConfluentCloudTypedDict(TypedDict): pass -class OutputResponsePqControlsKafka(BaseModel): +class OutputResponsePqControlsConfluentCloud(BaseModel): pass -class OutputResponseOutputKafkaTypedDict(TypedDict): - type: OutputResponseTypeKafka +class OutputResponseOutputConfluentCloudTypedDict(TypedDict): + type: OutputResponseTypeConfluentCloud brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" + r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" topic: str r"""The topic to publish events to. Can be overridden using the __topicOut field.""" id: NotRequired[str] @@ -5081,6 +4964,7 @@ class OutputResponseOutputKafkaTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] ack: NotRequired[AcknowledgmentsOptionsAllLeader] r"""Control the number of required acknowledgments.""" format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] @@ -5114,10 +4998,10 @@ class OutputResponseOutputKafkaTypedDict(TypedDict): r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" sasl: NotRequired[AuthenticationTypeTypedDict] r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" protobuf_library_id: NotRequired[str] r"""Select a set of Protobuf definitions for the events you want to send""" protobuf_encoding_id: NotRequired[str] @@ -5144,9 +5028,11 @@ class OutputResponseOutputKafkaTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsKafkaTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsConfluentCloudTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_brokers: NotRequired[str] + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" template_topic: NotRequired[str] r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" template_format: NotRequired[str] @@ -5161,11 +5047,11 @@ class OutputResponseOutputKafkaTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputKafka(BaseModel): - type: OutputResponseTypeKafka +class OutputResponseOutputConfluentCloud(BaseModel): + type: OutputResponseTypeConfluentCloud brokers: List[str] - r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" + r"""List of Confluent Cloud bootstrap servers to use, such as yourAccount.confluent.cloud:9092.""" topic: str r"""The topic to publish events to. Can be overridden using the __topicOut field.""" @@ -5187,6 +5073,8 @@ class OutputResponseOutputKafka(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + ack: Optional[AcknowledgmentsOptionsAllLeader] = None r"""Control the number of required acknowledgments.""" @@ -5255,14 +5143,13 @@ class OutputResponseOutputKafka(BaseModel): sasl: Optional[AuthenticationType] = None r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" protobuf_library_id: Annotated[ Optional[str], pydantic.Field(alias="protobufLibraryId") @@ -5324,7 +5211,8 @@ class OutputResponseOutputKafka(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsKafka], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsConfluentCloud], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -5332,6 +5220,11 @@ class OutputResponseOutputKafka(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_brokers: Annotated[ + Optional[str], pydantic.Field(alias="__template_brokers") + ] = None + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + template_topic: Annotated[ Optional[str], pydantic.Field(alias="__template_topic") ] = None @@ -5430,6 +5323,7 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "tls", "ack", "format", "compression", @@ -5446,7 +5340,6 @@ def serialize_model(self, handler): "authenticationTimeout", "reauthenticationThreshold", "sasl", - "tls", "onBackpressure", "description", "protobufLibraryId", @@ -5464,6 +5357,7 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_brokers", "__template_topic", "__template_format", "__template_compression", @@ -5486,24 +5380,24 @@ def serialize_model(self, handler): return m -class OutputResponseTypeExabeam(str, Enum): - EXABEAM = "exabeam" +class OutputResponseTypeKafka(str, Enum): + KAFKA = "kafka" -class OutputResponseOutputExabeamTypedDict(TypedDict): - type: OutputResponseTypeExabeam - bucket: str - r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" - region: str - r"""Region where the bucket is located""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Google Cloud Storage service endpoint""" - collector_instance_id: str - r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 +class OutputResponsePqControlsKafkaTypedDict(TypedDict): + pass - """ + +class OutputResponsePqControlsKafka(BaseModel): + pass + + +class OutputResponseOutputKafkaTypedDict(TypedDict): + type: OutputResponseTypeKafka + brokers: List[str] + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" + topic: str + r"""The topic to publish events to. Can be overridden using the __topicOut field.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -5514,64 +5408,79 @@ class OutputResponseOutputExabeamTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptionsArchiveColdline] - r"""Storage class to select for uploaded objects""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + ack: NotRequired[AcknowledgmentsOptionsAllLeader] + r"""Control the number of required acknowledgments.""" + format_: NotRequired[RecordDataFormatOptionsJSONProtobuf] + r"""Format to use to serialize events before writing to Kafka.""" + compression: NotRequired[CompressionOptionsGzipLz4] + r"""Codec to use to compress the data before sending to Kafka""" + max_record_size_kb: NotRequired[float] + r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" + flush_event_count: NotRequired[float] + r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" + flush_period_sec: NotRequired[float] + r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" + kafka_schema_registry: NotRequired[ + KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuthTypedDict + ] + connection_timeout: NotRequired[float] + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + sasl: NotRequired[AuthenticationTypeTypedDict] + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - encoded_configuration: NotRequired[str] - r"""Enter an encoded string containing Exabeam configurations""" - site_name: NotRequired[str] - r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" - site_id: NotRequired[str] - r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" - timezone_offset: NotRequired[str] - aws_api_key: NotRequired[str] - r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - aws_secret_key: NotRequired[str] - r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" description: NotRequired[str] - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + r"""Optional description for this configuration.""" + protobuf_library_id: NotRequired[str] + r"""Select a set of Protobuf definitions for the events you want to send""" + protobuf_encoding_id: NotRequired[str] + r"""Select the type of object you want the Protobuf definitions to use for event encoding""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[OutputResponsePqControlsKafkaTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_compression: NotRequired[str] + r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] @@ -5580,25 +5489,14 @@ class OutputResponseOutputExabeamTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputExabeam(BaseModel): - type: OutputResponseTypeExabeam - - bucket: str - r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" - - region: str - r"""Region where the bucket is located""" - - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - - endpoint: str - r"""Google Cloud Storage service endpoint""" +class OutputResponseOutputKafka(BaseModel): + type: OutputResponseTypeKafka - collector_instance_id: Annotated[str, pydantic.Field(alias="collectorInstanceId")] - r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 + brokers: List[str] + r"""Enter each Kafka bootstrap server you want to use. Specify hostname and port, e.g., mykafkabroker:9092, or just hostname, in which case @{product} will assign port 9092.""" - """ + topic: str + r"""The topic to publish events to. Can be overridden using the __topicOut field.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -5617,150 +5515,166 @@ class OutputResponseOutputExabeam(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - object_acl: Annotated[ - Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], - pydantic.Field(alias="objectACL"), - ] = None - r"""Object ACL to assign to uploaded objects""" + ack: Optional[AcknowledgmentsOptionsAllLeader] = None + r"""Control the number of required acknowledgments.""" - storage_class: Annotated[ - Optional[StorageClassOptionsArchiveColdline], - pydantic.Field(alias="storageClass"), + format_: Annotated[ + Optional[RecordDataFormatOptionsJSONProtobuf], pydantic.Field(alias="format") ] = None - r"""Storage class to select for uploaded objects""" + r"""Format to use to serialize events before writing to Kafka.""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + compression: Optional[CompressionOptionsGzipLz4] = None + r"""Codec to use to compress the data before sending to Kafka""" + + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Maximum size of each record batch before compression. The value must not exceed the Kafka brokers' message.max.bytes setting.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""The maximum number of events you want the Destination to allow in a batch before forcing a flush""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Add the Output ID value to staging location""" + r"""The maximum amount of time you want the Destination to wait before forcing a flush. Shorter intervals tend to result in smaller batches being sent.""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + kafka_schema_registry: Annotated[ + Optional[KafkaSchemaRegistryAuthenticationTypeTemplateschemaRegistryURLAuth], + pydantic.Field(alias="kafkaSchemaRegistry"), ] = None - r"""Remove empty staging directories after moving files""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + r"""Maximum time to wait for a connection to complete successfully""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + r"""Maximum time to wait for Kafka to respond to a request""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Maximum time to wait for Kafka to respond to an authentication request""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") ] = None + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - orphans: Optional[OrphanFileRecoveryType] = None + sasl: Optional[AuthenticationType] = None + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + r"""How to handle events when all receivers are exerting backpressure""" - encoded_configuration: Annotated[ - Optional[str], pydantic.Field(alias="encodedConfiguration") + description: Optional[str] = None + r"""Optional description for this configuration.""" + + protobuf_library_id: Annotated[ + Optional[str], pydantic.Field(alias="protobufLibraryId") ] = None - r"""Enter an encoded string containing Exabeam configurations""" + r"""Select a set of Protobuf definitions for the events you want to send""" - site_name: Annotated[Optional[str], pydantic.Field(alias="siteName")] = None - r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" + protobuf_encoding_id: Annotated[ + Optional[str], pydantic.Field(alias="protobufEncodingId") + ] = None + r"""Select the type of object you want the Protobuf definitions to use for event encoding""" - site_id: Annotated[Optional[str], pydantic.Field(alias="siteId")] = None - r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - timezone_offset: Annotated[ - Optional[str], pydantic.Field(alias="timezoneOffset") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - description: Optional[str] = None + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""Codec to use to compress the persisted data""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[OutputResponsePqControlsKafka], pydantic.Field(alias="pqControls") + ] = None template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + template_compression: Annotated[ + Optional[str], pydantic.Field(alias="__template_compression") ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + r"""Binds 'compression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compression' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") @@ -5773,22 +5687,29 @@ class OutputResponseOutputExabeam(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( - value - ) + return models.AcknowledgmentsOptionsAllLeader(value) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.StorageClassOptionsArchiveColdline(value) + return models.RecordDataFormatOptionsJSONProtobuf(value) + except ValueError: + return value + return value + + @field_serializer("compression") + def serialize_compression(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsGzipLz4(value) except ValueError: return value return value @@ -5797,16 +5718,34 @@ def serialize_storage_class(self, value): def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -5820,37 +5759,43 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "objectACL", - "storageClass", - "reuseConnections", - "rejectUnauthorized", - "addIdToStagePath", - "removeEmptyDirs", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", + "ack", + "format", + "compression", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "kafkaSchemaRegistry", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "retrySettings", - "orphans", - "maxFileSizeMB", - "encodedConfiguration", - "siteName", - "siteId", - "timezoneOffset", - "awsApiKey", - "awsSecretKey", "description", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "protobufLibraryId", + "protobufEncodingId", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_region", - "__template_endpoint", - "__template_objectACL", - "__template_storageClass", + "__template_topic", + "__template_format", + "__template_compression", "__template_onBackpressure", "notifications", "status", @@ -5870,22 +5815,24 @@ def serialize_model(self, handler): return m -class OutputResponseTypeGooglePubsub(str, Enum): - GOOGLE_PUBSUB = "google_pubsub" - - -class OutputResponsePqControlsGooglePubsubTypedDict(TypedDict): - pass - +class OutputResponseTypeExabeam(str, Enum): + EXABEAM = "exabeam" -class OutputResponsePqControlsGooglePubsub(BaseModel): - pass +class OutputResponseOutputExabeamTypedDict(TypedDict): + type: OutputResponseTypeExabeam + bucket: str + r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" + region: str + r"""Region where the bucket is located""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Google Cloud Storage service endpoint""" + collector_instance_id: str + r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 -class OutputResponseOutputGooglePubsubTypedDict(TypedDict): - type: OutputResponseTypeGooglePubsub - topic_name: str - r"""ID of the topic to send events to.""" + """ id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -5896,62 +5843,65 @@ class OutputResponseOutputGooglePubsubTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - create_topic: NotRequired[bool] - r"""If enabled, create topic if it does not exist.""" - ordered_delivery: NotRequired[bool] - r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" - region: NotRequired[str] - r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" - google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - secret: NotRequired[str] - r"""Select or create a stored text secret""" - batch_size: NotRequired[float] - r"""The maximum number of items the Google API should batch before it sends them to the topic.""" - batch_timeout: NotRequired[float] - r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" - max_queue_size: NotRequired[float] - r"""Maximum number of queued batches before blocking.""" - max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of batches to send.""" - flush_period: NotRequired[float] - r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" - max_in_progress: NotRequired[float] - r"""The maximum number of in-progress API requests before backpressure is applied.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] + object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptionsArchiveColdline] + r"""Storage class to select for uploaded objects""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + encoded_configuration: NotRequired[str] + r"""Enter an encoded string containing Exabeam configurations""" + site_name: NotRequired[str] + r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" + site_id: NotRequired[str] + r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" + timezone_offset: NotRequired[str] + aws_api_key: NotRequired[str] + r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" + aws_secret_key: NotRequired[str] + r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" description: NotRequired[str] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsGooglePubsubTypedDict] + r"""Optional description for this configuration.""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_name: NotRequired[str] - r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] @@ -5960,11 +5910,25 @@ class OutputResponseOutputGooglePubsubTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputGooglePubsub(BaseModel): - type: OutputResponseTypeGooglePubsub +class OutputResponseOutputExabeam(BaseModel): + type: OutputResponseTypeExabeam - topic_name: Annotated[str, pydantic.Field(alias="topicName")] - r"""ID of the topic to send events to.""" + bucket: str + r"""Name of the destination bucket. A constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a JavaScript Global Variable: `myBucket-${C.vars.myVar}`.""" + + region: str + r"""Region where the bucket is located""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + + endpoint: str + r"""Google Cloud Storage service endpoint""" + + collector_instance_id: Annotated[str, pydantic.Field(alias="collectorInstanceId")] + r"""ID of the Exabeam Collector where data should be sent. Example: 11112222-3333-4444-5555-666677778888 + + """ id: Optional[str] = None r"""Unique ID for this output""" @@ -5983,133 +5947,152 @@ class OutputResponseOutputGooglePubsub(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - create_topic: Annotated[Optional[bool], pydantic.Field(alias="createTopic")] = None - r"""If enabled, create topic if it does not exist.""" + object_acl: Annotated[ + Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], + pydantic.Field(alias="objectACL"), + ] = None + r"""Object ACL to assign to uploaded objects""" - ordered_delivery: Annotated[ - Optional[bool], pydantic.Field(alias="orderedDelivery") + storage_class: Annotated[ + Optional[StorageClassOptionsArchiveColdline], + pydantic.Field(alias="storageClass"), ] = None - r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" + r"""Storage class to select for uploaded objects""" - region: Optional[str] = None - r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" - google_auth_method: Annotated[ - Optional[GoogleAuthenticationMethodOptions], - pydantic.Field(alias="googleAuthMethod"), + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + r"""Add the Output ID value to staging location""" - secret: Optional[str] = None - r"""Select or create a stored text secret""" + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" - batch_size: Annotated[Optional[float], pydantic.Field(alias="batchSize")] = None - r"""The maximum number of items the Google API should batch before it sends them to the topic.""" + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - batch_timeout: Annotated[Optional[float], pydantic.Field(alias="batchTimeout")] = ( - None - ) - r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + ] = None + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( None ) - r"""Maximum number of queued batches before blocking.""" + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""Maximum size (KB) of batches to send.""" + r"""How to handle events when all receivers are exerting backpressure""" - flush_period: Annotated[Optional[float], pydantic.Field(alias="flushPeriod")] = None - r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - max_in_progress: Annotated[ - Optional[float], pydantic.Field(alias="maxInProgress") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None - r"""The maximum number of in-progress API requests before backpressure is applied.""" + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None + orphans: Optional[OrphanFileRecoveryType] = None - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + encoded_configuration: Annotated[ + Optional[str], pydantic.Field(alias="encodedConfiguration") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Enter an encoded string containing Exabeam configurations""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + site_name: Annotated[Optional[str], pydantic.Field(alias="siteName")] = None + r"""Constant or JavaScript expression to create an Exabeam site name. Values that aren't successfully evaluated will be treated as string constants.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") - ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + site_id: Annotated[Optional[str], pydantic.Field(alias="siteId")] = None + r"""Exabeam site ID. If left blank, @{product} will use the value of the Exabeam site name.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + timezone_offset: Annotated[ + Optional[str], pydantic.Field(alias="timezoneOffset") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") - ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""HMAC access key. Can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""HMAC secret. Can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Codec to use to compress the persisted data""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") - ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsGooglePubsub], - pydantic.Field(alias="pqControls"), + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_topicName") - ] = None - r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" - template_region: Annotated[ Optional[str], pydantic.Field(alias="__template_region") ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") + ] = None + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None @@ -6121,47 +6104,40 @@ class OutputResponseOutputGooglePubsub(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("google_auth_method") - def serialize_google_auth_method(self, value): - if isinstance(value, str): - try: - return models.GoogleAuthenticationMethodOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("object_acl") + def serialize_object_acl(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( + value + ) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.StorageClassOptionsArchiveColdline(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value @@ -6175,35 +6151,37 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "createTopic", - "orderedDelivery", - "region", - "googleAuthMethod", - "serviceAccountCredentials", - "secret", - "batchSize", - "batchTimeout", - "maxQueueSize", - "maxRecordSizeKB", - "flushPeriod", - "maxInProgress", + "objectACL", + "storageClass", + "reuseConnections", + "rejectUnauthorized", + "addIdToStagePath", + "removeEmptyDirs", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "retrySettings", + "orphans", + "maxFileSizeMB", + "encodedConfiguration", + "siteName", + "siteId", + "timezoneOffset", + "awsApiKey", + "awsSecretKey", "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_topicName", "__template_region", + "__template_endpoint", + "__template_objectACL", + "__template_storageClass", "__template_onBackpressure", "notifications", "status", @@ -6223,51 +6201,22 @@ def serialize_model(self, handler): return m -class OutputResponseTypeGoogleCloudObservability(str, Enum): - GOOGLE_CLOUD_OBSERVABILITY = "google_cloud_observability" - - -class OutputResponseProtocolGoogleCloudObservability( - str, Enum, metaclass=utils.OpenEnumMeta -): - GRPC = "grpc" - - -class OutputResponseOtlpVersionGoogleCloudObservability( - str, Enum, metaclass=utils.OpenEnumMeta -): - ONE_DOT_3_DOT_1 = "1.3.1" - - -class OutputResponseEndpointGoogleCloudObservability( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - - TELEMETRY_GOOGLEAPIS_COM_443 = "telemetry.googleapis.com:443" - - -class OutputResponseGoogleAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" - - # Auto - AUTO = "auto" - # Secret - SECRET = "secret" +class OutputResponseTypeGooglePubsub(str, Enum): + GOOGLE_PUBSUB = "google_pubsub" -class OutputResponsePqControlsGoogleCloudObservabilityTypedDict(TypedDict): +class OutputResponsePqControlsGooglePubsubTypedDict(TypedDict): pass -class OutputResponsePqControlsGoogleCloudObservability(BaseModel): +class OutputResponsePqControlsGooglePubsub(BaseModel): pass -class OutputResponseOutputGoogleCloudObservabilityTypedDict(TypedDict): - type: OutputResponseTypeGoogleCloudObservability - google_auth_method: OutputResponseGoogleAuthenticationMethod - r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" +class OutputResponseOutputGooglePubsubTypedDict(TypedDict): + type: OutputResponseTypeGooglePubsub + topic_name: str + r"""ID of the topic to send events to.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -6278,38 +6227,34 @@ class OutputResponseOutputGoogleCloudObservabilityTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - protocol: NotRequired[OutputResponseProtocolGoogleCloudObservability] - otlp_version: NotRequired[OutputResponseOtlpVersionGoogleCloudObservability] - endpoint: NotRequired[OutputResponseEndpointGoogleCloudObservability] - r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - dynamic_headers_enabled: NotRequired[bool] - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: NotRequired[str] - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - keep_alive_time: NotRequired[float] - r"""How often the sender should ping the peer to keep the connection open""" - tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] - max_payload_events: NotRequired[float] - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" + create_topic: NotRequired[bool] + r"""If enabled, create topic if it does not exist.""" + ordered_delivery: NotRequired[bool] + r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" + region: NotRequired[str] + r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" + google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" + batch_size: NotRequired[float] + r"""The maximum number of items the Google API should batch before it sends them to the topic.""" + batch_timeout: NotRequired[float] + r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" + max_queue_size: NotRequired[float] + r"""Maximum number of queued batches before blocking.""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of batches to send.""" + flush_period: NotRequired[float] + r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" + max_in_progress: NotRequired[float] + r"""The maximum number of in-progress API requests before backpressure is applied.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -6332,11 +6277,13 @@ class OutputResponseOutputGoogleCloudObservabilityTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsGoogleCloudObservabilityTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsGooglePubsubTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_topic_name: NotRequired[str] + r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] @@ -6345,14 +6292,11 @@ class OutputResponseOutputGoogleCloudObservabilityTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputGoogleCloudObservability(BaseModel): - type: OutputResponseTypeGoogleCloudObservability +class OutputResponseOutputGooglePubsub(BaseModel): + type: OutputResponseTypeGooglePubsub - google_auth_method: Annotated[ - OutputResponseGoogleAuthenticationMethod, - pydantic.Field(alias="googleAuthMethod"), - ] - r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" + topic_name: Annotated[str, pydantic.Field(alias="topicName")] + r"""ID of the topic to send events to.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -6371,67 +6315,56 @@ class OutputResponseOutputGoogleCloudObservability(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - protocol: Optional[OutputResponseProtocolGoogleCloudObservability] = None + create_topic: Annotated[Optional[bool], pydantic.Field(alias="createTopic")] = None + r"""If enabled, create topic if it does not exist.""" - otlp_version: Annotated[ - Optional[OutputResponseOtlpVersionGoogleCloudObservability], - pydantic.Field(alias="otlpVersion"), + ordered_delivery: Annotated[ + Optional[bool], pydantic.Field(alias="orderedDelivery") ] = None + r"""If enabled, send events in the order they were added to the queue. For this to work correctly, the process receiving events must have ordering enabled.""" - endpoint: Optional[OutputResponseEndpointGoogleCloudObservability] = None - r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - - metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + region: Optional[str] = None + r"""Region to publish messages to. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy.""" - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") - ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" - - dynamic_headers_field: Annotated[ - Optional[str], pydantic.Field(alias="dynamicHeadersField") + google_auth_method: Annotated[ + Optional[GoogleAuthenticationMethodOptions], + pydantic.Field(alias="googleAuthMethod"), ] = None - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") ] = None - r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + secret: Optional[str] = None + r"""Select or create a stored text secret""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + batch_size: Annotated[Optional[float], pydantic.Field(alias="batchSize")] = None + r"""The maximum number of items the Google API should batch before it sends them to the topic.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + batch_timeout: Annotated[Optional[float], pydantic.Field(alias="batchTimeout")] = ( + None + ) + r"""The maximum amount of time, in milliseconds, that the Google API should wait to send a batch (if the Batch size is not reached).""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking.""" - keep_alive_time: Annotated[ - Optional[float], pydantic.Field(alias="keepAliveTime") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""How often the sender should ping the peer to keep the connection open""" + r"""Maximum size (KB) of batches to send.""" - tls: Optional[TLSSettingsClientSideTypeExtended] = None + flush_period: Annotated[Optional[float], pydantic.Field(alias="flushPeriod")] = None + r"""Maximum time to wait before sending a batch (when batch size limit is not reached)""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + max_in_progress: Annotated[ + Optional[float], pydantic.Field(alias="maxInProgress") ] = None - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" + r"""The maximum number of in-progress API requests before backpressure is applied.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -6439,9 +6372,7 @@ class OutputResponseOutputGoogleCloudObservability(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - secret: Optional[str] = None - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -6493,7 +6424,7 @@ class OutputResponseOutputGoogleCloudObservability(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsGoogleCloudObservability], + Optional[OutputResponsePqControlsGooglePubsub], pydantic.Field(alias="pqControls"), ] = None @@ -6502,1414 +6433,419 @@ class OutputResponseOutputGoogleCloudObservability(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" - - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.OutputResponseProtocolGoogleCloudObservability(value) - except ValueError: - return value - return value - - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): - if isinstance(value, str): - try: - return models.OutputResponseOtlpVersionGoogleCloudObservability(value) - except ValueError: - return value - return value - - @field_serializer("endpoint") - def serialize_endpoint(self, value): - if isinstance(value, str): - try: - return models.OutputResponseEndpointGoogleCloudObservability(value) - except ValueError: - return value - return value - - @field_serializer("google_auth_method") - def serialize_google_auth_method(self, value): - if isinstance(value, str): - try: - return models.OutputResponseGoogleAuthenticationMethod(value) - except ValueError: - return value - return value - - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): - if isinstance(value, str): - try: - return models.FailedRequestLoggingModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "protocol", - "otlpVersion", - "endpoint", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", - "concurrency", - "maxPayloadSizeKB", - "timeoutSec", - "flushPeriodSec", - "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "tls", - "maxPayloadEvents", - "onBackpressure", - "description", - "secret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseTypeGoogleCloudLogging(str, Enum): - GOOGLE_CLOUD_LOGGING = "google_cloud_logging" - - -class OutputResponseLogLocationType(str, Enum, metaclass=utils.OpenEnumMeta): - # Project - PROJECT = "project" - # Organization - ORGANIZATION = "organization" - # Billing Account - BILLING_ACCOUNT = "billingAccount" - # Folder - FOLDER = "folder" - - -class OutputResponsePayloadFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Format to use when sending payload. Defaults to Text.""" - - # Text - TEXT = "text" - # JSON - JSON = "json" - - -class OutputResponsePqControlsGoogleCloudLoggingTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsGoogleCloudLogging(BaseModel): - pass - - -class OutputResponseOutputGoogleCloudLoggingTypedDict(TypedDict): - type: OutputResponseTypeGoogleCloudLogging - log_location_type: OutputResponseLogLocationType - log_name_expression: str - r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" - log_location_expression: str - r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - sanitize_log_names: NotRequired[bool] - payload_format: NotRequired[OutputResponsePayloadFormat] - r"""Format to use when sending payload. Defaults to Text.""" - log_labels: NotRequired[List[LogLabelConfOutputGoogleCloudLoggingTypedDict]] - r"""Labels to apply to the log entry""" - resource_type_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" - resource_type_labels: NotRequired[ - List[LogLabelConfOutputGoogleCloudLoggingTypedDict] - ] - r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" - severity_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" - insert_id_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the insert ID field.""" - google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - secret: NotRequired[str] - r"""Select or create a stored text secret""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body.""" - max_payload_events: NotRequired[float] - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" - throttle_rate_req_per_sec: NotRequired[int] - r"""Maximum number of requests to limit to per second.""" - request_method_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - request_url_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - request_size_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - status_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - response_size_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - user_agent_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - remote_ip_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - server_ip_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - referer_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - latency_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_lookup_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_hit_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_validated_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - cache_fill_bytes_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - protocol_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - id_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - producer_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - first_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - last_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - file_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - line_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - function_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - uid_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - index_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - total_splits_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - trace_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - span_id_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - trace_sampled_expression: NotRequired[str] - r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] - payload_expression: NotRequired[str] - r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsGoogleCloudLoggingTypedDict] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_log_location_type: NotRequired[str] - r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" - template_log_name_expression: NotRequired[str] - r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" - template_payload_format: NotRequired[str] - r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" - template_resource_type_expression: NotRequired[str] - r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" - template_severity_expression: NotRequired[str] - r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" - template_insert_id_expression: NotRequired[str] - r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" - template_trace_expression: NotRequired[str] - r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" - template_span_id_expression: NotRequired[str] - r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" - template_trace_sampled_expression: NotRequired[str] - r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_log_location_expression: NotRequired[str] - r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" - template_payload_expression: NotRequired[str] - r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - -class OutputResponseOutputGoogleCloudLogging(BaseModel): - type: OutputResponseTypeGoogleCloudLogging - - log_location_type: Annotated[ - OutputResponseLogLocationType, pydantic.Field(alias="logLocationType") - ] - - log_name_expression: Annotated[str, pydantic.Field(alias="logNameExpression")] - r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" - - log_location_expression: Annotated[ - str, pydantic.Field(alias="logLocationExpression") - ] - r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" - - id: Optional[str] = None - r"""Unique ID for this output""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - sanitize_log_names: Annotated[ - Optional[bool], pydantic.Field(alias="sanitizeLogNames") - ] = None - - payload_format: Annotated[ - Optional[OutputResponsePayloadFormat], pydantic.Field(alias="payloadFormat") - ] = None - r"""Format to use when sending payload. Defaults to Text.""" - - log_labels: Annotated[ - Optional[List[LogLabelConfOutputGoogleCloudLogging]], - pydantic.Field(alias="logLabels"), - ] = None - r"""Labels to apply to the log entry""" - - resource_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="resourceTypeExpression") - ] = None - r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" - - resource_type_labels: Annotated[ - Optional[List[LogLabelConfOutputGoogleCloudLogging]], - pydantic.Field(alias="resourceTypeLabels"), - ] = None - r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" - - severity_expression: Annotated[ - Optional[str], pydantic.Field(alias="severityExpression") - ] = None - r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" - - insert_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="insertIdExpression") - ] = None - r"""JavaScript expression to compute the value of the insert ID field.""" - - google_auth_method: Annotated[ - Optional[GoogleAuthenticationMethodOptions], - pydantic.Field(alias="googleAuthMethod"), - ] = None - r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" - - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") - ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - - secret: Optional[str] = None - r"""Select or create a stored text secret""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body.""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Max number of events to include in the request body. Default is 0 (unlimited).""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" - - throttle_rate_req_per_sec: Annotated[ - Optional[int], pydantic.Field(alias="throttleRateReqPerSec") - ] = None - r"""Maximum number of requests to limit to per second.""" - - request_method_expression: Annotated[ - Optional[str], pydantic.Field(alias="requestMethodExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - request_url_expression: Annotated[ - Optional[str], pydantic.Field(alias="requestUrlExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - request_size_expression: Annotated[ - Optional[str], pydantic.Field(alias="requestSizeExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - status_expression: Annotated[ - Optional[str], pydantic.Field(alias="statusExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - response_size_expression: Annotated[ - Optional[str], pydantic.Field(alias="responseSizeExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - user_agent_expression: Annotated[ - Optional[str], pydantic.Field(alias="userAgentExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - remote_ip_expression: Annotated[ - Optional[str], pydantic.Field(alias="remoteIpExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - server_ip_expression: Annotated[ - Optional[str], pydantic.Field(alias="serverIpExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - referer_expression: Annotated[ - Optional[str], pydantic.Field(alias="refererExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - latency_expression: Annotated[ - Optional[str], pydantic.Field(alias="latencyExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - cache_lookup_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheLookupExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - cache_hit_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheHitExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - cache_validated_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheValidatedExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - cache_fill_bytes_expression: Annotated[ - Optional[str], pydantic.Field(alias="cacheFillBytesExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - protocol_expression: Annotated[ - Optional[str], pydantic.Field(alias="protocolExpression") - ] = None - r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - - id_expression: Annotated[Optional[str], pydantic.Field(alias="idExpression")] = None - r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - - producer_expression: Annotated[ - Optional[str], pydantic.Field(alias="producerExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - - first_expression: Annotated[ - Optional[str], pydantic.Field(alias="firstExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - - last_expression: Annotated[ - Optional[str], pydantic.Field(alias="lastExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" - - file_expression: Annotated[ - Optional[str], pydantic.Field(alias="fileExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - - line_expression: Annotated[ - Optional[str], pydantic.Field(alias="lineExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - - function_expression: Annotated[ - Optional[str], pydantic.Field(alias="functionExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" - - uid_expression: Annotated[Optional[str], pydantic.Field(alias="uidExpression")] = ( - None - ) - r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - - index_expression: Annotated[ - Optional[str], pydantic.Field(alias="indexExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - - total_splits_expression: Annotated[ - Optional[str], pydantic.Field(alias="totalSplitsExpression") - ] = None - r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - - trace_expression: Annotated[ - Optional[str], pydantic.Field(alias="traceExpression") - ] = None - r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - - span_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="spanIdExpression") - ] = None - r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - - trace_sampled_expression: Annotated[ - Optional[str], pydantic.Field(alias="traceSampledExpression") - ] = None - r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - - description: Optional[str] = None - - payload_expression: Annotated[ - Optional[str], pydantic.Field(alias="payloadExpression") - ] = None - r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" - - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") - ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") - ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") - ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") - ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") - ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") - ] = None - r"""Codec to use to compress the persisted data""" - - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") - ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") - ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - - pq_controls: Annotated[ - Optional[OutputResponsePqControlsGoogleCloudLogging], - pydantic.Field(alias="pqControls"), - ] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_log_location_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_logLocationType") - ] = None - r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" - - template_log_name_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_logNameExpression") - ] = None - r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" - - template_payload_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_payloadFormat") - ] = None - r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" - - template_resource_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_resourceTypeExpression") - ] = None - r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" - - template_severity_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_severityExpression") - ] = None - r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" - - template_insert_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_insertIdExpression") - ] = None - r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" - - template_trace_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_traceExpression") - ] = None - r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" - - template_span_id_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_spanIdExpression") - ] = None - r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" - - template_trace_sampled_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_traceSampledExpression") - ] = None - r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_log_location_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_logLocationExpression") - ] = None - r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" - - template_payload_expression: Annotated[ - Optional[str], pydantic.Field(alias="__template_payloadExpression") - ] = None - r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" - - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" - - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - @field_serializer("log_location_type") - def serialize_log_location_type(self, value): - if isinstance(value, str): - try: - return models.OutputResponseLogLocationType(value) - except ValueError: - return value - return value - - @field_serializer("payload_format") - def serialize_payload_format(self, value): - if isinstance(value, str): - try: - return models.OutputResponsePayloadFormat(value) - except ValueError: - return value - return value - - @field_serializer("google_auth_method") - def serialize_google_auth_method(self, value): - if isinstance(value, str): - try: - return models.GoogleAuthenticationMethodOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "sanitizeLogNames", - "payloadFormat", - "logLabels", - "resourceTypeExpression", - "resourceTypeLabels", - "severityExpression", - "insertIdExpression", - "googleAuthMethod", - "serviceAccountCredentials", - "secret", - "maxPayloadSizeKB", - "maxPayloadEvents", - "flushPeriodSec", - "concurrency", - "connectionTimeout", - "timeoutSec", - "throttleRateReqPerSec", - "requestMethodExpression", - "requestUrlExpression", - "requestSizeExpression", - "statusExpression", - "responseSizeExpression", - "userAgentExpression", - "remoteIpExpression", - "serverIpExpression", - "refererExpression", - "latencyExpression", - "cacheLookupExpression", - "cacheHitExpression", - "cacheValidatedExpression", - "cacheFillBytesExpression", - "protocolExpression", - "idExpression", - "producerExpression", - "firstExpression", - "lastExpression", - "fileExpression", - "lineExpression", - "functionExpression", - "uidExpression", - "indexExpression", - "totalSplitsExpression", - "traceExpression", - "spanIdExpression", - "traceSampledExpression", - "onBackpressure", - "totalMemoryLimitKB", - "description", - "payloadExpression", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_logLocationType", - "__template_logNameExpression", - "__template_payloadFormat", - "__template_resourceTypeExpression", - "__template_severityExpression", - "__template_insertIdExpression", - "__template_traceExpression", - "__template_spanIdExpression", - "__template_traceSampledExpression", - "__template_onBackpressure", - "__template_logLocationExpression", - "__template_payloadExpression", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseTypeGoogleCloudStorage(str, Enum): - GOOGLE_CLOUD_STORAGE = "google_cloud_storage" - - -class OutputResponseAuthenticationMethodGoogleCloudStorage( - str, Enum, metaclass=utils.OpenEnumMeta -): - # auto - AUTO = "auto" - # manual - MANUAL = "manual" - # Secret Key pair - SECRET = "secret" - - -class OutputResponseOutputGoogleCloudStorageTypedDict(TypedDict): - type: OutputResponseTypeGoogleCloudStorage - bucket: str - r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" - region: str - r"""Region where the bucket is located""" - endpoint: str - r"""Google Cloud Storage service endpoint""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[ - OutputResponseAuthenticationMethodGoogleCloudStorage - ] - dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptionsArchiveColdline] - r"""Storage class to select for uploaded objects""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - aws_api_key: NotRequired[str] - r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - aws_secret_key: NotRequired[str] - r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] + template_topic_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_topicName") + ] = None + r"""Binds 'topicName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicName' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" -class OutputResponseOutputGoogleCloudStorage(BaseModel): - type: OutputResponseTypeGoogleCloudStorage + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - bucket: str - r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" + @field_serializer("google_auth_method") + def serialize_google_auth_method(self, value): + if isinstance(value, str): + try: + return models.GoogleAuthenticationMethodOptions(value) + except ValueError: + return value + return value - region: str - r"""Region where the bucket is located""" + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value - endpoint: str - r"""Google Cloud Storage service endpoint""" + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - id: Optional[str] = None - r"""Unique ID for this output""" + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "createTopic", + "orderedDelivery", + "region", + "googleAuthMethod", + "serviceAccountCredentials", + "secret", + "batchSize", + "batchTimeout", + "maxQueueSize", + "maxRecordSizeKB", + "flushPeriod", + "maxInProgress", + "onBackpressure", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_topicName", + "__template_region", + "__template_onBackpressure", + "notifications", + "status", + ] + ) + serialized = handler(self) + m = {} - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + return m - aws_authentication_method: Annotated[ - Optional[OutputResponseAuthenticationMethodGoogleCloudStorage], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" +class OutputResponseTypeGoogleCloudObservability(str, Enum): + GOOGLE_CLOUD_OBSERVABILITY = "google_cloud_observability" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") - ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" - object_acl: Annotated[ - Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], - pydantic.Field(alias="objectACL"), - ] = None - r"""Object ACL to assign to uploaded objects""" +class OutputResponseProtocolGoogleCloudObservability( + str, Enum, metaclass=utils.OpenEnumMeta +): + GRPC = "grpc" - storage_class: Annotated[ - Optional[StorageClassOptionsArchiveColdline], - pydantic.Field(alias="storageClass"), - ] = None - r"""Storage class to select for uploaded objects""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None - r"""Reuse connections between requests, which can improve performance""" +class OutputResponseOtlpVersionGoogleCloudObservability( + str, Enum, metaclass=utils.OpenEnumMeta +): + ONE_DOT_3_DOT_1 = "1.3.1" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") - ] = None - r"""Add the Output ID value to staging location""" +class OutputResponseEndpointGoogleCloudObservability( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") - ] = None - r"""Remove empty staging directories after moving files""" + TELEMETRY_GOOGLEAPIS_COM_443 = "telemetry.googleapis.com:443" - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" +class OutputResponseGoogleAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" +class OutputResponsePqControlsGoogleCloudObservabilityTypedDict(TypedDict): + pass - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") - ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") - ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" +class OutputResponsePqControlsGoogleCloudObservability(BaseModel): + pass - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" +class OutputResponseOutputGoogleCloudObservabilityTypedDict(TypedDict): + type: OutputResponseTypeGoogleCloudObservability + google_auth_method: OutputResponseGoogleAuthenticationMethod + r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + protocol: NotRequired[OutputResponseProtocolGoogleCloudObservability] + otlp_version: NotRequired[OutputResponseOtlpVersionGoogleCloudObservability] + endpoint: NotRequired[OutputResponseEndpointGoogleCloudObservability] + r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" + metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + dynamic_headers_enabled: NotRequired[bool] + r"""Batch event data upon dynamic metadata (whether presented or not)""" + dynamic_headers_field: NotRequired[str] + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + keep_alive_time: NotRequired[float] + r"""How often the sender should ping the peer to keep the connection open""" + tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] + max_payload_events: NotRequired[float] + r"""Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[OutputResponsePqControlsGoogleCloudObservabilityTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") - ] = None - r"""Buffer size used to write to a file""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" +class OutputResponseOutputGoogleCloudObservability(BaseModel): + type: OutputResponseTypeGoogleCloudObservability - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") - ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + google_auth_method: Annotated[ + OutputResponseGoogleAuthenticationMethod, + pydantic.Field(alias="googleAuthMethod"), + ] + r"""Choose Auto to use Google Application Default Credentials (ADC). Choose Secret to select or create a stored secret that references Google service account credentials.""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), - ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + id: Optional[str] = None + r"""Unique ID for this output""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") - ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - orphans: Optional[OrphanFileRecoveryType] = None - - description: Optional[str] = None + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" + protocol: Optional[OutputResponseProtocolGoogleCloudObservability] = None - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") + otlp_version: Annotated[ + Optional[OutputResponseOtlpVersionGoogleCloudObservability], + pydantic.Field(alias="otlpVersion"), ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + endpoint: Optional[OutputResponseEndpointGoogleCloudObservability] = None + r"""Fixed Google Cloud Observability gRPC endpoint. All three signals share this transport; the OTLP service path determines whether the call lands on traces, metrics, or logs.""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" + metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + dynamic_headers_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + r"""Batch event data upon dynamic metadata (whether presented or not)""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") + dynamic_headers_field: Annotated[ + Optional[str], pydantic.Field(alias="dynamicHeadersField") ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") - ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" + r"""Maximum size, in KB, of the request body sent to Google Cloud Observability""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + keep_alive_time: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTime") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""How often the sender should ping the peer to keep the connection open""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") - ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + tls: Optional[TLSSettingsClientSideTypeExtended] = None - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + r"""Max number of events to include in the request body. Default is 0 (unlimited). Use to keep outgoing data points within GCO request limits. For metrics, combine with the OTLP Metrics function batchSize.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""How to handle events when all receivers are exerting backpressure""" - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") - ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + secret: Optional[str] = None + r"""Select or create a stored text secret""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Codec to use to compress the persisted data""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + pq_controls: Annotated[ + Optional[OutputResponsePqControlsGoogleCloudObservability], + pydantic.Field(alias="pqControls"), ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -7917,96 +6853,83 @@ class OutputResponseOutputGoogleCloudStorage(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.OutputResponseAuthenticationMethodGoogleCloudStorage( - value - ) - except ValueError: - return value - return value - - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( - value - ) + return models.OutputResponseProtocolGoogleCloudObservability(value) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.StorageClassOptionsArchiveColdline(value) + return models.OutputResponseOtlpVersionGoogleCloudObservability(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("endpoint") + def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.DataFormatOptions(value) + return models.OutputResponseEndpointGoogleCloudObservability(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("google_auth_method") + def serialize_google_auth_method(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.OutputResponseGoogleAuthenticationMethod(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsHTTP(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("compression_level") - def serialize_compression_level(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.CompressionLevelOptions(value) + return models.ModeOptions(value) except ValueError: return value return value - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): if isinstance(value, str): try: - return models.ParquetVersionOptions(value) + return models.CompressionOptionsPq(value) except ValueError: return value return value - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -8020,130 +6943,43 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAuthenticationMethod", - "destPath", - "verifyPermissions", - "objectACL", - "storageClass", - "reuseConnections", - "rejectUnauthorized", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", - "awsApiKey", - "awsSecretKey", - "awsSecret", - "__template_streamtags", - "__template_bucket", - "__template_region", - "__template_endpoint", - "__template_destPath", - "__template_objectACL", - "__template_storageClass", - "__template_partitionExpr", - "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", - "__template_awsApiKey", - "__template_awsSecretKey", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseTypeGoogleChronicle(str, Enum): - GOOGLE_CHRONICLE = "google_chronicle" - - -class OutputResponseAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta): - # V1 - V1 = "v1" - # V2 - V2 = "v2" - - -class OutputResponseAuthenticationMethodGoogleChronicle( - str, Enum, metaclass=utils.OpenEnumMeta -): - # API key - MANUAL = "manual" - # API key secret - SECRET = "secret" - # Service account credentials - SERVICE_ACCOUNT = "serviceAccount" - # Service account credentials secret - SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" - - -class OutputResponseSendEventsAs(str, Enum, metaclass=utils.OpenEnumMeta): - # Unstructured - UNSTRUCTURED = "unstructured" - # UDM - UDM = "udm" - - -class OutputResponseExtraLogTypeTypedDict(TypedDict): - log_type: str - description: NotRequired[str] - - -class OutputResponseExtraLogType(BaseModel): - log_type: Annotated[str, pydantic.Field(alias="logType")] - - description: Optional[str] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["description"]) + "protocol", + "otlpVersion", + "endpoint", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", + "concurrency", + "maxPayloadSizeKB", + "timeoutSec", + "flushPeriodSec", + "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "tls", + "maxPayloadEvents", + "onBackpressure", + "description", + "secret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "notifications", + "status", + ] + ) serialized = handler(self) m = {} @@ -8158,24 +6994,45 @@ def serialize_model(self, handler): return m -class OutputResponseUDMType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" +class OutputResponseTypeGoogleCloudLogging(str, Enum): + GOOGLE_CLOUD_LOGGING = "google_cloud_logging" - ENTITIES = "entities" - LOGS = "logs" + +class OutputResponseLogLocationType(str, Enum, metaclass=utils.OpenEnumMeta): + # Project + PROJECT = "project" + # Organization + ORGANIZATION = "organization" + # Billing Account + BILLING_ACCOUNT = "billingAccount" + # Folder + FOLDER = "folder" -class OutputResponsePqControlsGoogleChronicleTypedDict(TypedDict): +class OutputResponsePayloadFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Format to use when sending payload. Defaults to Text.""" + + # Text + TEXT = "text" + # JSON + JSON = "json" + + +class OutputResponsePqControlsGoogleCloudLoggingTypedDict(TypedDict): pass -class OutputResponsePqControlsGoogleChronicle(BaseModel): +class OutputResponsePqControlsGoogleCloudLogging(BaseModel): pass -class OutputResponseOutputGoogleChronicleTypedDict(TypedDict): - type: OutputResponseTypeGoogleChronicle - log_format_type: OutputResponseSendEventsAs +class OutputResponseOutputGoogleCloudLoggingTypedDict(TypedDict): + type: OutputResponseTypeGoogleCloudLogging + log_location_type: OutputResponseLogLocationType + log_name_expression: str + r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" + log_location_expression: str + r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -8186,71 +7043,105 @@ class OutputResponseOutputGoogleChronicleTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - api_version: NotRequired[OutputResponseAPIVersion] - authentication_method: NotRequired[ - OutputResponseAuthenticationMethodGoogleChronicle - ] - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] + sanitize_log_names: NotRequired[bool] + payload_format: NotRequired[OutputResponsePayloadFormat] + r"""Format to use when sending payload. Defaults to Text.""" + log_labels: NotRequired[List[LogLabelConfOutputGoogleCloudLoggingTypedDict]] + r"""Labels to apply to the log entry""" + resource_type_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" + resource_type_labels: NotRequired[ + List[LogLabelConfOutputGoogleCloudLoggingTypedDict] ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - region: NotRequired[str] - r"""Regional endpoint to send events to""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" + r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" + severity_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" + insert_id_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the insert ID field.""" + google_auth_method: NotRequired[GoogleAuthenticationMethodOptions] + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + secret: NotRequired[str] + r"""Select or create a stored text secret""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body.""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Max number of events to include in the request body. Default is 0 (unlimited).""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" + throttle_rate_req_per_sec: NotRequired[int] + r"""Maximum number of requests to limit to per second.""" + request_method_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + request_url_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + request_size_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + status_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + response_size_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + user_agent_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + remote_ip_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + server_ip_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + referer_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + latency_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_lookup_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_hit_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_validated_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + cache_fill_bytes_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + protocol_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" + id_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + producer_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + first_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + last_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + file_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + line_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + function_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + uid_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + index_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + total_splits_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + trace_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + span_id_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + trace_sampled_expression: NotRequired[str] + r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - extra_log_types: NotRequired[List[OutputResponseExtraLogTypeTypedDict]] - r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" - log_type: NotRequired[str] - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" - log_text_field: NotRequired[str] - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - customer_id: NotRequired[str] - r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" - namespace: NotRequired[str] - r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" - custom_labels: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""Custom labels to be added to every batch""" - udm_type: NotRequired[OutputResponseUDMType] - r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" - api_key: NotRequired[str] - r"""Organization's API key in Google SecOps""" - api_key_secret: NotRequired[str] - r"""Select or create a stored text secret""" - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - service_account_credentials_secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" + payload_expression: NotRequired[str] + r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -8273,31 +7164,53 @@ class OutputResponseOutputGoogleChronicleTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsGoogleChronicleTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsGoogleCloudLoggingTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_api_version: NotRequired[str] - r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_log_location_type: NotRequired[str] + r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" + template_log_name_expression: NotRequired[str] + r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" + template_payload_format: NotRequired[str] + r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" + template_resource_type_expression: NotRequired[str] + r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" + template_severity_expression: NotRequired[str] + r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" + template_insert_id_expression: NotRequired[str] + r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" + template_trace_expression: NotRequired[str] + r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" + template_span_id_expression: NotRequired[str] + r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" + template_trace_sampled_expression: NotRequired[str] + r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_customer_id: NotRequired[str] - r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" + template_log_location_expression: NotRequired[str] + r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" + template_payload_expression: NotRequired[str] + r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputGoogleChronicle(BaseModel): - type: OutputResponseTypeGoogleChronicle +class OutputResponseOutputGoogleCloudLogging(BaseModel): + type: OutputResponseTypeGoogleCloudLogging - log_format_type: Annotated[ - OutputResponseSendEventsAs, pydantic.Field(alias="logFormatType") + log_location_type: Annotated[ + OutputResponseLogLocationType, pydantic.Field(alias="logLocationType") + ] + + log_name_expression: Annotated[str, pydantic.Field(alias="logNameExpression")] + r"""JavaScript expression to compute the value of the log name. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" + + log_location_expression: Annotated[ + str, pydantic.Field(alias="logLocationExpression") ] + r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated. If Validate and correct log name is enabled, invalid characters (characters other than alphanumerics, forward-slashes, underscores, hyphens, and periods) will be replaced with an underscore.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -8316,147 +7229,242 @@ class OutputResponseOutputGoogleChronicle(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - api_version: Annotated[ - Optional[OutputResponseAPIVersion], pydantic.Field(alias="apiVersion") + sanitize_log_names: Annotated[ + Optional[bool], pydantic.Field(alias="sanitizeLogNames") ] = None - authentication_method: Annotated[ - Optional[OutputResponseAuthenticationMethodGoogleChronicle], - pydantic.Field(alias="authenticationMethod"), + payload_format: Annotated[ + Optional[OutputResponsePayloadFormat], pydantic.Field(alias="payloadFormat") ] = None + r"""Format to use when sending payload. Defaults to Text.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + log_labels: Annotated[ + Optional[List[LogLabelConfOutputGoogleCloudLogging]], + pydantic.Field(alias="logLabels"), ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Labels to apply to the log entry""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + resource_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="resourceTypeExpression") ] = None + r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\".""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + resource_type_labels: Annotated[ + Optional[List[LogLabelConfOutputGoogleCloudLogging]], + pydantic.Field(alias="resourceTypeLabels"), ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging.""" - region: Optional[str] = None - r"""Regional endpoint to send events to""" + severity_expression: Annotated[ + Optional[str], pydantic.Field(alias="severityExpression") + ] = None + r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\".""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + insert_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="insertIdExpression") + ] = None + r"""JavaScript expression to compute the value of the insert ID field.""" + + google_auth_method: Annotated[ + Optional[GoogleAuthenticationMethodOptions], + pydantic.Field(alias="googleAuthMethod"), + ] = None + r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials.""" + + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") + ] = None + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + + secret: Optional[str] = None + r"""Select or create a stored text secret""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body.""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Max number of events to include in the request body. Default is 0 (unlimited).""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + throttle_rate_req_per_sec: Annotated[ + Optional[int], pydantic.Field(alias="throttleRateReqPerSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum number of requests to limit to per second.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + request_method_expression: Annotated[ + Optional[str], pydantic.Field(alias="requestMethodExpression") ] = None - r"""Headers to add to all events""" + r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + request_url_expression: Annotated[ + Optional[str], pydantic.Field(alias="requestUrlExpression") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + request_size_expression: Annotated[ + Optional[str], pydantic.Field(alias="requestSizeExpression") ] = None - r"""List of headers that are safe to log in plain text""" + r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + status_expression: Annotated[ + Optional[str], pydantic.Field(alias="statusExpression") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" + r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + response_size_expression: Annotated[ + Optional[str], pydantic.Field(alias="responseSizeExpression") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + user_agent_expression: Annotated[ + Optional[str], pydantic.Field(alias="userAgentExpression") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - description: Optional[str] = None + remote_ip_expression: Annotated[ + Optional[str], pydantic.Field(alias="remoteIpExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - extra_log_types: Annotated[ - Optional[List[OutputResponseExtraLogType]], - pydantic.Field(alias="extraLogTypes"), + server_ip_expression: Annotated[ + Optional[str], pydantic.Field(alias="serverIpExpression") ] = None - r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" + r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + referer_expression: Annotated[ + Optional[str], pydantic.Field(alias="refererExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( - None - ) - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + latency_expression: Annotated[ + Optional[str], pydantic.Field(alias="latencyExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as .s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - customer_id: Annotated[Optional[str], pydantic.Field(alias="customerId")] = None - r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" + cache_lookup_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheLookupExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - namespace: Optional[str] = None - r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + cache_hit_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheHitExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - custom_labels: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="customLabels"), + cache_validated_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheValidatedExpression") ] = None - r"""Custom labels to be added to every batch""" + r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - udm_type: Annotated[ - Optional[OutputResponseUDMType], pydantic.Field(alias="udmType") + cache_fill_bytes_expression: Annotated[ + Optional[str], pydantic.Field(alias="cacheFillBytesExpression") ] = None - r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""Organization's API key in Google SecOps""" + protocol_expression: Annotated[ + Optional[str], pydantic.Field(alias="protocolExpression") + ] = None + r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details.""" - api_key_secret: Annotated[Optional[str], pydantic.Field(alias="apiKeySecret")] = ( + id_expression: Annotated[Optional[str], pydantic.Field(alias="idExpression")] = None + r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + + producer_expression: Annotated[ + Optional[str], pydantic.Field(alias="producerExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + + first_expression: Annotated[ + Optional[str], pydantic.Field(alias="firstExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + + last_expression: Annotated[ + Optional[str], pydantic.Field(alias="lastExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details.""" + + file_expression: Annotated[ + Optional[str], pydantic.Field(alias="fileExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + + line_expression: Annotated[ + Optional[str], pydantic.Field(alias="lineExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + + function_expression: Annotated[ + Optional[str], pydantic.Field(alias="functionExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details.""" + + uid_expression: Annotated[Optional[str], pydantic.Field(alias="uidExpression")] = ( None ) - r"""Select or create a stored text secret""" + r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + index_expression: Annotated[ + Optional[str], pydantic.Field(alias="indexExpression") ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + + total_splits_expression: Annotated[ + Optional[str], pydantic.Field(alias="totalSplitsExpression") + ] = None + r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details.""" + + trace_expression: Annotated[ + Optional[str], pydantic.Field(alias="traceExpression") + ] = None + r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + + span_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="spanIdExpression") + ] = None + r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + + trace_sampled_expression: Annotated[ + Optional[str], pydantic.Field(alias="traceSampledExpression") + ] = None + r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - service_account_credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + description: Optional[str] = None + r"""Optional description for this configuration.""" + + payload_expression: Annotated[ + Optional[str], pydantic.Field(alias="payloadExpression") ] = None - r"""Select or create a stored text secret""" + r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -8508,7 +7516,7 @@ class OutputResponseOutputGoogleChronicle(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsGoogleChronicle], + Optional[OutputResponsePqControlsGoogleCloudLogging], pydantic.Field(alias="pqControls"), ] = None @@ -8517,30 +7525,65 @@ class OutputResponseOutputGoogleChronicle(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_api_version: Annotated[ - Optional[str], pydantic.Field(alias="__template_apiVersion") + template_log_location_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logLocationType") ] = None - r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" + r"""Binds 'logLocationType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationType' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_log_name_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_logNameExpression") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'logNameExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logNameExpression' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_payload_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_payloadFormat") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'payloadFormat' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadFormat' at runtime.""" + + template_resource_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_resourceTypeExpression") + ] = None + r"""Binds 'resourceTypeExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'resourceTypeExpression' at runtime.""" + + template_severity_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_severityExpression") + ] = None + r"""Binds 'severityExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'severityExpression' at runtime.""" + + template_insert_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_insertIdExpression") + ] = None + r"""Binds 'insertIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'insertIdExpression' at runtime.""" + + template_trace_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_traceExpression") + ] = None + r"""Binds 'traceExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceExpression' at runtime.""" + + template_span_id_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_spanIdExpression") + ] = None + r"""Binds 'spanIdExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'spanIdExpression' at runtime.""" + + template_trace_sampled_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_traceSampledExpression") + ] = None + r"""Binds 'traceSampledExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'traceSampledExpression' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_customer_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_customerId") + template_log_location_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_logLocationExpression") ] = None - r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" + r"""Binds 'logLocationExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logLocationExpression' at runtime.""" + + template_payload_expression: Annotated[ + Optional[str], pydantic.Field(alias="__template_payloadExpression") + ] = None + r"""Binds 'payloadExpression' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'payloadExpression' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -8548,38 +7591,29 @@ class OutputResponseOutputGoogleChronicle(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("api_version") - def serialize_api_version(self, value): - if isinstance(value, str): - try: - return models.OutputResponseAPIVersion(value) - except ValueError: - return value - return value - - @field_serializer("authentication_method") - def serialize_authentication_method(self, value): + @field_serializer("log_location_type") + def serialize_log_location_type(self, value): if isinstance(value, str): try: - return models.OutputResponseAuthenticationMethodGoogleChronicle(value) + return models.OutputResponseLogLocationType(value) except ValueError: return value return value - @field_serializer("log_format_type") - def serialize_log_format_type(self, value): + @field_serializer("payload_format") + def serialize_payload_format(self, value): if isinstance(value, str): try: - return models.OutputResponseSendEventsAs(value) + return models.OutputResponsePayloadFormat(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("google_auth_method") + def serialize_google_auth_method(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.GoogleAuthenticationMethodOptions(value) except ValueError: return value return value @@ -8593,15 +7627,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("udm_type") - def serialize_udm_type(self, value): - if isinstance(value, str): - try: - return models.OutputResponseUDMType(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -8638,37 +7663,55 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "region", - "concurrency", + "sanitizeLogNames", + "payloadFormat", + "logLabels", + "resourceTypeExpression", + "resourceTypeLabels", + "severityExpression", + "insertIdExpression", + "googleAuthMethod", + "serviceAccountCredentials", + "secret", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "useRoundRobinDns", + "concurrency", + "connectionTimeout", + "timeoutSec", + "throttleRateReqPerSec", + "requestMethodExpression", + "requestUrlExpression", + "requestSizeExpression", + "statusExpression", + "responseSizeExpression", + "userAgentExpression", + "remoteIpExpression", + "serverIpExpression", + "refererExpression", + "latencyExpression", + "cacheLookupExpression", + "cacheHitExpression", + "cacheValidatedExpression", + "cacheFillBytesExpression", + "protocolExpression", + "idExpression", + "producerExpression", + "firstExpression", + "lastExpression", + "fileExpression", + "lineExpression", + "functionExpression", + "uidExpression", + "indexExpression", + "totalSplitsExpression", + "traceExpression", + "spanIdExpression", + "traceSampledExpression", "onBackpressure", "totalMemoryLimitKB", "description", - "extraLogTypes", - "logType", - "logTextField", - "customerId", - "namespace", - "customLabels", - "udmType", - "apiKey", - "apiKeySecret", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", + "payloadExpression", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -8682,11 +7725,18 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_apiVersion", - "__template_region", - "__template_failedRequestLoggingMode", + "__template_logLocationType", + "__template_logNameExpression", + "__template_payloadFormat", + "__template_resourceTypeExpression", + "__template_severityExpression", + "__template_insertIdExpression", + "__template_traceExpression", + "__template_spanIdExpression", + "__template_traceSampledExpression", "__template_onBackpressure", - "__template_customerId", + "__template_logLocationExpression", + "__template_payloadExpression", "notifications", "status", ] @@ -8705,24 +7755,31 @@ def serialize_model(self, handler): return m -class OutputResponseTypeAzureEventhub(str, Enum): - AZURE_EVENTHUB = "azure_eventhub" - - -class OutputResponsePqControlsAzureEventhubTypedDict(TypedDict): - pass +class OutputResponseTypeGoogleCloudStorage(str, Enum): + GOOGLE_CLOUD_STORAGE = "google_cloud_storage" -class OutputResponsePqControlsAzureEventhub(BaseModel): - pass +class OutputResponseAuthenticationMethodGoogleCloudStorage( + str, Enum, metaclass=utils.OpenEnumMeta +): + # auto + AUTO = "auto" + # manual + MANUAL = "manual" + # Secret Key pair + SECRET = "secret" -class OutputResponseOutputAzureEventhubTypedDict(TypedDict): - type: OutputResponseTypeAzureEventhub - brokers: List[str] - r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" - topic: str - r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" +class OutputResponseOutputGoogleCloudStorageTypedDict(TypedDict): + type: OutputResponseTypeGoogleCloudStorage + bucket: str + r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" + region: str + r"""Region where the bucket is located""" + endpoint: str + r"""Google Cloud Storage service endpoint""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -8733,85 +7790,149 @@ class OutputResponseOutputAzureEventhubTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - ack: NotRequired[AcknowledgmentsOptions] - r"""Control the number of required acknowledgments""" - format_: NotRequired[RecordDataFormatOptions] - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - flush_event_count: NotRequired[float] - r"""Maximum number of events in a batch before forcing a flush""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: NotRequired[AuthenticationTypeUseTypedDict] - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - tls: NotRequired[TLSSettingsClientSideTypeTypedDict] - on_backpressure: NotRequired[BackpressureBehaviorOptions] + aws_authentication_method: NotRequired[ + OutputResponseAuthenticationMethodGoogleCloudStorage + ] + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + object_acl: NotRequired[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptionsArchiveColdline] + r"""Storage class to select for uploaded objects""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsAzureEventhubTypedDict] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + aws_api_key: NotRequired[str] + r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" + aws_secret_key: NotRequired[str] + r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_brokers: NotRequired[str] - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputAzureEventhub(BaseModel): - type: OutputResponseTypeAzureEventhub +class OutputResponseOutputGoogleCloudStorage(BaseModel): + type: OutputResponseTypeGoogleCloudStorage - brokers: List[str] - r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" + bucket: str + r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`.""" - topic: str - r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" + region: str + r"""Region where the bucket is located""" + + endpoint: str + r"""Google Cloud Storage service endpoint""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -8830,210 +7951,401 @@ class OutputResponseOutputAzureEventhub(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" + aws_authentication_method: Annotated[ + Optional[OutputResponseAuthenticationMethodGoogleCloudStorage], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + r"""Disable if you can access files within the bucket but not the bucket itself""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + object_acl: Annotated[ + Optional[ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol], + pydantic.Field(alias="objectACL"), + ] = None + r"""Object ACL to assign to uploaded objects""" + + storage_class: Annotated[ + Optional[StorageClassOptionsArchiveColdline], + pydantic.Field(alias="storageClass"), + ] = None + r"""Storage class to select for uploaded objects""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" + + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" + + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + ] = None + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") + ] = None + r"""Buffer size used to write to a file""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + r"""How to handle events when all receivers are exerting backpressure""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Maximum number of events in a batch before forcing a flush""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") ] = None - r"""Maximum time to wait for a connection to complete successfully""" + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + orphans: Optional[OrphanFileRecoveryType] = None - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + r"""Compression level to apply before moving files to final destination""" - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""Determines which data types are supported and how they are represented""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - sasl: Optional[AuthenticationTypeUse] = None - r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - tls: Optional[TLSSettingsClientSideType] = None + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - description: Optional[str] = None + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), + ] = None + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") + ] = None + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""HMAC access key. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_ACCESS_KEY}`.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""HMAC secret. This value can be a constant or a JavaScript expression, such as `${C.env.GCS_SECRET}`.""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Codec to use to compress the persisted data""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - pq_controls: Annotated[ - Optional[OutputResponsePqControlsAzureEventhub], - pydantic.Field(alias="pqControls"), + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_brokers: Annotated[ - Optional[str], pydantic.Field(alias="__template_brokers") + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") ] = None - r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") + ] = None + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("ack") - def serialize_ack(self, value): + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.OutputResponseAuthenticationMethodGoogleCloudStorage( + value + ) + except ValueError: + return value + return value + + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptionsAuthenticatedreadBucketownerfullcontrol( + value + ) + except ValueError: + return value + return value + + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.StorageClassOptionsArchiveColdline(value) + except ValueError: + return value + return value + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.DataFormatOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AcknowledgmentsOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.RecordDataFormatOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.ParquetVersionOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -9047,40 +8359,68 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", + "awsAuthenticationMethod", + "destPath", + "verifyPermissions", + "objectACL", + "storageClass", + "reuseConnections", + "rejectUnauthorized", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", "format", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "tls", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", + "awsApiKey", + "awsSecretKey", + "awsSecret", "__template_streamtags", - "__template_brokers", - "__template_topic", + "__template_bucket", + "__template_region", + "__template_endpoint", + "__template_destPath", + "__template_objectACL", + "__template_storageClass", + "__template_partitionExpr", "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", + "__template_awsApiKey", + "__template_awsSecretKey", "notifications", "status", ] @@ -9099,22 +8439,82 @@ def serialize_model(self, handler): return m -class OutputResponseTypeHoneycomb(str, Enum): - HONEYCOMB = "honeycomb" +class OutputResponseTypeGoogleChronicle(str, Enum): + GOOGLE_CHRONICLE = "google_chronicle" -class OutputResponsePqControlsHoneycombTypedDict(TypedDict): +class OutputResponseAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta): + # V1 + V1 = "v1" + # V2 + V2 = "v2" + + +class OutputResponseAuthenticationMethodGoogleChronicle( + str, Enum, metaclass=utils.OpenEnumMeta +): + # API key + MANUAL = "manual" + # API key secret + SECRET = "secret" + # Service account credentials + SERVICE_ACCOUNT = "serviceAccount" + # Service account credentials secret + SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" + + +class OutputResponseSendEventsAs(str, Enum, metaclass=utils.OpenEnumMeta): + # Unstructured + UNSTRUCTURED = "unstructured" + # UDM + UDM = "udm" + + +class OutputResponseExtraLogTypeTypedDict(TypedDict): + log_type: str + description: NotRequired[str] + + +class OutputResponseExtraLogType(BaseModel): + log_type: Annotated[str, pydantic.Field(alias="logType")] + + description: Optional[str] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["description"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseUDMType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + + ENTITIES = "entities" + LOGS = "logs" + + +class OutputResponsePqControlsGoogleChronicleTypedDict(TypedDict): pass -class OutputResponsePqControlsHoneycomb(BaseModel): +class OutputResponsePqControlsGoogleChronicle(BaseModel): pass -class OutputResponseOutputHoneycombTypedDict(TypedDict): - type: OutputResponseTypeHoneycomb - dataset: str - r"""Name of the dataset to send events to – e.g., observability""" +class OutputResponseOutputGoogleChronicleTypedDict(TypedDict): + type: OutputResponseTypeGoogleChronicle + log_format_type: OutputResponseSendEventsAs id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -9125,6 +8525,19 @@ class OutputResponseOutputHoneycombTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + api_version: NotRequired[OutputResponseAPIVersion] + authentication_method: NotRequired[ + OutputResponseAuthenticationMethodGoogleChronicle + ] + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + region: NotRequired[str] + r"""Regional endpoint to send events to""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -9144,24 +8557,40 @@ class OutputResponseOutputHoneycombTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + extra_log_types: NotRequired[List[OutputResponseExtraLogTypeTypedDict]] + r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" + log_type: NotRequired[str] + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + log_text_field: NotRequired[str] + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + customer_id: NotRequired[str] + r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" + namespace: NotRequired[str] + r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + custom_labels: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""Custom labels to be added to every batch""" + udm_type: NotRequired[OutputResponseUDMType] + r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + api_key: NotRequired[str] + r"""Organization's API key in Google SecOps""" + api_key_secret: NotRequired[str] + r"""Select or create a stored text secret""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + service_account_credentials_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9184,28 +8613,31 @@ class OutputResponseOutputHoneycombTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsHoneycombTypedDict] - team: NotRequired[str] - r"""Team API key where the dataset belongs""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[OutputResponsePqControlsGoogleChronicleTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_api_version: NotRequired[str] + r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_customer_id: NotRequired[str] + r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputHoneycomb(BaseModel): - type: OutputResponseTypeHoneycomb +class OutputResponseOutputGoogleChronicle(BaseModel): + type: OutputResponseTypeGoogleChronicle - dataset: str - r"""Name of the dataset to send events to – e.g., observability""" + log_format_type: Annotated[ + OutputResponseSendEventsAs, pydantic.Field(alias="logFormatType") + ] id: Optional[str] = None r"""Unique ID for this output""" @@ -9224,6 +8656,33 @@ class OutputResponseOutputHoneycomb(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + api_version: Annotated[ + Optional[OutputResponseAPIVersion], pydantic.Field(alias="apiVersion") + ] = None + + authentication_method: Annotated[ + Optional[OutputResponseAuthenticationMethodGoogleChronicle], + pydantic.Field(alias="authenticationMethod"), + ] = None + + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + region: Optional[str] = None + r"""Regional endpoint to send events to""" + concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -9262,11 +8721,6 @@ class OutputResponseOutputHoneycomb(BaseModel): ] = None r"""Headers to add to all events""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -9278,32 +8732,72 @@ class OutputResponseOutputHoneycomb(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Enter API key directly, or select a stored secret""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" + + extra_log_types: Annotated[ + Optional[List[OutputResponseExtraLogType]], + pydantic.Field(alias="extraLogTypes"), + ] = None + r"""Custom log types. If the value \"Custom\" is selected in the setting \"Default log type\" above, the first custom log type in this table will be automatically selected as default log type.""" + + log_type: Annotated[Optional[str], pydantic.Field(alias="logType")] = None + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + + log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( + None + ) + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + + customer_id: Annotated[Optional[str], pydantic.Field(alias="customerId")] = None + r"""A unique identifier (UUID) for your Google SecOps instance. This is provided by your Google representative and is required for API V2 authentication.""" + + namespace: Optional[str] = None + r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + + custom_labels: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="customLabels"), + ] = None + r"""Custom labels to be added to every batch""" + + udm_type: Annotated[ + Optional[OutputResponseUDMType], pydantic.Field(alias="udmType") + ] = None + r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent.""" + + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""Organization's API key in Google SecOps""" + + api_key_secret: Annotated[Optional[str], pydantic.Field(alias="apiKeySecret")] = ( + None + ) + r"""Select or create a stored text secret""" + + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") + ] = None + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + + service_account_credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + ] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -9355,20 +8849,25 @@ class OutputResponseOutputHoneycomb(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsHoneycomb], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsGoogleChronicle], + pydantic.Field(alias="pqControls"), ] = None - team: Optional[str] = None - r"""Team API key where the dataset belongs""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_api_version: Annotated[ + Optional[str], pydantic.Field(alias="__template_apiVersion") + ] = None + r"""Binds 'apiVersion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'apiVersion' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -9379,12 +8878,44 @@ class OutputResponseOutputHoneycomb(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_customer_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_customerId") + ] = None + r"""Binds 'customerId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customerId' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + @field_serializer("api_version") + def serialize_api_version(self, value): + if isinstance(value, str): + try: + return models.OutputResponseAPIVersion(value) + except ValueError: + return value + return value + + @field_serializer("authentication_method") + def serialize_authentication_method(self, value): + if isinstance(value, str): + try: + return models.OutputResponseAuthenticationMethodGoogleChronicle(value) + except ValueError: + return value + return value + + @field_serializer("log_format_type") + def serialize_log_format_type(self, value): + if isinstance(value, str): + try: + return models.OutputResponseSendEventsAs(value) + except ValueError: + return value + return value + @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -9403,11 +8934,11 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("udm_type") + def serialize_udm_type(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAPI(value) + return models.OutputResponseUDMType(value) except ValueError: return value return value @@ -9448,6 +8979,12 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "region", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -9456,15 +8993,23 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "useRoundRobinDns", "onBackpressure", - "authType", + "totalMemoryLimitKB", "description", + "extraLogTypes", + "logType", + "logTextField", + "customerId", + "namespace", + "customLabels", + "udmType", + "apiKey", + "apiKeySecret", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -9477,11 +9022,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "team", - "textSecret", "__template_streamtags", + "__template_apiVersion", + "__template_region", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_customerId", "notifications", "status", ] @@ -9500,33 +9046,24 @@ def serialize_model(self, handler): return m -class OutputResponseTypeKinesis(str, Enum): - KINESIS = "kinesis" - - -class OutputResponseCompression(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Compression type to use for records""" - - # None - NONE = "none" - # Gzip - GZIP = "gzip" +class OutputResponseTypeAzureEventhub(str, Enum): + AZURE_EVENTHUB = "azure_eventhub" -class OutputResponsePqControlsKinesisTypedDict(TypedDict): +class OutputResponsePqControlsAzureEventhubTypedDict(TypedDict): pass -class OutputResponsePqControlsKinesis(BaseModel): +class OutputResponsePqControlsAzureEventhub(BaseModel): pass -class OutputResponseOutputKinesisTypedDict(TypedDict): - type: OutputResponseTypeKinesis - stream_name: str - r"""Kinesis stream name to send events to.""" - region: str - r"""Region where the Kinesis stream is located""" +class OutputResponseOutputAzureEventhubTypedDict(TypedDict): + type: OutputResponseTypeAzureEventhub + brokers: List[str] + r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" + topic: str + r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -9537,43 +9074,39 @@ class OutputResponseOutputKinesisTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret_key: NotRequired[str] - endpoint: NotRequired[str] - r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access Kinesis stream""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing put requests before blocking.""" + ack: NotRequired[AcknowledgmentsOptions] + r"""Control the number of required acknowledgments""" + format_: NotRequired[RecordDataFormatOptions] + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + flush_event_count: NotRequired[float] + r"""Maximum number of events in a batch before forcing a flush""" flush_period_sec: NotRequired[float] r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - compression: NotRequired[OutputResponseCompression] - r"""Compression type to use for records""" - use_list_shards: NotRequired[bool] - r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" - as_ndjson: NotRequired[bool] - r"""Batch events into a single record as NDJSON""" + connection_timeout: NotRequired[float] + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + sasl: NotRequired[AuthenticationTypeUseTypedDict] + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" + tls: NotRequired[TLSSettingsClientSideTypeTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - max_events_per_flush: NotRequired[float] - r"""Maximum number of records to send in a single request""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9596,39 +9129,31 @@ class OutputResponseOutputKinesisTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsKinesisTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsAzureEventhubTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_stream_name: NotRequired[str] - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_brokers: NotRequired[str] + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputKinesis(BaseModel): - type: OutputResponseTypeKinesis +class OutputResponseOutputAzureEventhub(BaseModel): + type: OutputResponseTypeAzureEventhub - stream_name: Annotated[str, pydantic.Field(alias="streamName")] - r"""Kinesis stream name to send events to.""" + brokers: List[str] + r"""List of Event Hubs Kafka brokers to connect to, eg. yourdomain.servicebus.windows.net:9093. The hostname can be found in the host portion of the primary or secondary connection string in Shared Access Policies.""" - region: str - r"""Region where the Kinesis stream is located""" + topic: str + r"""The name of the Event Hub (Kafka Topic) to publish events. Can be overwritten using field __topicOut.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -9647,72 +9172,67 @@ class OutputResponseOutputKinesis(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" + + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") + ] = None + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - endpoint: Optional[str] = None - r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") + ] = None + r"""Maximum number of events in a batch before forcing a flush""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Maximum time to wait for a connection to complete successfully""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") ] = None - r"""Use Assume Role credentials to access Kinesis stream""" + r"""Maximum time to wait for Kafka to respond to a request""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") ] = None - 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).""" + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing put requests before blocking.""" + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") ] = None - r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" + r"""Maximum time to wait for Kafka to respond to an authentication request""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - - compression: Optional[OutputResponseCompression] = None - r"""Compression type to use for records""" + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - use_list_shards: Annotated[ - Optional[bool], pydantic.Field(alias="useListShards") - ] = None - r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" + sasl: Optional[AuthenticationTypeUse] = None + r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended.""" - as_ndjson: Annotated[Optional[bool], pydantic.Field(alias="asNdjson")] = None - r"""Batch events into a single record as NDJSON""" + tls: Optional[TLSSettingsClientSideType] = None on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -9720,16 +9240,7 @@ class OutputResponseOutputKinesis(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - max_events_per_flush: Annotated[ - Optional[float], pydantic.Field(alias="maxEventsPerFlush") - ] = None - r"""Maximum number of records to send in a single request""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -9781,7 +9292,8 @@ class OutputResponseOutputKinesis(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsKinesis], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsAzureEventhub], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -9789,66 +9301,46 @@ class OutputResponseOutputKinesis(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_stream_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamName") - ] = None - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" - - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_brokers: Annotated[ + Optional[str], pydantic.Field(alias="__template_brokers") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'brokers' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'brokers' at runtime.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) + return models.AcknowledgmentsOptions(value) except ValueError: return value return value - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.OutputResponseCompression(value) + return models.RecordDataFormatOptions(value) except ValueError: return value return value @@ -9898,26 +9390,23 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAuthenticationMethod", - "awsSecretKey", - "endpoint", - "reuseConnections", - "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "concurrency", + "ack", + "format", "maxRecordSizeKB", + "flushEventCount", "flushPeriodSec", - "compression", - "useListShards", - "asNdjson", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", "onBackpressure", "description", - "awsApiKey", - "awsSecret", - "maxEventsPerFlush", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -9931,14 +9420,10 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_streamName", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", + "__template_brokers", + "__template_topic", + "__template_format", "__template_onBackpressure", - "__template_awsApiKey", "notifications", "status", ] @@ -9957,31 +9442,22 @@ def serialize_model(self, handler): return m -class OutputResponseTypeAzureLogs(str, Enum): - AZURE_LOGS = "azure_logs" - - -class OutputResponseAuthenticationMethodAzureLogs( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Enter workspace ID and workspace key directly, or select a stored secret""" - - MANUAL = "manual" - SECRET = "secret" +class OutputResponseTypeHoneycomb(str, Enum): + HONEYCOMB = "honeycomb" -class OutputResponsePqControlsAzureLogsTypedDict(TypedDict): +class OutputResponsePqControlsHoneycombTypedDict(TypedDict): pass -class OutputResponsePqControlsAzureLogs(BaseModel): +class OutputResponsePqControlsHoneycomb(BaseModel): pass -class OutputResponseOutputAzureLogsTypedDict(TypedDict): - type: OutputResponseTypeAzureLogs - log_type: str - r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" +class OutputResponseOutputHoneycombTypedDict(TypedDict): + type: OutputResponseTypeHoneycomb + dataset: str + r"""Name of the dataset to send events to – e.g., observability""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -9992,8 +9468,6 @@ class OutputResponseOutputAzureLogsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - resource_id: NotRequired[str] - r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -10001,6 +9475,7 @@ class OutputResponseOutputAzureLogsTypedDict(TypedDict): max_payload_events: NotRequired[float] r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -10018,8 +9493,6 @@ class OutputResponseOutputAzureLogsTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - api_url: NotRequired[str] - r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -10029,9 +9502,10 @@ class OutputResponseOutputAzureLogsTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[OutputResponseAuthenticationMethodAzureLogs] - r"""Enter workspace ID and workspace key directly, or select a stored secret""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -10054,34 +9528,28 @@ class OutputResponseOutputAzureLogsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsAzureLogsTypedDict] - workspace_id: NotRequired[str] - r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" - workspace_key: NotRequired[str] - r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" - keypair_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" + pq_controls: NotRequired[OutputResponsePqControlsHoneycombTypedDict] + team: NotRequired[str] + r"""Team API key where the dataset belongs""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_workspace_id: NotRequired[str] - r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" - template_workspace_key: NotRequired[str] - r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputAzureLogs(BaseModel): - type: OutputResponseTypeAzureLogs +class OutputResponseOutputHoneycomb(BaseModel): + type: OutputResponseTypeHoneycomb - log_type: Annotated[str, pydantic.Field(alias="logType")] - r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" + dataset: str + r"""Name of the dataset to send events to – e.g., observability""" id: Optional[str] = None r"""Unique ID for this output""" @@ -10100,9 +9568,6 @@ class OutputResponseOutputAzureLogs(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - resource_id: Annotated[Optional[str], pydantic.Field(alias="resourceId")] = None - r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" - concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -10117,6 +9582,7 @@ class OutputResponseOutputAzureLogs(BaseModel): r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" compress: Optional[bool] = None + r"""Compress the payload body before sending""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -10156,9 +9622,6 @@ class OutputResponseOutputAzureLogs(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - api_url: Annotated[Optional[str], pydantic.Field(alias="apiUrl")] = None - r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" - response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -10180,12 +9643,12 @@ class OutputResponseOutputAzureLogs(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[OutputResponseAuthenticationMethodAzureLogs], - pydantic.Field(alias="authType"), + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") ] = None - r"""Enter workspace ID and workspace key directly, or select a stored secret""" + r"""Enter API key directly, or select a stored secret""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -10237,19 +9700,14 @@ class OutputResponseOutputAzureLogs(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsAzureLogs], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsHoneycomb], pydantic.Field(alias="pqControls") ] = None - workspace_id: Annotated[Optional[str], pydantic.Field(alias="workspaceId")] = None - r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" - - workspace_key: Annotated[Optional[str], pydantic.Field(alias="workspaceKey")] = None - r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" + team: Optional[str] = None + r"""Team API key where the dataset belongs""" - keypair_secret: Annotated[Optional[str], pydantic.Field(alias="keypairSecret")] = ( - None - ) - r"""Select or create a stored secret that references your access key and secret key""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -10266,16 +9724,6 @@ class OutputResponseOutputAzureLogs(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_workspace_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_workspaceId") - ] = None - r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" - - template_workspace_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_workspaceKey") - ] = None - r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" - notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -10304,185 +9752,85 @@ def serialize_on_backpressure(self, value): def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.OutputResponseAuthenticationMethodAzureLogs(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) + return models.AuthenticationMethodOptionsAPI(value) except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "resourceId", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "apiUrl", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "workspaceId", - "workspaceKey", - "keypairSecret", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_workspaceId", - "__template_workspaceKey", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseTypeAzureDataExplorer(str, Enum): - AZURE_DATA_EXPLORER = "azure_data_explorer" - - -class OutputResponseIngestionMode(str, Enum, metaclass=utils.OpenEnumMeta): - # Batching - BATCHING = "batching" - # Streaming - STREAMING = "streaming" - - -class OutputResponseAuthenticationMethodAzureDataExplorer( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""The type of OAuth 2.0 client credentials grant flow to use""" - - # Client secret - CLIENT_SECRET = "clientSecret" - # Client secret (text secret) - CLIENT_TEXT_SECRET = "clientTextSecret" - # Certificate - CERTIFICATE = "certificate" - - -class OutputResponseCertificateTypedDict(TypedDict): - certificate_name: NotRequired[str] - r"""The certificate you registered as credentials for your app in the Azure portal""" - - -class OutputResponseCertificate(BaseModel): - certificate_name: Annotated[ - Optional[str], pydantic.Field(alias="certificateName") - ] = None - r"""The certificate you registered as credentials for your app in the Azure portal""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["certificateName"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponsePrefixOptional(str, Enum, metaclass=utils.OpenEnumMeta): - # drop-by - DROP_BY = "dropBy" - # ingest-by - INGEST_BY = "ingestBy" - - -class OutputResponseExtentTagTypedDict(TypedDict): - value: str - prefix: NotRequired[OutputResponsePrefixOptional] - + return value + return value -class OutputResponseExtentTag(BaseModel): - value: str + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value - prefix: Optional[OutputResponsePrefixOptional] = None + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value - @field_serializer("prefix") - def serialize_prefix(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.OutputResponsePrefixOptional(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["prefix"]) + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "team", + "textSecret", + "__template_streamtags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "notifications", + "status", + ] + ) serialized = handler(self) m = {} @@ -10497,202 +9845,81 @@ def serialize_model(self, handler): return m -class OutputResponseIngestIfNotExistTypedDict(TypedDict): - value: str - - -class OutputResponseIngestIfNotExist(BaseModel): - value: str - - -class OutputResponseReportLevel(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - - # FailuresOnly - FAILURES_ONLY = "failuresOnly" - # DoNotReport - DO_NOT_REPORT = "doNotReport" - # FailuresAndSuccesses - FAILURES_AND_SUCCESSES = "failuresAndSuccesses" - - -class OutputResponseReportMethod(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Target of the ingestion status reporting. Defaults to Queue.""" - - # Queue - QUEUE = "queue" - # Table - TABLE = "table" - # QueueAndTable - QUEUE_AND_TABLE = "queueAndTable" - - -class OutputResponseAdditionalPropertyTypedDict(TypedDict): - key: str - value: str - - -class OutputResponseAdditionalProperty(BaseModel): - key: str - - value: str - +class OutputResponseTypeKinesis(str, Enum): + KINESIS = "kinesis" -class OutputResponsePqControlsAzureDataExplorerTypedDict(TypedDict): - pass +class OutputResponseCompression(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Compression type to use for records""" -class OutputResponsePqControlsAzureDataExplorer(BaseModel): - pass + # None + NONE = "none" + # Gzip + GZIP = "gzip" -class OutputResponseOutputAzureDataExplorerTypedDict(TypedDict): - type: OutputResponseTypeAzureDataExplorer - cluster_url: str - r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" - database: str - r"""Name of the database containing the table where data will be ingested""" - table: str - r"""Name of the table to ingest data into""" - oauth_endpoint: MicrosoftEntraIDAuthenticationEndpointOptionsSasl - r"""Endpoint used to acquire authentication tokens from Azure""" - tenant_id: str - r"""Directory ID (tenant identifier) in Azure Active Directory""" - client_id: str - r"""client_id to pass in the OAuth request parameter""" - scope: str - r"""Scope to pass in the OAuth request parameter""" - oauth_type: OutputResponseAuthenticationMethodAzureDataExplorer - r"""The type of OAuth 2.0 client credentials grant flow to use""" - compress: CompressionOptionsHTTP - r"""Data compression format to apply to HTTP content before it is delivered""" - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - validate_database_settings: NotRequired[bool] - r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" - ingest_mode: NotRequired[OutputResponseIngestionMode] - description: NotRequired[str] - client_secret: NotRequired[str] - r"""The client secret that you generated for your app in the Azure portal""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - certificate: NotRequired[OutputResponseCertificateTypedDict] - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - is_mapping_obj: NotRequired[bool] - r"""Send a JSON mapping object instead of specifying an existing named data mapping""" - mapping_obj: NotRequired[str] - r"""Enter a JSON object that defines your desired data mapping""" - mapping_ref: NotRequired[str] - r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" - ingest_url: NotRequired[str] - r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_immediately: NotRequired[bool] - r"""Bypass the data management service's aggregation mechanism""" - retain_blob_on_success: NotRequired[bool] - r"""Prevent blob deletion after ingestion is complete""" - extent_tags: NotRequired[List[OutputResponseExtentTagTypedDict]] - r"""Strings or tags associated with the extent (ingested data shard)""" - ingest_if_not_exists: NotRequired[List[OutputResponseIngestIfNotExistTypedDict]] - r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" - report_level: NotRequired[OutputResponseReportLevel] - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - report_method: NotRequired[OutputResponseReportMethod] - r"""Target of the ingestion status reporting. Defaults to Queue.""" - additional_properties: NotRequired[List[OutputResponseAdditionalPropertyTypedDict]] - r"""Optionally, enter additional configuration properties to send to the ingestion service""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" +class OutputResponsePqControlsKinesisTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsKinesis(BaseModel): + pass + + +class OutputResponseOutputKinesisTypedDict(TypedDict): + type: OutputResponseTypeKinesis + stream_name: str + r"""Kinesis stream name to send events to.""" + region: str + r"""Region where the Kinesis stream is located""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret_key: NotRequired[str] + endpoint: NotRequired[str] + r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access Kinesis stream""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Maximum number of ongoing put requests before blocking.""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + compression: NotRequired[OutputResponseCompression] + r"""Compression type to use for records""" + use_list_shards: NotRequired[bool] + r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" + as_ndjson: NotRequired[bool] + r"""Batch events into a single record as NDJSON""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + max_events_per_flush: NotRequired[float] + r"""Maximum number of records to send in a single request""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -10715,80 +9942,39 @@ class OutputResponseOutputAzureDataExplorerTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsAzureDataExplorerTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsKinesisTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_cluster_url: NotRequired[str] - r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" - template_database: NotRequired[str] - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_table: NotRequired[str] - r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" - template_oauth_endpoint: NotRequired[str] - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - template_tenant_id: NotRequired[str] - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_scope: NotRequired[str] - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - template_client_secret: NotRequired[str] - r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_mapping_ref: NotRequired[str] - r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" - template_ingest_url: NotRequired[str] - r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" + template_stream_name: NotRequired[str] + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputAzureDataExplorer(BaseModel): - type: OutputResponseTypeAzureDataExplorer - - cluster_url: Annotated[str, pydantic.Field(alias="clusterUrl")] - r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" - - database: str - r"""Name of the database containing the table where data will be ingested""" - - table: str - r"""Name of the table to ingest data into""" - - oauth_endpoint: Annotated[ - MicrosoftEntraIDAuthenticationEndpointOptionsSasl, - pydantic.Field(alias="oauthEndpoint"), - ] - r"""Endpoint used to acquire authentication tokens from Azure""" - - tenant_id: Annotated[str, pydantic.Field(alias="tenantId")] - r"""Directory ID (tenant identifier) in Azure Active Directory""" - - client_id: Annotated[str, pydantic.Field(alias="clientId")] - r"""client_id to pass in the OAuth request parameter""" - - scope: str - r"""Scope to pass in the OAuth request parameter""" +class OutputResponseOutputKinesis(BaseModel): + type: OutputResponseTypeKinesis - oauth_type: Annotated[ - OutputResponseAuthenticationMethodAzureDataExplorer, - pydantic.Field(alias="oauthType"), - ] - r"""The type of OAuth 2.0 client credentials grant flow to use""" + stream_name: Annotated[str, pydantic.Field(alias="streamName")] + r"""Kinesis stream name to send events to.""" - compress: CompressionOptionsHTTP - r"""Data compression format to apply to HTTP content before it is delivered""" + region: str + r"""Region where the Kinesis stream is located""" id: Optional[str] = None r"""Unique ID for this output""" @@ -10807,229 +9993,519 @@ class OutputResponseOutputAzureDataExplorer(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - validate_database_settings: Annotated[ - Optional[bool], pydantic.Field(alias="validateDatabaseSettings") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" + r"""AWS authentication method. Choose Auto to use IAM roles.""" - ingest_mode: Annotated[ - Optional[OutputResponseIngestionMode], pydantic.Field(alias="ingestMode") - ] = None + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) - description: Optional[str] = None + endpoint: Optional[str] = None + r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint.""" - client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None - r"""The client secret that you generated for your app in the Azure portal""" + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - certificate: Optional[OutputResponseCertificate] = None + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access Kinesis stream""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( None ) - r"""Format of the output data""" + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + concurrency: Optional[float] = None + r"""Maximum number of ongoing put requests before blocking.""" + + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") + ] = None + r"""Maximum size (KB) of each individual record before compression. For uncompressed or non-compressible data 1MB is the max recommended size""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + + compression: Optional[OutputResponseCompression] = None + r"""Compression type to use for records""" + + use_list_shards: Annotated[ + Optional[bool], pydantic.Field(alias="useListShards") + ] = None + r"""Provides higher stream rate limits, improving delivery speed and reliability by minimizing throttling. See the [ListShards API](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) documentation for details.""" + + as_ndjson: Annotated[Optional[bool], pydantic.Field(alias="asNdjson")] = None + r"""Batch events into a single record as NDJSON""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + max_events_per_flush: Annotated[ + Optional[float], pydantic.Field(alias="maxEventsPerFlush") + ] = None + r"""Maximum number of records to send in a single request""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Compression level to apply before moving files to final destination""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Determines which data types are supported and how they are represented""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + r"""Codec to use to compress the persisted data""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + pq_controls: Annotated[ + Optional[OutputResponsePqControlsKinesis], pydantic.Field(alias="pqControls") ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") + template_stream_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamName") ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Remove empty staging directories after moving files""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" - is_mapping_obj: Annotated[Optional[bool], pydantic.Field(alias="isMappingObj")] = ( - None - ) - r"""Send a JSON mapping object instead of specifying an existing named data mapping""" + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsS3CollectorConf(value) + except ValueError: + return value + return value + + @field_serializer("compression") + def serialize_compression(self, value): + if isinstance(value, str): + try: + return models.OutputResponseCompression(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "awsAuthenticationMethod", + "awsSecretKey", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "concurrency", + "maxRecordSizeKB", + "flushPeriodSec", + "compression", + "useListShards", + "asNdjson", + "onBackpressure", + "description", + "awsApiKey", + "awsSecret", + "maxEventsPerFlush", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_streamName", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__template_onBackpressure", + "__template_awsApiKey", + "notifications", + "status", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseTypeAzureLogs(str, Enum): + AZURE_LOGS = "azure_logs" + + +class OutputResponseAuthenticationMethodAzureLogs( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Enter workspace ID and workspace key directly, or select a stored secret""" + + MANUAL = "manual" + SECRET = "secret" + + +class OutputResponsePqControlsAzureLogsTypedDict(TypedDict): + pass - mapping_obj: Annotated[Optional[str], pydantic.Field(alias="mappingObj")] = None - r"""Enter a JSON object that defines your desired data mapping""" - mapping_ref: Annotated[Optional[str], pydantic.Field(alias="mappingRef")] = None - r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" +class OutputResponsePqControlsAzureLogs(BaseModel): + pass - ingest_url: Annotated[Optional[str], pydantic.Field(alias="ingestUrl")] = None - r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None +class OutputResponseOutputAzureLogsTypedDict(TypedDict): + type: OutputResponseTypeAzureLogs + log_type: str + r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + resource_id: NotRequired[str] + r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + api_url: NotRequired[str] + r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[OutputResponseAuthenticationMethodAzureLogs] + r"""Enter workspace ID and workspace key directly, or select a stored secret""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[OutputResponsePqControlsAzureLogsTypedDict] + workspace_id: NotRequired[str] + r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" + workspace_key: NotRequired[str] + r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" + keypair_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_workspace_id: NotRequired[str] + r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" + template_workspace_key: NotRequired[str] + r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" +class OutputResponseOutputAzureLogs(BaseModel): + type: OutputResponseTypeAzureLogs - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + log_type: Annotated[str, pydantic.Field(alias="logType")] + r"""The Log Type of events sent to this LogAnalytics workspace. Defaults to `Cribl`. Use only letters, numbers, and `_` characters, and can't exceed 100 characters. Can be overwritten by event field __logType.""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") - ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + id: Optional[str] = None + r"""Unique ID for this output""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None - r"""Maximum number of parts to upload in parallel per file""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), - ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + resource_id: Annotated[Optional[str], pydantic.Field(alias="resourceId")] = None + r"""Optional Resource ID of the Azure resource to associate the data with. Can be overridden by the __resourceId event field. This ID populates the _ResourceId property, allowing the data to be included in resource-centric queries. If the ID is neither specified nor overridden, resource-centric queries will omit the data.""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Add the Output ID value to staging location""" + r"""Maximum size, in KB, of the request body""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - orphans: Optional[OrphanFileRecoveryType] = None + compress: Optional[bool] = None + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_immediately: Annotated[ - Optional[bool], pydantic.Field(alias="flushImmediately") - ] = None - r"""Bypass the data management service's aggregation mechanism""" - - retain_blob_on_success: Annotated[ - Optional[bool], pydantic.Field(alias="retainBlobOnSuccess") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Prevent blob deletion after ingestion is complete""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extent_tags: Annotated[ - Optional[List[OutputResponseExtentTag]], pydantic.Field(alias="extentTags") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Strings or tags associated with the extent (ingested data shard)""" + r"""Headers to add to all events""" - ingest_if_not_exists: Annotated[ - Optional[List[OutputResponseIngestIfNotExist]], - pydantic.Field(alias="ingestIfNotExists"), + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - report_level: Annotated[ - Optional[OutputResponseReportLevel], pydantic.Field(alias="reportLevel") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - report_method: Annotated[ - Optional[OutputResponseReportMethod], pydantic.Field(alias="reportMethod") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Target of the ingestion status reporting. Defaults to Queue.""" + r"""List of headers that are safe to log in plain text""" - additional_properties: Annotated[ - Optional[List[OutputResponseAdditionalProperty]], - pydantic.Field(alias="additionalProperties"), - ] = None - r"""Optionally, enter additional configuration properties to send to the ingestion service""" + api_url: Annotated[Optional[str], pydantic.Field(alias="apiUrl")] = None + r"""The DNS name of the Log API endpoint that sends log data to a Log Analytics workspace in Azure Monitor. Defaults to .ods.opinsights.azure.com. @{product} will add a prefix and suffix to construct a URI in this format: /api/logs?api-version=.""" response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], @@ -11046,39 +10522,19 @@ class OutputResponseOutputAzureDataExplorer(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""How to handle events when all receivers are exerting backpressure""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + auth_type: Annotated[ + Optional[OutputResponseAuthenticationMethodAzureLogs], + pydantic.Field(alias="authType"), ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Enter workspace ID and workspace key directly, or select a stored secret""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -11130,89 +10586,44 @@ class OutputResponseOutputAzureDataExplorer(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsAzureDataExplorer], - pydantic.Field(alias="pqControls"), - ] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_cluster_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_clusterUrl") - ] = None - r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" - - template_database: Annotated[ - Optional[str], pydantic.Field(alias="__template_database") - ] = None - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - - template_table: Annotated[ - Optional[str], pydantic.Field(alias="__template_table") - ] = None - r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" - - template_oauth_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_oauthEndpoint") - ] = None - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - - template_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") - ] = None - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") - ] = None - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") - ] = None - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - - template_client_secret: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientSecret") + Optional[OutputResponsePqControlsAzureLogs], pydantic.Field(alias="pqControls") ] = None - r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + workspace_id: Annotated[Optional[str], pydantic.Field(alias="workspaceId")] = None + r"""Azure Log Analytics Workspace ID. See Azure Dashboard Workspace > Advanced settings.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + workspace_key: Annotated[Optional[str], pydantic.Field(alias="workspaceKey")] = None + r"""Azure Log Analytics Workspace Primary or Secondary Shared Key. See Azure Dashboard Workspace > Advanced settings.""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") - ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + keypair_secret: Annotated[Optional[str], pydantic.Field(alias="keypairSecret")] = ( + None + ) + r"""Select or create a stored secret that references your access key and secret key""" - template_mapping_ref: Annotated[ - Optional[str], pydantic.Field(alias="__template_mappingRef") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_ingest_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_ingestUrl") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + template_workspace_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_workspaceId") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Binds 'workspaceId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceId' at runtime.""" + + template_workspace_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_workspaceKey") + ] = None + r"""Binds 'workspaceKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'workspaceKey' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -11220,74 +10631,11 @@ class OutputResponseOutputAzureDataExplorer(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("ingest_mode") - def serialize_ingest_mode(self, value): - if isinstance(value, str): - try: - return models.OutputResponseIngestionMode(value) - except ValueError: - return value - return value - - @field_serializer("oauth_endpoint") - def serialize_oauth_endpoint(self, value): - if isinstance(value, str): - try: - return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) - except ValueError: - return value - return value - - @field_serializer("oauth_type") - def serialize_oauth_type(self, value): - if isinstance(value, str): - try: - return models.OutputResponseAuthenticationMethodAzureDataExplorer(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsHTTP(value) - except ValueError: - return value - return value - - @field_serializer("compression_level") - def serialize_compression_level(self, value): - if isinstance(value, str): - try: - return models.CompressionLevelOptions(value) - except ValueError: - return value - return value - - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): - if isinstance(value, str): - try: - return models.ParquetVersionOptions(value) - except ValueError: - return value - return value - - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value @@ -11301,29 +10649,11 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): - if isinstance(value, str): - try: - return models.DiskSpaceProtectionOptions(value) - except ValueError: - return value - return value - - @field_serializer("report_level") - def serialize_report_level(self, value): - if isinstance(value, str): - try: - return models.OutputResponseReportLevel(value) - except ValueError: - return value - return value - - @field_serializer("report_method") - def serialize_report_method(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.OutputResponseReportMethod(value) + return models.OutputResponseAuthenticationMethodAzureLogs(value) except ValueError: return value return value @@ -11364,65 +10694,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "validateDatabaseSettings", - "ingestMode", - "description", - "clientSecret", - "textSecret", - "certificate", - "format", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "removeEmptyDirs", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterEnabled", - "deadletterPath", - "maxRetryNum", - "isMappingObj", - "mappingObj", - "mappingRef", - "ingestUrl", - "onBackpressure", - "stagePath", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "maxConcurrentFileParts", - "onDiskFullBackpressure", - "addIdToStagePath", - "retrySettings", - "orphans", - "timeoutSec", - "flushImmediately", - "retainBlobOnSuccess", - "extentTags", - "ingestIfNotExists", - "reportLevel", - "reportMethod", - "additionalProperties", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "resourceId", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "flushPeriodSec", + "compress", "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", "useRoundRobinDns", - "keepAlive", + "failedRequestLoggingMode", + "safeHeaders", + "apiUrl", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "authType", + "description", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -11435,22 +10725,14 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "workspaceId", + "workspaceKey", + "keypairSecret", "__template_streamtags", - "__template_clusterUrl", - "__template_database", - "__template_table", - "__template_oauthEndpoint", - "__template_tenantId", - "__template_clientId", - "__template_scope", - "__template_clientSecret", - "__template_format", - "__template_compress", - "__template_parquetSchema", - "__template_mappingRef", - "__template_ingestUrl", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_fileNameSuffix", + "__template_workspaceId", + "__template_workspaceKey", "notifications", "status", ] @@ -11469,29 +10751,170 @@ def serialize_model(self, handler): return m -class OutputResponseTypeAzureBlob(str, Enum): - AZURE_BLOB = "azure_blob" +class OutputResponseTypeAzureDataExplorer(str, Enum): + AZURE_DATA_EXPLORER = "azure_data_explorer" -class OutputResponseBlobAccessTier(str, Enum, metaclass=utils.OpenEnumMeta): - # Default account access tier - INFERRED = "Inferred" - # Hot tier - HOT = "Hot" - # Cool tier - COOL = "Cool" - # Cold tier - COLD = "Cold" - # Archive tier - ARCHIVE = "Archive" +class OutputResponseIngestionMode(str, Enum, metaclass=utils.OpenEnumMeta): + # Batching + BATCHING = "batching" + # Streaming + STREAMING = "streaming" -class OutputResponseOutputAzureBlobTypedDict(TypedDict): - type: OutputResponseTypeAzureBlob - container_name: str - r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" - stage_path: str - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" +class OutputResponseAuthenticationMethodAzureDataExplorer( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""The type of OAuth 2.0 client credentials grant flow to use""" + + # Client secret + CLIENT_SECRET = "clientSecret" + # Client secret (text secret) + CLIENT_TEXT_SECRET = "clientTextSecret" + # Certificate + CERTIFICATE = "certificate" + + +class OutputResponseCertificateTypedDict(TypedDict): + certificate_name: NotRequired[str] + r"""The certificate you registered as credentials for your app in the Azure portal""" + + +class OutputResponseCertificate(BaseModel): + certificate_name: Annotated[ + Optional[str], pydantic.Field(alias="certificateName") + ] = None + r"""The certificate you registered as credentials for your app in the Azure portal""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["certificateName"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponsePrefixOptional(str, Enum, metaclass=utils.OpenEnumMeta): + # drop-by + DROP_BY = "dropBy" + # ingest-by + INGEST_BY = "ingestBy" + + +class OutputResponseExtentTagTypedDict(TypedDict): + value: str + prefix: NotRequired[OutputResponsePrefixOptional] + + +class OutputResponseExtentTag(BaseModel): + value: str + + prefix: Optional[OutputResponsePrefixOptional] = None + + @field_serializer("prefix") + def serialize_prefix(self, value): + if isinstance(value, str): + try: + return models.OutputResponsePrefixOptional(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["prefix"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseIngestIfNotExistTypedDict(TypedDict): + value: str + + +class OutputResponseIngestIfNotExist(BaseModel): + value: str + + +class OutputResponseReportLevel(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + + # FailuresOnly + FAILURES_ONLY = "failuresOnly" + # DoNotReport + DO_NOT_REPORT = "doNotReport" + # FailuresAndSuccesses + FAILURES_AND_SUCCESSES = "failuresAndSuccesses" + + +class OutputResponseReportMethod(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Target of the ingestion status reporting. Defaults to Queue.""" + + # Queue + QUEUE = "queue" + # Table + TABLE = "table" + # QueueAndTable + QUEUE_AND_TABLE = "queueAndTable" + + +class OutputResponseAdditionalPropertyTypedDict(TypedDict): + key: str + value: str + + +class OutputResponseAdditionalProperty(BaseModel): + key: str + + value: str + + +class OutputResponsePqControlsAzureDataExplorerTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsAzureDataExplorer(BaseModel): + pass + + +class OutputResponseOutputAzureDataExplorerTypedDict(TypedDict): + type: OutputResponseTypeAzureDataExplorer + cluster_url: str + r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" + database: str + r"""Name of the database containing the table where data will be ingested""" + table: str + r"""Name of the table to ingest data into""" + oauth_endpoint: MicrosoftEntraIDAuthenticationEndpointOptionsSasl + r"""Endpoint used to acquire authentication tokens from Azure""" + tenant_id: str + r"""Directory ID (tenant identifier) in Azure Active Directory""" + client_id: str + r"""client_id to pass in the OAuth request parameter""" + scope: str + r"""Scope to pass in the OAuth request parameter""" + oauth_type: OutputResponseAuthenticationMethodAzureDataExplorer + r"""The type of OAuth 2.0 client credentials grant flow to use""" + compress: CompressionOptionsHTTP + r"""Data compression format to apply to HTTP content before it is delivered""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -11502,51 +10925,18 @@ class OutputResponseOutputAzureBlobTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - create_container: NotRequired[bool] - r"""Create the configured container in Azure Blob Storage if it does not already exist""" - dest_path: NotRequired[str] - r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + validate_database_settings: NotRequired[bool] + r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" + ingest_mode: NotRequired[OutputResponseIngestionMode] + description: NotRequired[str] + r"""Optional description for this configuration.""" + client_secret: NotRequired[str] + r"""The client secret that you generated for your app in the Azure portal""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + certificate: NotRequired[OutputResponseCertificateTypedDict] format_: NotRequired[DataFormatOptions] r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - auth_type: NotRequired[AuthenticationMethodOptions] - storage_class: NotRequired[OutputResponseBlobAccessTier] - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] r"""Compression level to apply before moving files to final destination""" automatic_schema: NotRequired[bool] @@ -11571,75 +10961,184 @@ class OutputResponseOutputAzureBlobTypedDict(TypedDict): r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" directory_batch_size: NotRequired[float] r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" deadletter_path: NotRequired[str] r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" max_retry_num: NotRequired[float] r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - connection_string: NotRequired[str] - r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - storage_account_name: NotRequired[str] - r"""The name of your Azure storage account""" - tenant_id: NotRequired[str] - r"""The service principal's tenant ID""" - client_id: NotRequired[str] - r"""The service principal's client ID""" - azure_cloud: NotRequired[str] - r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" - endpoint_suffix: NotRequired[str] - r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" - client_text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - certificate: NotRequired[CertificateTypeAzureBlobAuthTypeClientCertTypedDict] + is_mapping_obj: NotRequired[bool] + r"""Send a JSON mapping object instead of specifying an existing named data mapping""" + mapping_obj: NotRequired[str] + r"""Enter a JSON object that defines your desired data mapping""" + mapping_ref: NotRequired[str] + r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" + ingest_url: NotRequired[str] + r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_immediately: NotRequired[bool] + r"""Bypass the data management service's aggregation mechanism""" + retain_blob_on_success: NotRequired[bool] + r"""Prevent blob deletion after ingestion is complete""" + extent_tags: NotRequired[List[OutputResponseExtentTagTypedDict]] + r"""Strings or tags associated with the extent (ingested data shard)""" + ingest_if_not_exists: NotRequired[List[OutputResponseIngestIfNotExistTypedDict]] + r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" + report_level: NotRequired[OutputResponseReportLevel] + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" + report_method: NotRequired[OutputResponseReportMethod] + r"""Target of the ingestion status reporting. Defaults to Queue.""" + additional_properties: NotRequired[List[OutputResponseAdditionalPropertyTypedDict]] + r"""Optionally, enter additional configuration properties to send to the ingestion service""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[OutputResponsePqControlsAzureDataExplorerTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_container_name: NotRequired[str] - r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_cluster_url: NotRequired[str] + r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" + template_database: NotRequired[str] + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" + template_table: NotRequired[str] + r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" + template_oauth_endpoint: NotRequired[str] + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" + template_tenant_id: NotRequired[str] + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + template_scope: NotRequired[str] + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + template_client_secret: NotRequired[str] + r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_connection_string: NotRequired[str] - r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" - template_storage_account_name: NotRequired[str] - r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" - template_tenant_id: NotRequired[str] - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_azure_cloud: NotRequired[str] - r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" + template_mapping_ref: NotRequired[str] + r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" + template_ingest_url: NotRequired[str] + r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputAzureBlob(BaseModel): - type: OutputResponseTypeAzureBlob +class OutputResponseOutputAzureDataExplorer(BaseModel): + type: OutputResponseTypeAzureDataExplorer - container_name: Annotated[str, pydantic.Field(alias="containerName")] - r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" + cluster_url: Annotated[str, pydantic.Field(alias="clusterUrl")] + r"""The base URI for your cluster. Typically, `https://..kusto.windows.net`.""" - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" + database: str + r"""Name of the database containing the table where data will be ingested""" + + table: str + r"""Name of the table to ingest data into""" + + oauth_endpoint: Annotated[ + MicrosoftEntraIDAuthenticationEndpointOptionsSasl, + pydantic.Field(alias="oauthEndpoint"), + ] + r"""Endpoint used to acquire authentication tokens from Azure""" + + tenant_id: Annotated[str, pydantic.Field(alias="tenantId")] + r"""Directory ID (tenant identifier) in Azure Active Directory""" + + client_id: Annotated[str, pydantic.Field(alias="clientId")] + r"""client_id to pass in the OAuth request parameter""" + + scope: str + r"""Scope to pass in the OAuth request parameter""" + + oauth_type: Annotated[ + OutputResponseAuthenticationMethodAzureDataExplorer, + pydantic.Field(alias="oauthType"), + ] + r"""The type of OAuth 2.0 client credentials grant flow to use""" + + compress: CompressionOptionsHTTP + r"""Data compression format to apply to HTTP content before it is delivered""" id: Optional[str] = None r"""Unique ID for this output""" @@ -11652,49 +11151,149 @@ class OutputResponseOutputAzureBlob(BaseModel): ] = None r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + validate_database_settings: Annotated[ + Optional[bool], pydantic.Field(alias="validateDatabaseSettings") + ] = None + r"""When saving or starting the Destination, validate the database name and credentials; also validate table name, except when creating a new table. Disable if your Azure app does not have both the Database Viewer and the Table Viewer role.""" + + ingest_mode: Annotated[ + Optional[OutputResponseIngestionMode], pydantic.Field(alias="ingestMode") + ] = None + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None + r"""The client secret that you generated for your app in the Azure portal""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + certificate: Optional[OutputResponseCertificate] = None + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" + + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + ] = None + r"""Determines which data types are supported and how they are represented""" + + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + ] = None + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + ] = None + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - create_container: Annotated[ - Optional[bool], pydantic.Field(alias="createContainer") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""Create the configured container in Azure Blob Storage if it does not already exist""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Add the Output ID value to staging location""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""Maximum number of parts to upload in parallel per file""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" remove_empty_dirs: Annotated[ Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None r"""Remove empty staging directories after moving files""" - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + ] = None + r"""How frequently, in seconds, to clean up empty directories""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") + ] = None + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") + ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( None ) - r"""Format of the output data""" + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + is_mapping_obj: Annotated[Optional[bool], pydantic.Field(alias="isMappingObj")] = ( None ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + r"""Send a JSON mapping object instead of specifying an existing named data mapping""" + + mapping_obj: Annotated[Optional[str], pydantic.Field(alias="mappingObj")] = None + r"""Enter a JSON object that defines your desired data mapping""" + + mapping_ref: Annotated[Optional[str], pydantic.Field(alias="mappingRef")] = None + r"""Enter the name of a data mapping associated with your target table. Or, if incoming event and target table fields match exactly, you can leave the field empty.""" + + ingest_url: Annotated[Optional[str], pydantic.Field(alias="ingestUrl")] = None + r"""The ingestion service URI for your cluster. Typically, `https://ingest-..kusto.windows.net`.""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" file_name_suffix: Annotated[ Optional[str], pydantic.Field(alias="fileNameSuffix") @@ -11721,24 +11320,10 @@ class OutputResponseOutputAzureBlob(BaseModel): ) r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" - - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") - ] = None - r"""Buffer size used to write to a file""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Maximum number of parts to upload in parallel per file""" on_disk_full_backpressure: Annotated[ Optional[DiskSpaceProtectionOptions], @@ -11746,10 +11331,10 @@ class OutputResponseOutputAzureBlob(BaseModel): ] = None r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + r"""Add the Output ID value to staging location""" retry_settings: Annotated[ Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") @@ -11757,173 +11342,198 @@ class OutputResponseOutputAzureBlob(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - auth_type: Annotated[ - Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") - ] = None + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - storage_class: Annotated[ - Optional[OutputResponseBlobAccessTier], pydantic.Field(alias="storageClass") + flush_immediately: Annotated[ + Optional[bool], pydantic.Field(alias="flushImmediately") ] = None + r"""Bypass the data management service's aggregation mechanism""" - description: Optional[str] = None - - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + retain_blob_on_success: Annotated[ + Optional[bool], pydantic.Field(alias="retainBlobOnSuccess") + ] = None + r"""Prevent blob deletion after ingestion is complete""" - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + extent_tags: Annotated[ + Optional[List[OutputResponseExtentTag]], pydantic.Field(alias="extentTags") ] = None - r"""Compression level to apply before moving files to final destination""" + r"""Strings or tags associated with the extent (ingested data shard)""" - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") + ingest_if_not_exists: Annotated[ + Optional[List[OutputResponseIngestIfNotExist]], + pydantic.Field(alias="ingestIfNotExists"), ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + r"""Prevents duplicate ingestion by verifying whether an extent with the specified ingest-by tag already exists""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + report_level: Annotated[ + Optional[OutputResponseReportLevel], pydantic.Field(alias="reportLevel") + ] = None + r"""Level of ingestion status reporting. Defaults to FailuresOnly.""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") + report_method: Annotated[ + Optional[OutputResponseReportMethod], pydantic.Field(alias="reportMethod") ] = None - r"""Determines which data types are supported and how they are represented""" + r"""Target of the ingestion status reporting. Defaults to Queue.""" - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + additional_properties: Annotated[ + Optional[List[OutputResponseAdditionalProperty]], + pydantic.Field(alias="additionalProperties"), ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + r"""Optionally, enter additional configuration properties to send to the ingestion service""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + r"""Maximum size, in KB, of the request body""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - connection_string: Annotated[ - Optional[str], pydantic.Field(alias="connectionString") + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - storage_account_name: Annotated[ - Optional[str], pydantic.Field(alias="storageAccountName") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""The name of your Azure storage account""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None - r"""The service principal's tenant ID""" + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None - r"""The service principal's client ID""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - azure_cloud: Annotated[Optional[str], pydantic.Field(alias="azureCloud")] = None - r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" - endpoint_suffix: Annotated[ - Optional[str], pydantic.Field(alias="endpointSuffix") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - client_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="clientTextSecret") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""Select or create a stored text secret""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = None + pq_controls: Annotated[ + Optional[OutputResponsePqControlsAzureDataExplorer], + pydantic.Field(alias="pqControls"), + ] = None template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_container_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_containerName") + template_cluster_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_clusterUrl") ] = None - r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" + r"""Binds 'clusterUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clusterUrl' at runtime.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") + template_database: Annotated[ + Optional[str], pydantic.Field(alias="__template_database") ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") + template_table: Annotated[ + Optional[str], pydantic.Field(alias="__template_table") ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + r"""Binds 'table' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'table' at runtime.""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + template_oauth_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_oauthEndpoint") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + template_tenant_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tenantId") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientId") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_scope: Annotated[ + Optional[str], pydantic.Field(alias="__template_scope") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + + template_client_secret: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientSecret") + ] = None + r"""Binds 'clientSecret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientSecret' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -11935,30 +11545,25 @@ class OutputResponseOutputAzureBlob(BaseModel): ] = None r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_connection_string: Annotated[ - Optional[str], pydantic.Field(alias="__template_connectionString") - ] = None - r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" - - template_storage_account_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageAccountName") + template_mapping_ref: Annotated[ + Optional[str], pydantic.Field(alias="__template_mappingRef") ] = None - r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" + r"""Binds 'mappingRef' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mappingRef' at runtime.""" - template_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") + template_ingest_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_ingestUrl") ] = None - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + r"""Binds 'ingestUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'ingestUrl' at runtime.""" - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_azure_cloud: Annotated[ - Optional[str], pydantic.Field(alias="__template_azureCloud") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -11966,47 +11571,38 @@ class OutputResponseOutputAzureBlob(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("ingest_mode") + def serialize_ingest_mode(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.OutputResponseIngestionMode(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("oauth_endpoint") + def serialize_oauth_endpoint(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("oauth_type") + def serialize_oauth_type(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptions(value) + return models.OutputResponseAuthenticationMethodAzureDataExplorer(value) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.OutputResponseBlobAccessTier(value) + return models.DataFormatOptions(value) except ValueError: return value return value @@ -12047,6 +11643,69 @@ def serialize_parquet_data_page_version(self, value): return value return value + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): + if isinstance(value, str): + try: + return models.DiskSpaceProtectionOptions(value) + except ValueError: + return value + return value + + @field_serializer("report_level") + def serialize_report_level(self, value): + if isinstance(value, str): + try: + return models.OutputResponseReportLevel(value) + except ValueError: + return value + return value + + @field_serializer("report_method") + def serialize_report_method(self, value): + if isinstance(value, str): + try: + return models.OutputResponseReportMethod(value) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -12056,31 +11715,13 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "createContainer", - "destPath", - "addIdToStagePath", - "maxConcurrentFileParts", - "removeEmptyDirs", - "partitionExpr", - "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "authType", - "storageClass", + "validateDatabaseSettings", + "ingestMode", "description", - "compress", + "clientSecret", + "textSecret", + "certificate", + "format", "compressionLevel", "automaticSchema", "parquetSchema", @@ -12093,34 +11734,74 @@ def serialize_model(self, handler): "enableStatistics", "enableWritePageIndex", "enablePageChecksum", + "removeEmptyDirs", "emptyDirCleanupSec", "directoryBatchSize", + "deadletterEnabled", "deadletterPath", "maxRetryNum", - "connectionString", - "textSecret", - "storageAccountName", - "tenantId", - "clientId", - "azureCloud", - "endpointSuffix", - "clientTextSecret", - "certificate", + "isMappingObj", + "mappingObj", + "mappingRef", + "ingestUrl", + "onBackpressure", + "stagePath", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "maxConcurrentFileParts", + "onDiskFullBackpressure", + "addIdToStagePath", + "retrySettings", + "orphans", + "timeoutSec", + "flushImmediately", + "retainBlobOnSuccess", + "extentTags", + "ingestIfNotExists", + "reportLevel", + "reportMethod", + "additionalProperties", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "flushPeriodSec", + "rejectUnauthorized", + "useRoundRobinDns", + "keepAlive", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_containerName", - "__template_destPath", - "__template_partitionExpr", + "__template_clusterUrl", + "__template_database", + "__template_table", + "__template_oauthEndpoint", + "__template_tenantId", + "__template_clientId", + "__template_scope", + "__template_clientSecret", "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", - "__template_onBackpressure", "__template_compress", "__template_parquetSchema", - "__template_connectionString", - "__template_storageAccountName", - "__template_tenantId", - "__template_clientId", - "__template_azureCloud", + "__template_mappingRef", + "__template_ingestUrl", + "__template_onBackpressure", + "__template_fileNameSuffix", "notifications", "status", ] @@ -12139,16 +11820,29 @@ def serialize_model(self, handler): return m -class OutputResponseTypeS3(str, Enum): - S3 = "s3" +class OutputResponseTypeAzureBlob(str, Enum): + AZURE_BLOB = "azure_blob" -class OutputResponseOutputS3TypedDict(TypedDict): - type: OutputResponseTypeS3 - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" +class OutputResponseBlobAccessTier(str, Enum, metaclass=utils.OpenEnumMeta): + # Default account access tier + INFERRED = "Inferred" + # Hot tier + HOT = "Hot" + # Cool tier + COOL = "Cool" + # Cold tier + COLD = "Cold" + # Archive tier + ARCHIVE = "Archive" + + +class OutputResponseOutputAzureBlobTypedDict(TypedDict): + type: OutputResponseTypeAzureBlob + container_name: str + r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -12159,34 +11853,14 @@ class OutputResponseOutputS3TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - endpoint: NotRequired[str] - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access S3""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the S3 bucket is located""" + create_container: NotRequired[bool] + r"""Create the configured container in Azure Blob Storage if it does not already exist""" dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - max_closing_files_to_backpressure: NotRequired[float] - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" add_id_to_stage_path: NotRequired[bool] r"""Add the Output ID value to staging location""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file""" remove_empty_dirs: NotRequired[bool] r"""Remove empty staging directories after moving files""" partition_expr: NotRequired[str] @@ -12219,21 +11893,10 @@ class OutputResponseOutputS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptions] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: NotRequired[str] - r"""ID or ARN of the KMS customer-managed key to use for encryption""" + auth_type: NotRequired[AuthenticationMethodOptions] + storage_class: NotRequired[OutputResponseBlobAccessTier] description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -12268,18 +11931,27 @@ class OutputResponseOutputS3TypedDict(TypedDict): r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" max_retry_num: NotRequired[float] r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + connection_string: NotRequired[str] + r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + storage_account_name: NotRequired[str] + r"""The name of your Azure storage account""" + tenant_id: NotRequired[str] + r"""The service principal's tenant ID""" + client_id: NotRequired[str] + r"""The service principal's client ID""" + azure_cloud: NotRequired[str] + r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" + endpoint_suffix: NotRequired[str] + r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" + client_text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + certificate: NotRequired[CertificateTypeAzureBlobAuthTypeClientCertTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_container_name: NotRequired[str] + r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -12292,119 +11964,70 @@ class OutputResponseOutputS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_kms_key_id: NotRequired[str] - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + template_connection_string: NotRequired[str] + r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" + template_storage_account_name: NotRequired[str] + r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" + template_tenant_id: NotRequired[str] + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + template_azure_cloud: NotRequired[str] + r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputS3(BaseModel): - type: OutputResponseTypeS3 +class OutputResponseOutputAzureBlob(BaseModel): + type: OutputResponseTypeAzureBlob - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + container_name: Annotated[str, pydantic.Field(alias="containerName")] + r"""The Azure Blob Storage container name. Name can include only lowercase letters, numbers, and hyphens. For dynamic container names, enter a JavaScript expression within quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myContainer-${C.env[\"CRIBL_WORKER_ID\"]}`.""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - - id: Optional[str] = None - r"""Unique ID for this output""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - endpoint: Optional[str] = None - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" - - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") - ] = None - r"""Use Assume Role credentials to access S3""" - - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" - - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" - - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") - ] = None - 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).""" - - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None - r"""Reuse connections between requests, which can improve performance""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant and stable storage.""" - region: Optional[str] = None - r"""Region where the S3 bucket is located""" + id: Optional[str] = None + r"""Unique ID for this output""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") - ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + create_container: Annotated[ + Optional[bool], pydantic.Field(alias="createContainer") ] = None - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + r"""Create the configured container in Azure Blob Storage if it does not already exist""" + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Root directory prepended to path before uploading. Value can be a JavaScript expression enclosed in quotes or backticks, to be evaluated at initialization. The expression can evaluate to a constant value and can reference Global Variables, such as `myBlobPrefix-${C.env[\"CRIBL_WORKER_ID\"]}`.""" add_id_to_stage_path: Annotated[ Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None r"""Add the Output ID value to staging location""" + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file""" + remove_empty_dirs: Annotated[ Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None @@ -12486,37 +12109,16 @@ class OutputResponseOutputS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + auth_type: Annotated[ + Optional[AuthenticationMethodOptions], pydantic.Field(alias="authType") ] = None - r"""Object ACL to assign to uploaded objects""" storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") - ] = None - r"""Storage class to select for uploaded objects""" - - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), + Optional[OutputResponseBlobAccessTier], pydantic.Field(alias="storageClass") ] = None - r"""Server-side encryption to use for uploaded objects""" - - kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None - r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" @@ -12602,35 +12204,49 @@ class OutputResponseOutputS3(BaseModel): ) r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + connection_string: Annotated[ + Optional[str], pydantic.Field(alias="connectionString") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Enter your Azure Storage account connection string. If left blank, Stream will fall back to env.AZURE_STORAGE_CONNECTION_STRING.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + storage_account_name: Annotated[ + Optional[str], pydantic.Field(alias="storageAccountName") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""The name of your Azure storage account""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None + r"""The service principal's tenant ID""" + + client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None + r"""The service principal's client ID""" + + azure_cloud: Annotated[Optional[str], pydantic.Field(alias="azureCloud")] = None + r"""The Azure cloud to use. Defaults to Azure Public Cloud.""" + + endpoint_suffix: Annotated[ + Optional[str], pydantic.Field(alias="endpointSuffix") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Endpoint suffix for the service URL. Takes precedence over the Azure Cloud setting. Defaults to core.windows.net.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + client_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="clientTextSecret") ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + r"""Select or create a stored text secret""" - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") + certificate: Optional[CertificateTypeAzureBlobAuthTypeClientCert] = None + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_container_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_containerName") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'containerName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'containerName' at runtime.""" template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") @@ -12662,45 +12278,40 @@ class OutputResponseOutputS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + template_connection_string: Annotated[ + Optional[str], pydantic.Field(alias="__template_connectionString") ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + r"""Binds 'connectionString' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'connectionString' at runtime.""" - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_storage_account_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageAccountName") ] = None - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + r"""Binds 'storageAccountName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageAccountName' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + template_tenant_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tenantId") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientId") ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + template_azure_cloud: Annotated[ + Optional[str], pydantic.Field(alias="__template_azureCloud") ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + r"""Binds 'azureCloud' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'azureCloud' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -12708,15 +12319,6 @@ class OutputResponseOutputS3(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value - @field_serializer("format_") def serialize_format_(self, value): if isinstance(value, str): @@ -12744,11 +12346,11 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.ObjectACLOptions(value) + return models.AuthenticationMethodOptions(value) except ValueError: return value return value @@ -12757,16 +12359,7 @@ def serialize_object_acl(self, value): def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.StorageClassOptions(value) - except ValueError: - return value - return value - - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptions(value) + return models.OutputResponseBlobAccessTier(value) except ValueError: return value return value @@ -12816,20 +12409,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "region", + "createContainer", "destPath", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", "addIdToStagePath", + "maxConcurrentFileParts", "removeEmptyDirs", "partitionExpr", "format", @@ -12847,14 +12430,9 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "objectACL", + "authType", "storageClass", - "serverSideEncryption", - "kmsKeyId", "description", - "awsApiKey", - "awsSecret", "compress", "compressionLevel", "automaticSchema", @@ -12872,26 +12450,30 @@ def serialize_model(self, handler): "directoryBatchSize", "deadletterPath", "maxRetryNum", + "connectionString", + "textSecret", + "storageAccountName", + "tenantId", + "clientId", + "azureCloud", + "endpointSuffix", + "clientTextSecret", + "certificate", "__template_streamtags", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_bucket", - "__template_region", + "__template_containerName", "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", - "__template_awsApiKey", "__template_compress", "__template_parquetSchema", + "__template_connectionString", + "__template_storageAccountName", + "__template_tenantId", + "__template_clientId", + "__template_azureCloud", "notifications", "status", ] @@ -12910,14 +12492,16 @@ def serialize_model(self, handler): return m -class OutputResponseTypeFilesystem(str, Enum): - FILESYSTEM = "filesystem" +class OutputResponseTypeS3(str, Enum): + S3 = "s3" -class OutputResponseOutputFilesystemTypedDict(TypedDict): - type: OutputResponseTypeFilesystem - dest_path: str - r"""Final destination for the output files""" +class OutputResponseOutputS3TypedDict(TypedDict): + type: OutputResponseTypeS3 + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -12928,8 +12512,32 @@ class OutputResponseOutputFilesystemTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: NotRequired[str] + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access S3""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the S3 bucket is located""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" add_id_to_stage_path: NotRequired[bool] r"""Add the Output ID value to staging location""" remove_empty_dirs: NotRequired[bool] @@ -12964,7 +12572,22 @@ class OutputResponseOutputFilesystemTypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptions] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: NotRequired[str] + r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] r"""Data compression format to apply to HTTP content before it is delivered""" compression_level: NotRequired[CompressionLevelOptions] @@ -13001,6 +12624,18 @@ class OutputResponseOutputFilesystemTypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] @@ -13011,6 +12646,18 @@ class OutputResponseOutputFilesystemTypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_kms_key_id: NotRequired[str] + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] @@ -13021,11 +12668,14 @@ class OutputResponseOutputFilesystemTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputFilesystem(BaseModel): - type: OutputResponseTypeFilesystem +class OutputResponseOutputS3(BaseModel): + type: OutputResponseTypeS3 - dest_path: Annotated[str, pydantic.Field(alias="destPath")] - r"""Final destination for the output files""" + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -13044,8 +12694,65 @@ class OutputResponseOutputFilesystem(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: Optional[str] = None + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access S3""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + region: Optional[str] = None + r"""Region where the S3 bucket is located""" + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" + + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + ] = None + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" add_id_to_stage_path: Annotated[ Optional[bool], pydantic.Field(alias="addIdToStagePath") @@ -13133,7 +12840,38 @@ class OutputResponseOutputFilesystem(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" + + storage_class: Annotated[ + Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + ] = None + r"""Storage class to select for uploaded objects""" + + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptions], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" + + kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None + r"""ID or ARN of the KMS customer-managed key to use for encryption""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" compress: Optional[CompressionOptionsHTTP] = None r"""Data compression format to apply to HTTP content before it is delivered""" @@ -13224,6 +12962,36 @@ class OutputResponseOutputFilesystem(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") + ] = None + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") + ] = None + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: Annotated[ Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None @@ -13249,6 +13017,36 @@ class OutputResponseOutputFilesystem(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") + ] = None + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + + template_kms_key_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_kmsKeyId") + ] = None + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") ] = None @@ -13265,6 +13063,15 @@ class OutputResponseOutputFilesystem(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsS3CollectorConf(value) + except ValueError: + return value + return value + @field_serializer("format_") def serialize_format_(self, value): if isinstance(value, str): @@ -13292,6 +13099,33 @@ def serialize_on_disk_full_backpressure(self, value): return value return value + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptions(value) + except ValueError: + return value + return value + + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.StorageClassOptions(value) + except ValueError: + return value + return value + + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): + if isinstance(value, str): + try: + return models.ServerSideEncryptionForUploadedObjectsOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -13337,7 +13171,19 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "stagePath", + "endpoint", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "awsAuthenticationMethod", + "reuseConnections", + "rejectUnauthorized", + "region", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", "addIdToStagePath", "removeEmptyDirs", "partitionExpr", @@ -13356,7 +13202,14 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", "description", + "awsApiKey", + "awsSecret", "compress", "compressionLevel", "automaticSchema", @@ -13375,11 +13228,23 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__template_bucket", + "__template_region", + "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", + "__template_awsSecretKey", + "__template_objectACL", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", + "__template_awsApiKey", "__template_compress", "__template_parquetSchema", "notifications", @@ -13400,22 +13265,14 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSignalfx(str, Enum): - SIGNALFX = "signalfx" - - -class OutputResponsePqControlsSignalfxTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsSignalfx(BaseModel): - pass +class OutputResponseTypeFilesystem(str, Enum): + FILESYSTEM = "filesystem" -class OutputResponseOutputSignalfxTypedDict(TypedDict): - type: OutputResponseTypeSignalfx - realm: str - r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" +class OutputResponseOutputFilesystemTypedDict(TypedDict): + type: OutputResponseTypeFilesystem + dest_path: str + r"""Final destination for the output files""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -13426,87 +13283,105 @@ class OutputResponseOutputSignalfxTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] - token: NotRequired[str] - r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSignalfxTypedDict] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSignalfx(BaseModel): - type: OutputResponseTypeSignalfx +class OutputResponseOutputFilesystem(BaseModel): + type: OutputResponseTypeFilesystem - realm: str - r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" + dest_path: Annotated[str, pydantic.Field(alias="destPath")] + r"""Final destination for the output files""" id: Optional[str] = None r"""Unique ID for this output""" @@ -13525,218 +13400,287 @@ class OutputResponseOutputSignalfx(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Add the Output ID value to staging location""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Remove empty staging directories after moving files""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""Headers to add to all events""" + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Buffer size used to write to a file""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None - r"""List of headers that are safe to log in plain text""" + r"""How to handle events when all receivers are exerting backpressure""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + + orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" - token: Optional[str] = None - r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Determines which data types are supported and how they are represented""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") + ] = None + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), + ] = None + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Codec to use to compress the persisted data""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_controls: Annotated[ - Optional[OutputResponsePqControlsSignalfx], pydantic.Field(alias="pqControls") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") + ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") + ] = None + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.DataFormatOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -13750,40 +13694,51 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "authType", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "stagePath", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", "description", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_failedRequestLoggingMode", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_compress", + "__template_parquetSchema", "notifications", "status", ] @@ -13802,22 +13757,22 @@ def serialize_model(self, handler): return m -class OutputResponseTypeWavefront(str, Enum): - WAVEFRONT = "wavefront" +class OutputResponseTypeSignalfx(str, Enum): + SIGNALFX = "signalfx" -class OutputResponsePqControlsWavefrontTypedDict(TypedDict): +class OutputResponsePqControlsSignalfxTypedDict(TypedDict): pass -class OutputResponsePqControlsWavefront(BaseModel): +class OutputResponsePqControlsSignalfx(BaseModel): pass -class OutputResponseOutputWavefrontTypedDict(TypedDict): - type: OutputResponseTypeWavefront - domain: str - r"""WaveFront domain name, e.g. \"longboard\" """ +class OutputResponseOutputSignalfxTypedDict(TypedDict): + type: OutputResponseTypeSignalfx + realm: str + r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -13865,8 +13820,9 @@ class OutputResponseOutputWavefrontTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] - r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" + r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] @@ -13891,7 +13847,7 @@ class OutputResponseOutputWavefrontTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsWavefrontTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsSignalfxTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -13904,11 +13860,11 @@ class OutputResponseOutputWavefrontTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputWavefront(BaseModel): - type: OutputResponseTypeWavefront +class OutputResponseOutputSignalfx(BaseModel): + type: OutputResponseTypeSignalfx - domain: str - r"""WaveFront domain name, e.g. \"longboard\" """ + realm: str + r"""SignalFx realm name, e.g. \"us0\". For a complete list of available SignalFx realm names, please check [here](https://docs.splunk.com/observability/en/get-started/service-description.html#sd-regions).""" id: Optional[str] = None r"""Unique ID for this output""" @@ -14008,9 +13964,10 @@ class OutputResponseOutputWavefront(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None - r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" + r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -14065,7 +14022,7 @@ class OutputResponseOutputWavefront(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsWavefront], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsSignalfx], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -14204,20 +14161,22 @@ def serialize_model(self, handler): return m -class OutputResponseTypeTcpjson(str, Enum): - TCPJSON = "tcpjson" +class OutputResponseTypeWavefront(str, Enum): + WAVEFRONT = "wavefront" -class OutputResponsePqControlsTcpjsonTypedDict(TypedDict): +class OutputResponsePqControlsWavefrontTypedDict(TypedDict): pass -class OutputResponsePqControlsTcpjson(BaseModel): +class OutputResponsePqControlsWavefront(BaseModel): pass -class OutputResponseOutputTcpjsonTypedDict(TypedDict): - type: OutputResponseTypeTcpjson +class OutputResponseOutputWavefrontTypedDict(TypedDict): + type: OutputResponseTypeWavefront + domain: str + r"""WaveFront domain name, e.g. \"longboard\" """ id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -14228,42 +14187,48 @@ class OutputResponseOutputTcpjsonTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Use load-balanced destinations""" - compression: NotRequired[CompressionOptionsGzipNone] - r"""Codec to use to compress the data before sending""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - token_ttl_minutes: NotRequired[float] - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - send_header: NotRequired[bool] - r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - host: NotRequired[str] - r"""The hostname of the receiver""" - port: NotRequired[float] - r"""The port to connect to on the provided host""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] - r"""Set of hosts to load-balance data to""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + r"""Optional description for this configuration.""" + token: NotRequired[str] + r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14286,27 +14251,24 @@ class OutputResponseOutputTcpjsonTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsTcpjsonTypedDict] - auth_token: NotRequired[str] - r"""Optional authentication token to include as part of the connection header""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[OutputResponsePqControlsWavefrontTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputTcpjson(BaseModel): - type: OutputResponseTypeTcpjson +class OutputResponseOutputWavefront(BaseModel): + type: OutputResponseTypeWavefront + + domain: str + r"""WaveFront domain name, e.g. \"longboard\" """ id: Optional[str] = None r"""Unique ID for this output""" @@ -14325,83 +14287,94 @@ class OutputResponseOutputTcpjson(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Use load-balanced destinations""" + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - compression: Optional[CompressionOptionsGzipNone] = None - r"""Codec to use to compress the data before sending""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Use to troubleshoot issues with sending data""" + r"""Maximum size, in KB, of the request body""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - token_ttl_minutes: Annotated[ - Optional[float], pydantic.Field(alias="tokenTTLMinutes") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - send_header: Annotated[Optional[bool], pydantic.Field(alias="sendHeader")] = None - r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - description: Optional[str] = None + r"""Optional description for this configuration.""" - host: Optional[str] = None - r"""The hostname of the receiver""" - - port: Optional[float] = None - r"""The port to connect to on the provided host""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - hosts: Optional[List[HostConfOutputSyslog]] = None - r"""Set of hosts to load-balance data to""" - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + token: Optional[str] = None + r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") - ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -14453,64 +14426,53 @@ class OutputResponseOutputTcpjson(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsTcpjson], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsWavefront], pydantic.Field(alias="pqControls") ] = None - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Optional authentication token to include as part of the connection header""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + ] = None + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipNone(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -14551,25 +14513,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", - "compression", - "logFailedRequests", - "throttleRatePerSec", - "tls", - "connectionTimeout", - "writeTimeout", - "tokenTTLMinutes", - "sendHeader", - "onBackpressure", "authType", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", "description", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14582,12 +14544,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "authToken", - "textSecret", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_host", - "__template_port", "notifications", "status", ] @@ -14606,27 +14565,20 @@ def serialize_model(self, handler): return m -class OutputResponseTypeWizHec(str, Enum): - WIZ_HEC = "wiz_hec" +class OutputResponseTypeTcpjson(str, Enum): + TCPJSON = "tcpjson" -class OutputResponsePqControlsWizHecTypedDict(TypedDict): +class OutputResponsePqControlsTcpjsonTypedDict(TypedDict): pass -class OutputResponsePqControlsWizHec(BaseModel): +class OutputResponsePqControlsTcpjson(BaseModel): pass -class OutputResponseOutputWizHecTypedDict(TypedDict): - type: OutputResponseTypeWizHec - wiz_connector_id: str - r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" - wiz_environment: str - r"""Your Wiz deployment environment.""" - data_center: str - r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" - wiz_sourcetype: str +class OutputResponseOutputTcpjsonTypedDict(TypedDict): + type: OutputResponseTypeTcpjson id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -14637,46 +14589,43 @@ class OutputResponseOutputWizHecTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - next_queue: NotRequired[str] - r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" - tcp_routing: NotRequired[str] - r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + load_balanced: NotRequired[bool] + r"""Use load-balanced destinations""" + compression: NotRequired[CompressionOptionsGzipNone] + r"""Codec to use to compress the data before sending""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + token_ttl_minutes: NotRequired[float] + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" + send_header: NotRequired[bool] + r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" + host: NotRequired[str] + r"""The hostname of the receiver""" + port: NotRequired[float] + r"""The port to connect to on the provided host""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] + r"""Set of hosts to load-balance data to""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14699,42 +14648,27 @@ class OutputResponseOutputWizHecTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsWizHecTypedDict] - token: NotRequired[str] - r"""Wiz Defend Auth token""" + pq_controls: NotRequired[OutputResponsePqControlsTcpjsonTypedDict] + auth_token: NotRequired[str] + r"""Optional authentication token to include as part of the connection header""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_wiz_environment: NotRequired[str] - r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" - template_data_center: NotRequired[str] - r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" - template_wiz_sourcetype: NotRequired[str] - r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - -class OutputResponseOutputWizHec(BaseModel): - type: OutputResponseTypeWizHec - - wiz_connector_id: str - r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" - - wiz_environment: str - r"""Your Wiz deployment environment.""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - data_center: str - r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" - wiz_sourcetype: str +class OutputResponseOutputTcpjson(BaseModel): + type: OutputResponseTypeTcpjson id: Optional[str] = None r"""Unique ID for this output""" @@ -14753,62 +14687,48 @@ class OutputResponseOutputWizHec(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - next_queue: Annotated[Optional[str], pydantic.Field(alias="nextQueue")] = None - r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" - - tcp_routing: Annotated[Optional[str], pydantic.Field(alias="tcpRouting")] = None - r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Use to troubleshoot issues with sending data""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + token_ttl_minutes: Annotated[ + Optional[float], pydantic.Field(alias="tokenTTLMinutes") ] = None - r"""Headers to add to all events""" + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + send_header: Annotated[Optional[bool], pydantic.Field(alias="sendHeader")] = None + r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""List of headers that are safe to log in plain text""" + r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], @@ -14816,27 +14736,35 @@ class OutputResponseOutputWizHec(BaseModel): ] = None r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None + host: Optional[str] = None + r"""The hostname of the receiver""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + port: Optional[float] = None + r"""The port to connect to on the provided host""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + hosts: Optional[List[HostConfOutputSyslog]] = None + r"""Set of hosts to load-balance data to""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""How far back in time to keep traffic stats for load balancing purposes""" - description: Optional[str] = None + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") + ] = None + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -14888,11 +14816,11 @@ class OutputResponseOutputWizHec(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsWizHec], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsTcpjson], pydantic.Field(alias="pqControls") ] = None - token: Optional[str] = None - r"""Wiz Defend Auth token""" + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Optional authentication token to include as part of the connection header""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -14902,30 +14830,20 @@ class OutputResponseOutputWizHec(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_wiz_environment: Annotated[ - Optional[str], pydantic.Field(alias="__template_wiz_environment") - ] = None - r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" - - template_data_center: Annotated[ - Optional[str], pydantic.Field(alias="__template_data_center") - ] = None - r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_wiz_sourcetype: Annotated[ - Optional[str], pydantic.Field(alias="__template_wiz_sourcetype") - ] = None - r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -14933,29 +14851,29 @@ class OutputResponseOutputWizHec(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("compression") + def serialize_compression(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CompressionOptionsGzipNone(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value @@ -14996,25 +14914,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "nextQueue", - "tcpRouting", + "loadBalanced", + "compression", + "logFailedRequests", + "throttleRatePerSec", "tls", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "connectionTimeout", + "writeTimeout", + "tokenTTLMinutes", + "sendHeader", "onBackpressure", + "authType", "description", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15024,63 +14942,19 @@ def serialize_model(self, handler): "pqMaxSize", "pqPath", "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "token", - "textSecret", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_wiz_environment", - "__template_data_center", - "__template_wiz_sourcetype", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseTypeSplunkHec(str, Enum): - SPLUNK_HEC = "splunk_hec" - - -class OutputResponseURLSplunkHecTypedDict(TypedDict): - url: str - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - -class OutputResponseURLSplunkHec(BaseModel): - url: str - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["weight", "__template_url"]) + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "authToken", + "textSecret", + "__template_streamtags", + "__template_onBackpressure", + "__template_host", + "__template_port", + "notifications", + "status", + ] + ) serialized = handler(self) m = {} @@ -15095,16 +14969,27 @@ def serialize_model(self, handler): return m -class OutputResponsePqControlsSplunkHecTypedDict(TypedDict): +class OutputResponseTypeWizHec(str, Enum): + WIZ_HEC = "wiz_hec" + + +class OutputResponsePqControlsWizHecTypedDict(TypedDict): pass -class OutputResponsePqControlsSplunkHec(BaseModel): +class OutputResponsePqControlsWizHec(BaseModel): pass -class OutputResponseOutputSplunkHecTypedDict(TypedDict): - type: OutputResponseTypeSplunkHec +class OutputResponseOutputWizHecTypedDict(TypedDict): + type: OutputResponseTypeWizHec + wiz_connector_id: str + r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" + wiz_environment: str + r"""Your Wiz deployment environment.""" + data_center: str + r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" + wiz_sourcetype: str id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -15115,8 +15000,6 @@ class OutputResponseOutputSplunkHecTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" next_queue: NotRequired[str] r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" tcp_routing: NotRequired[str] @@ -15145,8 +15028,6 @@ class OutputResponseOutputSplunkHecTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - enable_multi_metrics: NotRequired[bool] - r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: NotRequired[ @@ -15159,21 +15040,7 @@ class OutputResponseOutputSplunkHecTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - url: NotRequired[str] - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[OutputResponseURLSplunkHecTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - token: NotRequired[str] - r"""Splunk HEC authentication token""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -15196,23 +15063,42 @@ class OutputResponseOutputSplunkHecTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSplunkHecTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsWizHecTypedDict] + token: NotRequired[str] + r"""Wiz Defend Auth token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_wiz_environment: NotRequired[str] + r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" + template_data_center: NotRequired[str] + r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" + template_wiz_sourcetype: NotRequired[str] + r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSplunkHec(BaseModel): - type: OutputResponseTypeSplunkHec +class OutputResponseOutputWizHec(BaseModel): + type: OutputResponseTypeWizHec + + wiz_connector_id: str + r"""The unique identifier for the specific Cribl connector defined in your Wiz Settings. This is used to cross-validate the bearer token and ensure traffic is originating from the authorized integration.""" + + wiz_environment: str + r"""Your Wiz deployment environment.""" + + data_center: str + r"""Your Wiz deployment data center (e.g., us1, us8, eu1). From Tenant Info → Data Center and Regions → Tenant Data Center in your Wiz console.""" + + wiz_sourcetype: str id: Optional[str] = None r"""Unique ID for this output""" @@ -15231,11 +15117,6 @@ class OutputResponseOutputSplunkHec(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - next_queue: Annotated[Optional[str], pydantic.Field(alias="nextQueue")] = None r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" @@ -15293,11 +15174,6 @@ class OutputResponseOutputSplunkHec(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - enable_multi_metrics: Annotated[ - Optional[bool], pydantic.Field(alias="enableMultiMetrics") - ] = None - r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" - auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], pydantic.Field(alias="authType"), @@ -15325,35 +15201,7 @@ class OutputResponseOutputSplunkHec(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None - - url: Optional[str] = None - r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - urls: Optional[List[OutputResponseURLSplunkHec]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" - - token: Optional[str] = None - r"""Splunk HEC authentication token""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -15405,9 +15253,15 @@ class OutputResponseOutputSplunkHec(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsSplunkHec], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsWizHec], pydantic.Field(alias="pqControls") ] = None + token: Optional[str] = None + r"""Wiz Defend Auth token""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None @@ -15423,10 +15277,20 @@ class OutputResponseOutputSplunkHec(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_wiz_environment: Annotated[ + Optional[str], pydantic.Field(alias="__template_wiz_environment") + ] = None + r"""Binds 'wiz_environment' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_environment' at runtime.""" + + template_data_center: Annotated[ + Optional[str], pydantic.Field(alias="__template_data_center") + ] = None + r"""Binds 'data_center' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'data_center' at runtime.""" + + template_wiz_sourcetype: Annotated[ + Optional[str], pydantic.Field(alias="__template_wiz_sourcetype") + ] = None + r"""Binds 'wiz_sourcetype' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'wiz_sourcetype' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -15497,7 +15361,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", "nextQueue", "tcpRouting", "tls", @@ -15511,21 +15374,12 @@ def serialize_model(self, handler): "extraHttpHeaders", "failedRequestLoggingMode", "safeHeaders", - "enableMultiMetrics", "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15538,10 +15392,14 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "token", + "textSecret", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", + "__template_wiz_environment", + "__template_data_center", + "__template_wiz_sourcetype", "notifications", "status", ] @@ -15560,127 +15418,34 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSplunkLb(str, Enum): - SPLUNK_LB = "splunk_lb" - - -class OutputResponseAuthTokenTypedDict(TypedDict): - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - auth_token: NotRequired[str] - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - - -class OutputResponseAuthToken(BaseModel): - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["authType", "authToken", "textSecret"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseIndexerDiscoveryConfigsTypedDict(TypedDict): - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" - - site: str - r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" - master_uri: str - r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" - refresh_interval_sec: float - r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" - reject_unauthorized: NotRequired[bool] - r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" - auth_tokens: NotRequired[List[OutputResponseAuthTokenTypedDict]] - r"""Tokens required to authenticate to cluster manager for indexer discovery""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - auth_token: NotRequired[str] - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - - -class OutputResponseIndexerDiscoveryConfigs(BaseModel): - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" - - site: str - r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" - - master_uri: Annotated[str, pydantic.Field(alias="masterUri")] - r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" - - refresh_interval_sec: Annotated[float, pydantic.Field(alias="refreshIntervalSec")] - r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" +class OutputResponseTypeSplunkHec(str, Enum): + SPLUNK_HEC = "splunk_hec" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" - auth_tokens: Annotated[ - Optional[List[OutputResponseAuthToken]], pydantic.Field(alias="authTokens") - ] = None - r"""Tokens required to authenticate to cluster manager for indexer discovery""" +class OutputResponseURLSplunkHecTypedDict(TypedDict): + url: str + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" +class OutputResponseURLSplunkHec(BaseModel): + url: str + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set( - ["rejectUnauthorized", "authTokens", "authType", "authToken", "textSecret"] - ) + optional_fields = set(["weight", "__template_url"]) serialized = handler(self) m = {} @@ -15695,18 +15460,16 @@ def serialize_model(self, handler): return m -class OutputResponsePqControlsSplunkLbTypedDict(TypedDict): +class OutputResponsePqControlsSplunkHecTypedDict(TypedDict): pass -class OutputResponsePqControlsSplunkLb(BaseModel): +class OutputResponsePqControlsSplunkHec(BaseModel): pass -class OutputResponseOutputSplunkLbTypedDict(TypedDict): - type: OutputResponseTypeSplunkLb - hosts: List[HostConfOutputSyslogTypedDict] - r"""Set of Splunk indexers to load-balance data to.""" +class OutputResponseOutputSplunkHecTypedDict(TypedDict): + type: OutputResponseTypeSplunkHec id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -15717,48 +15480,66 @@ class OutputResponseOutputSplunkLbTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" - nested_fields: NotRequired[NestedFieldSerializationOptions] - r"""How to serialize nested fields into index-time fields""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + next_queue: NotRequired[str] + r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" + tcp_routing: NotRequired[str] + r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" enable_multi_metrics: NotRequired[bool] - r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" - enable_ack: NotRequired[bool] - r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - max_s2_sversion: NotRequired[MaxS2SVersionOptions] - r"""The highest S2S protocol version to advertise during handshake""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - indexer_discovery: NotRequired[bool] - r"""Automatically discover indexers in indexer clustering environment.""" - sender_unhealthy_time_allowance: NotRequired[float] - r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" + r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - description: NotRequired[str] - max_failed_health_checks: NotRequired[float] - r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" - compress: NotRequired[CompressionOptions] - r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" - indexer_discovery_configs: NotRequired[ - OutputResponseIndexerDiscoveryConfigsTypedDict + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] ] - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[OutputResponseURLSplunkHecTypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + token: NotRequired[str] + r"""Splunk HEC authentication token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -15781,32 +15562,23 @@ class OutputResponseOutputSplunkLbTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSplunkLbTypedDict] - auth_token: NotRequired[str] - r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[OutputResponsePqControlsSplunkHecTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_nested_fields: NotRequired[str] - r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" - template_max_s2_sversion: NotRequired[str] - r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSplunkLb(BaseModel): - type: OutputResponseTypeSplunkLb - - hosts: List[HostConfOutputSyslog] - r"""Set of Splunk indexers to load-balance data to.""" +class OutputResponseOutputSplunkHec(BaseModel): + type: OutputResponseTypeSplunkHec id: Optional[str] = None r"""Unique ID for this output""" @@ -15825,100 +15597,130 @@ class OutputResponseOutputSplunkLb(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + next_queue: Annotated[Optional[str], pydantic.Field(alias="nextQueue")] = None + r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing.""" + + tcp_routing: Annotated[Optional[str], pydantic.Field(alias="tcpRouting")] = None + r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set.""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Maximum size, in KB, of the request body""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - nested_fields: Annotated[ - Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""How to serialize nested fields into index-time fields""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Headers to add to all events""" - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" enable_multi_metrics: Annotated[ Optional[bool], pydantic.Field(alias="enableMultiMetrics") ] = None - r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" + r"""Output metrics in multiple-metric format, supported in Splunk 8.0 and above to allow multiple metrics in a single event.""" - enable_ack: Annotated[Optional[bool], pydantic.Field(alias="enableACK")] = None - r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Use to troubleshoot issues with sending data""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - max_s2_sversion: Annotated[ - Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""The highest S2S protocol version to advertise during handshake""" + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - indexer_discovery: Annotated[ - Optional[bool], pydantic.Field(alias="indexerDiscovery") - ] = None - r"""Automatically discover indexers in indexer clustering environment.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - sender_unhealthy_time_allowance: Annotated[ - Optional[float], pydantic.Field(alias="senderUnhealthyTimeAllowance") - ] = None - r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" + url: Optional[str] = None + r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - description: Optional[str] = None + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - max_failed_health_checks: Annotated[ - Optional[float], pydantic.Field(alias="maxFailedHealthChecks") - ] = None - r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" + urls: Optional[List[OutputResponseURLSplunkHec]] = None - compress: Optional[CompressionOptions] = None - r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - indexer_discovery_configs: Annotated[ - Optional[OutputResponseIndexerDiscoveryConfigs], - pydantic.Field(alias="indexerDiscoveryConfigs"), + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + r"""How far back in time to keep traffic stats for load balancing purposes""" - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + token: Optional[str] = None + r"""Splunk HEC authentication token""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -15970,39 +15772,28 @@ class OutputResponseOutputSplunkLb(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsSplunkLb], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsSplunkHec], pydantic.Field(alias="pqControls") ] = None - auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None - r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_nested_fields: Annotated[ - Optional[str], pydantic.Field(alias="__template_nestedFields") - ] = None - r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" - - template_max_s2_sversion: Annotated[ - Optional[str], pydantic.Field(alias="__template_maxS2Sversion") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -16010,29 +15801,11 @@ class OutputResponseOutputSplunkLb(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("nested_fields") - def serialize_nested_fields(self, value): - if isinstance(value, str): - try: - return models.NestedFieldSerializationOptions(value) - except ValueError: - return value - return value - - @field_serializer("max_s2_sversion") - def serialize_max_s2_sversion(self, value): - if isinstance(value, str): - try: - return models.MaxS2SVersionOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value @@ -16046,11 +15819,11 @@ def serialize_auth_type(self, value): return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptions(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -16091,27 +15864,35 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", - "nestedFields", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", + "loadBalanced", + "nextQueue", + "tcpRouting", "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", "enableMultiMetrics", - "enableACK", - "logFailedRequests", - "maxS2Sversion", - "onBackpressure", - "indexerDiscovery", - "senderUnhealthyTimeAllowance", "authType", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", "description", - "maxFailedHealthChecks", - "compress", - "indexerDiscoveryConfigs", + "url", + "useRoundRobinDns", "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -16124,13 +15905,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "authToken", - "textSecret", "__template_streamtags", - "__template_nestedFields", - "__template_maxS2Sversion", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_compress", + "__template_url", "notifications", "status", ] @@ -16149,24 +15927,153 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSplunk(str, Enum): - SPLUNK = "splunk" - - -class OutputResponsePqControlsSplunkTypedDict(TypedDict): +class OutputResponseTypeSplunkLb(str, Enum): + SPLUNK_LB = "splunk_lb" + + +class OutputResponseAuthTokenTypedDict(TypedDict): + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + auth_token: NotRequired[str] + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + + +class OutputResponseAuthToken(BaseModel): + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["authType", "authToken", "textSecret"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseIndexerDiscoveryConfigsTypedDict(TypedDict): + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + + site: str + r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" + master_uri: str + r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" + refresh_interval_sec: float + r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" + reject_unauthorized: NotRequired[bool] + r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" + auth_tokens: NotRequired[List[OutputResponseAuthTokenTypedDict]] + r"""Tokens required to authenticate to cluster manager for indexer discovery""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + auth_token: NotRequired[str] + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + + +class OutputResponseIndexerDiscoveryConfigs(BaseModel): + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + + site: str + r"""Clustering site of the indexers from where indexers need to be discovered. In case of single site cluster, it defaults to 'default' site.""" + + master_uri: Annotated[str, pydantic.Field(alias="masterUri")] + r"""Full URI of Splunk cluster manager (scheme://host:port). Example: https://managerAddress:8089""" + + refresh_interval_sec: Annotated[float, pydantic.Field(alias="refreshIntervalSec")] + r"""Time interval, in seconds, between two consecutive indexer list fetches from cluster manager""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""During indexer discovery, reject cluster manager certificates that are not authorized by the system's CA. Disable to allow untrusted (for example, self-signed) certificates.""" + + auth_tokens: Annotated[ + Optional[List[OutputResponseAuthToken]], pydantic.Field(alias="authTokens") + ] = None + r"""Tokens required to authenticate to cluster manager for indexer discovery""" + + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), + ] = None + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuthTokensItems(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + ["rejectUnauthorized", "authTokens", "authType", "authToken", "textSecret"] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponsePqControlsSplunkLbTypedDict(TypedDict): pass -class OutputResponsePqControlsSplunk(BaseModel): +class OutputResponsePqControlsSplunkLb(BaseModel): pass -class OutputResponseOutputSplunkTypedDict(TypedDict): - type: OutputResponseTypeSplunk - host: str - r"""The hostname of the receiver""" - port: float - r"""The port to connect to on the provided host""" +class OutputResponseOutputSplunkLbTypedDict(TypedDict): + type: OutputResponseTypeSplunkLb + hosts: List[HostConfOutputSyslogTypedDict] + r"""Set of Splunk indexers to load-balance data to.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -16177,6 +16084,12 @@ class OutputResponseOutputSplunkTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" nested_fields: NotRequired[NestedFieldSerializationOptions] r"""How to serialize nested fields into index-time fields""" throttle_rate_per_sec: NotRequired[str] @@ -16196,13 +16109,24 @@ class OutputResponseOutputSplunkTypedDict(TypedDict): r"""The highest S2S protocol version to advertise during handshake""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + indexer_discovery: NotRequired[bool] + r"""Automatically discover indexers in indexer clustering environment.""" + sender_unhealthy_time_allowance: NotRequired[float] + r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" max_failed_health_checks: NotRequired[float] r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" compress: NotRequired[CompressionOptions] r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" + indexer_discovery_configs: NotRequired[ + OutputResponseIndexerDiscoveryConfigsTypedDict + ] + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -16225,17 +16149,13 @@ class OutputResponseOutputSplunkTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSplunkTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsSplunkLbTypedDict] auth_token: NotRequired[str] r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" template_nested_fields: NotRequired[str] r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" template_max_s2_sversion: NotRequired[str] @@ -16250,14 +16170,11 @@ class OutputResponseOutputSplunkTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSplunk(BaseModel): - type: OutputResponseTypeSplunk - - host: str - r"""The hostname of the receiver""" +class OutputResponseOutputSplunkLb(BaseModel): + type: OutputResponseTypeSplunkLb - port: float - r"""The port to connect to on the provided host""" + hosts: List[HostConfOutputSyslog] + r"""Set of Splunk indexers to load-balance data to.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -16276,6 +16193,21 @@ class OutputResponseOutputSplunk(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" + + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") + ] = None + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + nested_fields: Annotated[ Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") ] = None @@ -16321,6 +16253,16 @@ class OutputResponseOutputSplunk(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + indexer_discovery: Annotated[ + Optional[bool], pydantic.Field(alias="indexerDiscovery") + ] = None + r"""Automatically discover indexers in indexer clustering environment.""" + + sender_unhealthy_time_allowance: Annotated[ + Optional[float], pydantic.Field(alias="senderUnhealthyTimeAllowance") + ] = None + r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute.""" + auth_type: Annotated[ Optional[AuthenticationMethodOptionsAuthTokensItems], pydantic.Field(alias="authType"), @@ -16328,6 +16270,7 @@ class OutputResponseOutputSplunk(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" max_failed_health_checks: Annotated[ Optional[float], pydantic.Field(alias="maxFailedHealthChecks") @@ -16337,6 +16280,15 @@ class OutputResponseOutputSplunk(BaseModel): compress: Optional[CompressionOptions] = None r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" + indexer_discovery_configs: Annotated[ + Optional[OutputResponseIndexerDiscoveryConfigs], + pydantic.Field(alias="indexerDiscoveryConfigs"), + ] = None + r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment.""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -16387,7 +16339,7 @@ class OutputResponseOutputSplunk(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsSplunk], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsSplunkLb], pydantic.Field(alias="pqControls") ] = None auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None @@ -16401,16 +16353,6 @@ class OutputResponseOutputSplunk(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - template_nested_fields: Annotated[ Optional[str], pydantic.Field(alias="__template_nestedFields") ] = None @@ -16518,6 +16460,9 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", "nestedFields", "throttleRatePerSec", "connectionTimeout", @@ -16528,160 +16473,69 @@ def serialize_model(self, handler): "logFailedRequests", "maxS2Sversion", "onBackpressure", + "indexerDiscovery", + "senderUnhealthyTimeAllowance", "authType", - "description", - "maxFailedHealthChecks", - "compress", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "authToken", - "textSecret", - "__template_streamtags", - "__template_host", - "__template_port", - "__template_nestedFields", - "__template_maxS2Sversion", - "__template_onBackpressure", - "__template_compress", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseTypeSyslog(str, Enum): - SYSLOG = "syslog" - - -class OutputResponseProtocolSyslog(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The network protocol to use for sending out syslog messages""" - - # TCP - TCP = "tcp" - # UDP - UDP = "udp" - - -class OutputResponseFacility(int, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - - # kern - KERN = 0 - # user - USER = 1 - # mail - MAIL = 2 - # daemon - DAEMON = 3 - # auth - AUTH = 4 - # syslog - SYSLOG = 5 - # lpr - LPR = 6 - # news - NEWS = 7 - # uucp - UUCP = 8 - # cron - CRON = 9 - # authpriv - AUTHPRIV = 10 - # ftp - FTP = 11 - # ntp - NTP = 12 - # security - SECURITY = 13 - # console - CONSOLE = 14 - # solaris-cron - SOLARIS_CRON = 15 - # local0 - LOCAL0 = 16 - # local1 - LOCAL1 = 17 - # local2 - LOCAL2 = 18 - # local3 - LOCAL3 = 19 - # local4 - LOCAL4 = 20 - # local5 - LOCAL5 = 21 - - -class OutputResponseSeveritySyslog(int, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - - # emergency - EMERGENCY = 0 - # alert - ALERT = 1 - # critical - CRITICAL = 2 - # error - ERROR = 3 - # warning - WARNING = 4 - # notice - NOTICE = 5 - # info - INFO = 6 - # debug - DEBUG = 7 - + "description", + "maxFailedHealthChecks", + "compress", + "indexerDiscoveryConfigs", + "excludeSelf", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "authToken", + "textSecret", + "__template_streamtags", + "__template_nestedFields", + "__template_maxS2Sversion", + "__template_onBackpressure", + "__template_compress", + "notifications", + "status", + ] + ) + serialized = handler(self) + m = {} -class OutputResponseMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The syslog message format depending on the receiver's support""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - # RFC3164 - RFC3164 = "rfc3164" - # RFC5424 - RFC5424 = "rfc5424" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + return m -class OutputResponseTimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Timestamp format to use when serializing event's time field""" - # Syslog - SYSLOG = "syslog" - # ISO8601 - ISO8601 = "iso8601" +class OutputResponseTypeSplunk(str, Enum): + SPLUNK = "splunk" -class OutputResponsePqControlsSyslogTypedDict(TypedDict): +class OutputResponsePqControlsSplunkTypedDict(TypedDict): pass -class OutputResponsePqControlsSyslog(BaseModel): +class OutputResponsePqControlsSplunk(BaseModel): pass -class OutputResponseOutputSyslogTypedDict(TypedDict): - type: OutputResponseTypeSyslog +class OutputResponseOutputSplunkTypedDict(TypedDict): + type: OutputResponseTypeSplunk + host: str + r"""The hostname of the receiver""" + port: float + r"""The port to connect to on the provided host""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -16692,54 +16546,33 @@ class OutputResponseOutputSyslogTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - protocol: NotRequired[OutputResponseProtocolSyslog] - r"""The network protocol to use for sending out syslog messages""" - facility: NotRequired[OutputResponseFacility] - r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - severity: NotRequired[OutputResponseSeveritySyslog] - r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - app_name: NotRequired[str] - r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" - message_format: NotRequired[OutputResponseMessageFormat] - r"""The syslog message format depending on the receiver's support""" - timestamp_format: NotRequired[OutputResponseTimestampFormat] - r"""Timestamp format to use when serializing event's time field""" + nested_fields: NotRequired[NestedFieldSerializationOptions] + r"""How to serialize nested fields into index-time fields""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - octet_count_framing: NotRequired[bool] - r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - description: NotRequired[str] - load_balanced: NotRequired[bool] - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - host: NotRequired[str] - r"""The hostname of the receiver""" - port: NotRequired[float] - r"""The port to connect to on the provided host""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] - r"""Set of hosts to load-balance data to""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" connection_timeout: NotRequired[float] r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" write_timeout: NotRequired[float] r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + enable_multi_metrics: NotRequired[bool] + r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" + enable_ack: NotRequired[bool] + r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + max_s2_sversion: NotRequired[MaxS2SVersionOptions] + r"""The highest S2S protocol version to advertise during handshake""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - max_record_size: NotRequired[float] - r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" - udp_dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" - enable_ip_spoofing: NotRequired[bool] - r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + max_failed_health_checks: NotRequired[float] + r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" + compress: NotRequired[CompressionOptions] + r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -16762,23 +16595,39 @@ class OutputResponseOutputSyslogTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSyslogTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsSplunkTypedDict] + auth_token: NotRequired[str] + r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_host: NotRequired[str] r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" template_port: NotRequired[str] r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + template_nested_fields: NotRequired[str] + r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" + template_max_s2_sversion: NotRequired[str] + r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSyslog(BaseModel): - type: OutputResponseTypeSyslog +class OutputResponseOutputSplunk(BaseModel): + type: OutputResponseTypeSplunk + + host: str + r"""The hostname of the receiver""" + + port: float + r"""The port to connect to on the provided host""" id: Optional[str] = None r"""Unique ID for this output""" @@ -16797,108 +16646,67 @@ class OutputResponseOutputSyslog(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - protocol: Optional[OutputResponseProtocolSyslog] = None - r"""The network protocol to use for sending out syslog messages""" - - facility: Optional[OutputResponseFacility] = None - r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - - severity: Optional[OutputResponseSeveritySyslog] = None - r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - - app_name: Annotated[Optional[str], pydantic.Field(alias="appName")] = None - r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" - - message_format: Annotated[ - Optional[OutputResponseMessageFormat], pydantic.Field(alias="messageFormat") - ] = None - r"""The syslog message format depending on the receiver's support""" - - timestamp_format: Annotated[ - Optional[OutputResponseTimestampFormat], pydantic.Field(alias="timestampFormat") + nested_fields: Annotated[ + Optional[NestedFieldSerializationOptions], pydantic.Field(alias="nestedFields") ] = None - r"""Timestamp format to use when serializing event's time field""" + r"""How to serialize nested fields into index-time fields""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - octet_count_framing: Annotated[ - Optional[bool], pydantic.Field(alias="octetCountFraming") - ] = None - r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" - - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Use to troubleshoot issues with sending data""" - - description: Optional[str] = None + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( None ) - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - - host: Optional[str] = None - r"""The hostname of the receiver""" - - port: Optional[float] = None - r"""The port to connect to on the provided host""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - hosts: Optional[List[HostConfOutputSyslog]] = None - r"""Set of hosts to load-balance data to""" + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + enable_multi_metrics: Annotated[ + Optional[bool], pydantic.Field(alias="enableMultiMetrics") ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + r"""Output metrics in multiple-metric format in a single event. Supported in Splunk 8.0 and above.""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + enable_ack: Annotated[Optional[bool], pydantic.Field(alias="enableACK")] = None + r"""Check if indexer is shutting down and stop sending data. This helps minimize data loss during shutdown.""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + r"""Use to troubleshoot issues with sending data""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + max_s2_sversion: Annotated[ + Optional[MaxS2SVersionOptions], pydantic.Field(alias="maxS2Sversion") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + r"""The highest S2S protocol version to advertise during handshake""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - max_record_size: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSize") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), ] = None - r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - udp_dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="udpDnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - enable_ip_spoofing: Annotated[ - Optional[bool], pydantic.Field(alias="enableIpSpoofing") + max_failed_health_checks: Annotated[ + Optional[float], pydantic.Field(alias="maxFailedHealthChecks") ] = None - r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" + + compress: Optional[CompressionOptions] = None + r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -16950,9 +16758,15 @@ class OutputResponseOutputSyslog(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsSyslog], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsSplunk], pydantic.Field(alias="pqControls") ] = None + auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None + r"""Shared secret token to use when establishing a connection to a Splunk indexer.""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None @@ -16968,67 +16782,73 @@ class OutputResponseOutputSyslog(BaseModel): ) r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + template_nested_fields: Annotated[ + Optional[str], pydantic.Field(alias="__template_nestedFields") + ] = None + r"""Binds 'nestedFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'nestedFields' at runtime.""" + + template_max_s2_sversion: Annotated[ + Optional[str], pydantic.Field(alias="__template_maxS2Sversion") + ] = None + r"""Binds 'maxS2Sversion' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'maxS2Sversion' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.OutputResponseProtocolSyslog(value) - except ValueError: - return value - return value - - @field_serializer("facility") - def serialize_facility(self, value): + @field_serializer("nested_fields") + def serialize_nested_fields(self, value): if isinstance(value, str): try: - return models.OutputResponseFacility(value) + return models.NestedFieldSerializationOptions(value) except ValueError: return value return value - @field_serializer("severity") - def serialize_severity(self, value): + @field_serializer("max_s2_sversion") + def serialize_max_s2_sversion(self, value): if isinstance(value, str): try: - return models.OutputResponseSeveritySyslog(value) + return models.MaxS2SVersionOptions(value) except ValueError: return value return value - @field_serializer("message_format") - def serialize_message_format(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.OutputResponseMessageFormat(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("timestamp_format") - def serialize_timestamp_format(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.OutputResponseTimestampFormat(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptions(value) except ValueError: return value return value @@ -17069,31 +16889,20 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "protocol", - "facility", - "severity", - "appName", - "messageFormat", - "timestampFormat", + "nestedFields", "throttleRatePerSec", - "octetCountFraming", - "logFailedRequests", - "description", - "loadBalanced", - "host", - "port", - "excludeSelf", - "hosts", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", "connectionTimeout", "writeTimeout", "tls", + "enableMultiMetrics", + "enableACK", + "logFailedRequests", + "maxS2Sversion", "onBackpressure", - "maxRecordSize", - "udpDnsResolvePeriodSec", - "enableIpSpoofing", + "authType", + "description", + "maxFailedHealthChecks", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17106,10 +16915,15 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "authToken", + "textSecret", "__template_streamtags", "__template_host", "__template_port", + "__template_nestedFields", + "__template_maxS2Sversion", "__template_onBackpressure", + "__template_compress", "notifications", "status", ] @@ -17128,131 +16942,117 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDevnull(str, Enum): - DEVNULL = "devnull" - - -class OutputResponseOutputDevnullTypedDict(TypedDict): - type: OutputResponseTypeDevnull - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - -class OutputResponseOutputDevnull(BaseModel): - type: OutputResponseTypeDevnull - - id: Optional[str] = None - r"""Unique ID for this output""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" +class OutputResponseTypeSyslog(str, Enum): + SYSLOG = "syslog" - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "__template_streamtags", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} +class OutputResponseProtocolSyslog(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The network protocol to use for sending out syslog messages""" - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) + # TCP + TCP = "tcp" + # UDP + UDP = "udp" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - return m +class OutputResponseFacility(int, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" + # kern + KERN = 0 + # user + USER = 1 + # mail + MAIL = 2 + # daemon + DAEMON = 3 + # auth + AUTH = 4 + # syslog + SYSLOG = 5 + # lpr + LPR = 6 + # news + NEWS = 7 + # uucp + UUCP = 8 + # cron + CRON = 9 + # authpriv + AUTHPRIV = 10 + # ftp + FTP = 11 + # ntp + NTP = 12 + # security + SECURITY = 13 + # console + CONSOLE = 14 + # solaris-cron + SOLARIS_CRON = 15 + # local0 + LOCAL0 = 16 + # local1 + LOCAL1 = 17 + # local2 + LOCAL2 = 18 + # local3 + LOCAL3 = 19 + # local4 + LOCAL4 = 20 + # local5 + LOCAL5 = 21 -class OutputResponseTypeSentinel(str, Enum): - SENTINEL = "sentinel" +class OutputResponseSeveritySyslog(int, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" -class OutputResponseAuthType(str, Enum, metaclass=utils.OpenEnumMeta): - OAUTH = "oauth" + # emergency + EMERGENCY = 0 + # alert + ALERT = 1 + # critical + CRITICAL = 2 + # error + ERROR = 3 + # warning + WARNING = 4 + # notice + NOTICE = 5 + # info + INFO = 6 + # debug + DEBUG = 7 -class OutputResponseEndpointConfiguration(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Enter the data collection endpoint URL or the individual ID""" +class OutputResponseMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The syslog message format depending on the receiver's support""" - # URL - URL = "url" - # ID - ID = "ID" + # RFC3164 + RFC3164 = "rfc3164" + # RFC5424 + RFC5424 = "rfc5424" -class OutputResponseFormatSentinel(str, Enum, metaclass=utils.OpenEnumMeta): - NDJSON = "ndjson" - JSON_ARRAY = "json_array" - CUSTOM = "custom" - ADVANCED = "advanced" +class OutputResponseTimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Timestamp format to use when serializing event's time field""" + # Syslog + SYSLOG = "syslog" + # ISO8601 + ISO8601 = "iso8601" -class OutputResponsePqControlsSentinelTypedDict(TypedDict): + +class OutputResponsePqControlsSyslogTypedDict(TypedDict): pass -class OutputResponsePqControlsSentinel(BaseModel): +class OutputResponsePqControlsSyslog(BaseModel): pass -class OutputResponseOutputSentinelTypedDict(TypedDict): - type: OutputResponseTypeSentinel - login_url: str - r"""URL for OAuth""" - secret: str - r"""Secret parameter value to pass in request body""" - client_id: str - r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" - endpoint_url_configuration: OutputResponseEndpointConfiguration - r"""Enter the data collection endpoint URL or the individual ID""" +class OutputResponseOutputSyslogTypedDict(TypedDict): + type: OutputResponseTypeSyslog id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -17263,65 +17063,55 @@ class OutputResponseOutputSentinelTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + protocol: NotRequired[OutputResponseProtocolSyslog] + r"""The network protocol to use for sending out syslog messages""" + facility: NotRequired[OutputResponseFacility] + r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" + severity: NotRequired[OutputResponseSeveritySyslog] + r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" + app_name: NotRequired[str] + r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" + message_format: NotRequired[OutputResponseMessageFormat] + r"""The syslog message format depending on the receiver's support""" + timestamp_format: NotRequired[OutputResponseTimestampFormat] + r"""Timestamp format to use when serializing event's time field""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + octet_count_framing: NotRequired[bool] + r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + load_balanced: NotRequired[bool] + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" + host: NotRequired[str] + r"""The hostname of the receiver""" + port: NotRequired[float] + r"""The port to connect to on the provided host""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] + r"""Set of hosts to load-balance data to""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[OutputResponseAuthType] - scope: NotRequired[str] - r"""Scope to pass in the OAuth request""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] - format_: NotRequired[OutputResponseFormatSentinel] - custom_source_expression: NotRequired[str] - r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" - custom_drop_when_null: NotRequired[bool] - r"""Whether to drop events when the source expression evaluates to null""" - custom_event_delimiter: NotRequired[str] - r"""Delimiter string to insert between individual events. Defaults to newline character.""" - custom_content_type: NotRequired[str] - r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" - custom_payload_expression: NotRequired[str] - r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" - advanced_content_type: NotRequired[str] - r"""HTTP content-type header value""" - format_event_code: NotRequired[str] - r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" - format_payload_code: NotRequired[str] - r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + max_record_size: NotRequired[float] + r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" + udp_dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" + enable_ip_spoofing: NotRequired[bool] + r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -17344,60 +17134,23 @@ class OutputResponseOutputSentinelTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSentinelTypedDict] - url: NotRequired[str] - r"""URL to send events to. Can be overwritten by an event's __url field.""" - dcr_id: NotRequired[str] - r"""Immutable ID for the Data Collection Rule (DCR)""" - dce_endpoint: NotRequired[str] - r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" - stream_name: NotRequired[str] - r"""The name of the stream (Sentinel table) in which to store the events""" + pq_controls: NotRequired[OutputResponsePqControlsSyslogTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_login_url: NotRequired[str] - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - template_secret: NotRequired[str] - r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" - template_scope: NotRequired[str] - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_dcr_id: NotRequired[str] - r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" - template_dce_endpoint: NotRequired[str] - r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" - template_stream_name: NotRequired[str] - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSentinel(BaseModel): - type: OutputResponseTypeSentinel - - login_url: Annotated[str, pydantic.Field(alias="loginUrl")] - r"""URL for OAuth""" - - secret: str - r"""Secret parameter value to pass in request body""" - - client_id: str - r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" - - endpoint_url_configuration: Annotated[ - OutputResponseEndpointConfiguration, - pydantic.Field(alias="endpointURLConfiguration"), - ] - r"""Enter the data collection endpoint URL or the individual ID""" +class OutputResponseOutputSyslog(BaseModel): + type: OutputResponseTypeSyslog id: Optional[str] = None r"""Unique ID for this output""" @@ -17416,140 +17169,109 @@ class OutputResponseOutputSentinel(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" - - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), - ] = None - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" - - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + protocol: Optional[OutputResponseProtocolSyslog] = None + r"""The network protocol to use for sending out syslog messages""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" + facility: Optional[OutputResponseFacility] = None + r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + severity: Optional[OutputResponseSeveritySyslog] = None + r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice.""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None + app_name: Annotated[Optional[str], pydantic.Field(alias="appName")] = None + r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set.""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + message_format: Annotated[ + Optional[OutputResponseMessageFormat], pydantic.Field(alias="messageFormat") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""The syslog message format depending on the receiver's support""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + timestamp_format: Annotated[ + Optional[OutputResponseTimestampFormat], pydantic.Field(alias="timestampFormat") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Timestamp format to use when serializing event's time field""" - auth_type: Annotated[ - Optional[OutputResponseAuthType], pydantic.Field(alias="authType") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - scope: Optional[str] = None - r"""Scope to pass in the OAuth request""" + octet_count_framing: Annotated[ + Optional[bool], pydantic.Field(alias="octetCountFraming") + ] = None + r"""Prefix messages with the byte count of the message. If disabled, no prefix will be set, and the message will be appended with a \n.""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""Use to troubleshoot issues with sending data""" description: Optional[str] = None + r"""Optional description for this configuration.""" - format_: Annotated[ - Optional[OutputResponseFormatSentinel], pydantic.Field(alias="format") - ] = None + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - custom_source_expression: Annotated[ - Optional[str], pydantic.Field(alias="customSourceExpression") + host: Optional[str] = None + r"""The hostname of the receiver""" + + port: Optional[float] = None + r"""The port to connect to on the provided host""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + hosts: Optional[List[HostConfOutputSyslog]] = None + r"""Set of hosts to load-balance data to""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - custom_drop_when_null: Annotated[ - Optional[bool], pydantic.Field(alias="customDropWhenNull") + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None - r"""Whether to drop events when the source expression evaluates to null""" + r"""How far back in time to keep traffic stats for load balancing purposes""" - custom_event_delimiter: Annotated[ - Optional[str], pydantic.Field(alias="customEventDelimiter") + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") ] = None - r"""Delimiter string to insert between individual events. Defaults to newline character.""" + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" - custom_content_type: Annotated[ - Optional[str], pydantic.Field(alias="customContentType") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Content type to use for request. Defaults to application/x-ndjson. Any content types set in Advanced Settings > Extra HTTP headers will override this entry.""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - custom_payload_expression: Annotated[ - Optional[str], pydantic.Field(alias="customPayloadExpression") + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Expression specifying how to format the payload for each batch. To reference the events to send, use the `${events}` variable. Example expression: `{ \"items\" : [${events}] }` would send the batch inside a JSON object.""" + r"""How to handle events when all receivers are exerting backpressure""" - advanced_content_type: Annotated[ - Optional[str], pydantic.Field(alias="advancedContentType") + max_record_size: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSize") ] = None - r"""HTTP content-type header value""" + r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation.""" - format_event_code: Annotated[ - Optional[str], pydantic.Field(alias="formatEventCode") + udp_dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="udpDnsResolvePeriodSec") ] = None - r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup.""" - format_payload_code: Annotated[ - Optional[str], pydantic.Field(alias="formatPayloadCode") + enable_ip_spoofing: Annotated[ + Optional[bool], pydantic.Field(alias="enableIpSpoofing") ] = None - r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code.""" + r"""Send Syslog traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17601,75 +17323,28 @@ class OutputResponseOutputSentinel(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsSentinel], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsSyslog], pydantic.Field(alias="pqControls") ] = None - url: Optional[str] = None - r"""URL to send events to. Can be overwritten by an event's __url field.""" - - dcr_id: Annotated[Optional[str], pydantic.Field(alias="dcrID")] = None - r"""Immutable ID for the Data Collection Rule (DCR)""" - - dce_endpoint: Annotated[Optional[str], pydantic.Field(alias="dceEndpoint")] = None - r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" - - stream_name: Annotated[Optional[str], pydantic.Field(alias="streamName")] = None - r"""The name of the stream (Sentinel table) in which to store the events""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_login_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_loginUrl") - ] = None - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - - template_secret: Annotated[ - Optional[str], pydantic.Field(alias="__template_secret") - ] = None - r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" - - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_client_id") - ] = None - r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" - - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") - ] = None - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( None ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - template_dcr_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_dcrID") - ] = None - r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_dce_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_dceEndpoint") - ] = None - r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - template_stream_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamName") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -17677,47 +17352,56 @@ class OutputResponseOutputSentinel(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.OutputResponseProtocolSyslog(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("facility") + def serialize_facility(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.OutputResponseFacility(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("severity") + def serialize_severity(self, value): if isinstance(value, str): try: - return models.OutputResponseAuthType(value) + return models.OutputResponseSeveritySyslog(value) except ValueError: return value return value - @field_serializer("endpoint_url_configuration") - def serialize_endpoint_url_configuration(self, value): + @field_serializer("message_format") + def serialize_message_format(self, value): if isinstance(value, str): try: - return models.OutputResponseEndpointConfiguration(value) + return models.OutputResponseMessageFormat(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("timestamp_format") + def serialize_timestamp_format(self, value): if isinstance(value, str): try: - return models.OutputResponseFormatSentinel(value) + return models.OutputResponseTimestampFormat(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -17758,35 +17442,31 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "keepAlive", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "scope", - "totalMemoryLimitKB", + "protocol", + "facility", + "severity", + "appName", + "messageFormat", + "timestampFormat", + "throttleRatePerSec", + "octetCountFraming", + "logFailedRequests", "description", - "format", - "customSourceExpression", - "customDropWhenNull", - "customEventDelimiter", - "customContentType", - "customPayloadExpression", - "advancedContentType", - "formatEventCode", - "formatPayloadCode", + "loadBalanced", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", + "connectionTimeout", + "writeTimeout", + "tls", + "onBackpressure", + "maxRecordSize", + "udpDnsResolvePeriodSec", + "enableIpSpoofing", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17799,21 +17479,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "url", - "dcrID", - "dceEndpoint", - "streamName", "__template_streamtags", - "__template_failedRequestLoggingMode", + "__template_host", + "__template_port", "__template_onBackpressure", - "__template_loginUrl", - "__template_secret", - "__template_client_id", - "__template_scope", - "__template_url", - "__template_dcrID", - "__template_dceEndpoint", - "__template_streamName", "notifications", "status", ] @@ -17832,74 +17501,75 @@ def serialize_model(self, handler): return m -class OutputResponseOutputWebhookType2(str, Enum): - WEBHOOK = "webhook" - - -class OutputResponseOutputWebhookFormat2(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How to format events before sending out""" - - # NDJSON (Newline Delimited JSON) - NDJSON = "ndjson" - # JSON Array - JSON_ARRAY = "json_array" - # Custom - CUSTOM = "custom" - # Advanced - ADVANCED = "advanced" - +class OutputResponseTypeDevnull(str, Enum): + DEVNULL = "devnull" -class OutputResponseOutputWebhookAuthenticationType2( - str, Enum, metaclass=utils.OpenEnumMeta -): - r"""Authentication method to use for the HTTP request""" - # None - NONE = "none" - # Basic - BASIC = "basic" - # Basic (credentials secret) - CREDENTIALS_SECRET = "credentialsSecret" - # Token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" - # OAuth - OAUTH = "oauth" +class OutputResponseOutputDevnullTypedDict(TypedDict): + type: OutputResponseTypeDevnull + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputWebhookPqControls2TypedDict(TypedDict): - pass +class OutputResponseOutputDevnull(BaseModel): + type: OutputResponseTypeDevnull + id: Optional[str] = None + r"""Unique ID for this output""" -class OutputResponseOutputWebhookPqControls2(BaseModel): - pass + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" -class OutputResponseOutputWebhookURL2TypedDict(TypedDict): - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" -class OutputResponseOutputWebhookURL2(BaseModel): - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["weight", "__template_url"]) + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "__template_streamtags", + "notifications", + "status", + ] + ) serialized = handler(self) m = {} @@ -17914,9 +17584,48 @@ def serialize_model(self, handler): return m -class OutputResponseOutputWebhookWebhook2TypedDict(TypedDict): - type: OutputResponseOutputWebhookType2 - urls: List[OutputResponseOutputWebhookURL2TypedDict] +class OutputResponseTypeSentinel(str, Enum): + SENTINEL = "sentinel" + + +class OutputResponseAuthType(str, Enum, metaclass=utils.OpenEnumMeta): + OAUTH = "oauth" + + +class OutputResponseEndpointConfiguration(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Enter the data collection endpoint URL or the individual ID""" + + # URL + URL = "url" + # ID + ID = "ID" + + +class OutputResponseFormatSentinel(str, Enum, metaclass=utils.OpenEnumMeta): + NDJSON = "ndjson" + JSON_ARRAY = "json_array" + CUSTOM = "custom" + ADVANCED = "advanced" + + +class OutputResponsePqControlsSentinelTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsSentinel(BaseModel): + pass + + +class OutputResponseOutputSentinelTypedDict(TypedDict): + type: OutputResponseTypeSentinel + login_url: str + r"""URL for OAuth""" + secret: str + r"""Secret parameter value to pass in request body""" + client_id: str + r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" + endpoint_url_configuration: OutputResponseEndpointConfiguration + r"""Enter the data collection endpoint URL or the individual ID""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -17927,16 +17636,12 @@ class OutputResponseOutputWebhookWebhook2TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - method: NotRequired[MethodOptions] - r"""The method to use when sending events""" - format_: NotRequired[OutputResponseOutputWebhookFormat2] - r"""How to format events before sending out""" keep_alive: NotRequired[bool] r"""Disable to close the connection immediately after sending the outgoing request""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" + r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" max_payload_events: NotRequired[float] r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" compress: NotRequired[bool] @@ -17967,14 +17672,14 @@ class OutputResponseOutputWebhookWebhook2TypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[OutputResponseOutputWebhookAuthenticationType2] - r"""Authentication method to use for the HTTP request""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + auth_type: NotRequired[OutputResponseAuthType] + scope: NotRequired[str] + r"""Scope to pass in the OAuth request""" total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + format_: NotRequired[OutputResponseFormatSentinel] custom_source_expression: NotRequired[str] r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" custom_drop_when_null: NotRequired[bool] @@ -18013,39 +17718,15 @@ class OutputResponseOutputWebhookWebhook2TypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponseOutputWebhookPqControls2TypedDict] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - login_url: NotRequired[str] - r"""URL for OAuth""" - secret_param_name: NotRequired[str] - r"""Secret parameter name to pass in request body""" - secret: NotRequired[str] - r"""Secret parameter value to pass in request body""" - token_attribute_name: NotRequired[str] - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - auth_header_expr: NotRequired[str] - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - token_timeout_secs: NotRequired[float] - r"""How often the OAuth token should be refreshed.""" - oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" - oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] - 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.""" + pq_controls: NotRequired[OutputResponsePqControlsSentinelTypedDict] url: NotRequired[str] - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""URL to send events to. Can be overwritten by an event's __url field.""" + dcr_id: NotRequired[str] + r"""Immutable ID for the Data Collection Rule (DCR)""" + dce_endpoint: NotRequired[str] + r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" + stream_name: NotRequired[str] + r"""The name of the stream (Sentinel table) in which to store the events""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -18056,18 +17737,41 @@ class OutputResponseOutputWebhookWebhook2TypedDict(TypedDict): r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" template_secret: NotRequired[str] r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" + template_scope: NotRequired[str] + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" template_url: NotRequired[str] r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_dcr_id: NotRequired[str] + r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" + template_dce_endpoint: NotRequired[str] + r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" + template_stream_name: NotRequired[str] + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputWebhookWebhook2(BaseModel): - type: OutputResponseOutputWebhookType2 +class OutputResponseOutputSentinel(BaseModel): + type: OutputResponseTypeSentinel - urls: List[OutputResponseOutputWebhookURL2] + login_url: Annotated[str, pydantic.Field(alias="loginUrl")] + r"""URL for OAuth""" + + secret: str + r"""Secret parameter value to pass in request body""" + + client_id: str + r"""JavaScript expression to compute the Client ID for the Azure application. Can be a constant.""" + + endpoint_url_configuration: Annotated[ + OutputResponseEndpointConfiguration, + pydantic.Field(alias="endpointURLConfiguration"), + ] + r"""Enter the data collection endpoint URL or the individual ID""" id: Optional[str] = None r"""Unique ID for this output""" @@ -18086,14 +17790,6 @@ class OutputResponseOutputWebhookWebhook2(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - method: Optional[MethodOptions] = None - r"""The method to use when sending events""" - - format_: Annotated[ - Optional[OutputResponseOutputWebhookFormat2], pydantic.Field(alias="format") - ] = None - r"""How to format events before sending out""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None r"""Disable to close the connection immediately after sending the outgoing request""" @@ -18103,7 +17799,7 @@ class OutputResponseOutputWebhookWebhook2(BaseModel): max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Maximum size (KB) of the request body (defaults to the API's maximum limit of 1000 KB)""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") @@ -18172,24 +17868,23 @@ class OutputResponseOutputWebhookWebhook2(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[OutputResponseOutputWebhookAuthenticationType2], - pydantic.Field(alias="authType"), + Optional[OutputResponseAuthType], pydantic.Field(alias="authType") ] = None - r"""Authentication method to use for the HTTP request""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + scope: Optional[str] = None + r"""Scope to pass in the OAuth request""" total_memory_limit_kb: Annotated[ Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" + + format_: Annotated[ + Optional[OutputResponseFormatSentinel], pydantic.Field(alias="format") + ] = None custom_source_expression: Annotated[ Optional[str], pydantic.Field(alias="customSourceExpression") @@ -18281,78 +17976,20 @@ class OutputResponseOutputWebhookWebhook2(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponseOutputWebhookPqControls2], - pydantic.Field(alias="pqControls"), - ] = None - - username: Optional[str] = None - - password: Optional[str] = None - - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") - ] = None - r"""Select or create a secret that references your credentials""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None - r"""URL for OAuth""" - - secret_param_name: Annotated[ - Optional[str], pydantic.Field(alias="secretParamName") - ] = None - r"""Secret parameter name to pass in request body""" - - secret: Optional[str] = None - r"""Secret parameter value to pass in request body""" - - token_attribute_name: Annotated[ - Optional[str], pydantic.Field(alias="tokenAttributeName") - ] = None - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - - auth_header_expr: Annotated[ - Optional[str], pydantic.Field(alias="authHeaderExpr") - ] = None - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - - token_timeout_secs: Annotated[ - Optional[float], pydantic.Field(alias="tokenTimeoutSecs") - ] = None - r"""How often the OAuth token should be refreshed.""" - - oauth_params: Annotated[ - Optional[List[OauthParamConfInputServicenowTable]], - pydantic.Field(alias="oauthParams"), - ] = None - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" - - oauth_headers: Annotated[ - Optional[List[OauthHeaderConfInputServicenowTable]], - pydantic.Field(alias="oauthHeaders"), + Optional[OutputResponsePqControlsSentinel], pydantic.Field(alias="pqControls") ] = None - 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.""" url: Optional[str] = None - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + r"""URL to send events to. Can be overwritten by an event's __url field.""" - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + dcr_id: Annotated[Optional[str], pydantic.Field(alias="dcrID")] = None + r"""Immutable ID for the Data Collection Rule (DCR)""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + dce_endpoint: Annotated[Optional[str], pydantic.Field(alias="dceEndpoint")] = None + r"""Data collection endpoint (DCE) URL. In the format: `https://-..ingest.monitor.azure.com`""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + stream_name: Annotated[Optional[str], pydantic.Field(alias="streamName")] = None + r"""The name of the stream (Sentinel table) in which to store the events""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -18379,58 +18016,83 @@ class OutputResponseOutputWebhookWebhook2(BaseModel): ] = None r"""Binds 'secret' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'secret' at runtime.""" + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_client_id") + ] = None + r"""Binds 'client_id' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'client_id' at runtime.""" + + template_scope: Annotated[ + Optional[str], pydantic.Field(alias="__template_scope") + ] = None + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_dcr_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_dcrID") + ] = None + r"""Binds 'dcrID' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dcrID' at runtime.""" + + template_dce_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_dceEndpoint") + ] = None + r"""Binds 'dceEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'dceEndpoint' at runtime.""" + + template_stream_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamName") + ] = None + r"""Binds 'streamName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamName' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("method") - def serialize_method(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.MethodOptions(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.OutputResponseOutputWebhookFormat2(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.OutputResponseAuthType(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("endpoint_url_configuration") + def serialize_endpoint_url_configuration(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.OutputResponseEndpointConfiguration(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.OutputResponseOutputWebhookAuthenticationType2(value) + return models.OutputResponseFormatSentinel(value) except ValueError: return value return value @@ -18471,8 +18133,6 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "method", - "format", "keepAlive", "concurrency", "maxPayloadSizeKB", @@ -18490,10 +18150,10 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "onBackpressure", "authType", - "tls", + "scope", "totalMemoryLimitKB", - "loadBalanced", "description", + "format", "customSourceExpression", "customDropWhenNull", "customEventDelimiter", @@ -18514,29 +18174,21 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "loginUrl", - "secretParamName", - "secret", - "tokenAttributeName", - "authHeaderExpr", - "tokenTimeoutSecs", - "oauthParams", - "oauthHeaders", "url", - "excludeSelf", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", + "dcrID", + "dceEndpoint", + "streamName", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", "__template_loginUrl", "__template_secret", + "__template_client_id", + "__template_scope", "__template_url", + "__template_dcrID", + "__template_dceEndpoint", + "__template_streamName", "notifications", "status", ] @@ -18555,11 +18207,11 @@ def serialize_model(self, handler): return m -class OutputResponseOutputWebhookType1(str, Enum): +class OutputResponseOutputWebhookType2(str, Enum): WEBHOOK = "webhook" -class OutputResponseOutputWebhookFormat1(str, Enum, metaclass=utils.OpenEnumMeta): +class OutputResponseOutputWebhookFormat2(str, Enum, metaclass=utils.OpenEnumMeta): r"""How to format events before sending out""" # NDJSON (Newline Delimited JSON) @@ -18572,7 +18224,7 @@ class OutputResponseOutputWebhookFormat1(str, Enum, metaclass=utils.OpenEnumMeta ADVANCED = "advanced" -class OutputResponseOutputWebhookAuthenticationType1( +class OutputResponseOutputWebhookAuthenticationType2( str, Enum, metaclass=utils.OpenEnumMeta ): r"""Authentication method to use for the HTTP request""" @@ -18591,15 +18243,15 @@ class OutputResponseOutputWebhookAuthenticationType1( OAUTH = "oauth" -class OutputResponseOutputWebhookPqControls1TypedDict(TypedDict): +class OutputResponseOutputWebhookPqControls2TypedDict(TypedDict): pass -class OutputResponseOutputWebhookPqControls1(BaseModel): +class OutputResponseOutputWebhookPqControls2(BaseModel): pass -class OutputResponseOutputWebhookURL1TypedDict(TypedDict): +class OutputResponseOutputWebhookURL2TypedDict(TypedDict): url: str r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" weight: NotRequired[float] @@ -18608,7 +18260,7 @@ class OutputResponseOutputWebhookURL1TypedDict(TypedDict): r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" -class OutputResponseOutputWebhookURL1(BaseModel): +class OutputResponseOutputWebhookURL2(BaseModel): url: str r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" @@ -18637,10 +18289,9 @@ def serialize_model(self, handler): return m -class OutputResponseOutputWebhookWebhook1TypedDict(TypedDict): - type: OutputResponseOutputWebhookType1 - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" +class OutputResponseOutputWebhookWebhook2TypedDict(TypedDict): + type: OutputResponseOutputWebhookType2 + urls: List[OutputResponseOutputWebhookURL2TypedDict] id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -18653,7 +18304,7 @@ class OutputResponseOutputWebhookWebhook1TypedDict(TypedDict): r"""Tags for filtering and grouping in @{product}""" method: NotRequired[MethodOptions] r"""The method to use when sending events""" - format_: NotRequired[OutputResponseOutputWebhookFormat1] + format_: NotRequired[OutputResponseOutputWebhookFormat2] r"""How to format events before sending out""" keep_alive: NotRequired[bool] r"""Disable to close the connection immediately after sending the outgoing request""" @@ -18691,7 +18342,7 @@ class OutputResponseOutputWebhookWebhook1TypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[OutputResponseOutputWebhookAuthenticationType1] + auth_type: NotRequired[OutputResponseOutputWebhookAuthenticationType2] r"""Authentication method to use for the HTTP request""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] total_memory_limit_kb: NotRequired[float] @@ -18699,6 +18350,7 @@ class OutputResponseOutputWebhookWebhook1TypedDict(TypedDict): load_balanced: NotRequired[bool] r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_source_expression: NotRequired[str] r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" custom_drop_when_null: NotRequired[bool] @@ -18737,7 +18389,7 @@ class OutputResponseOutputWebhookWebhook1TypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponseOutputWebhookPqControls1TypedDict] + pq_controls: NotRequired[OutputResponseOutputWebhookPqControls2TypedDict] username: NotRequired[str] password: NotRequired[str] token: NotRequired[str] @@ -18762,9 +18414,10 @@ class OutputResponseOutputWebhookWebhook1TypedDict(TypedDict): r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] 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.""" + url: NotRequired[str] + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[OutputResponseOutputWebhookURL1TypedDict]] dns_resolve_period_sec: NotRequired[float] r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" load_balance_stats_period_sec: NotRequired[float] @@ -18787,11 +18440,10 @@ class OutputResponseOutputWebhookWebhook1TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputWebhookWebhook1(BaseModel): - type: OutputResponseOutputWebhookType1 +class OutputResponseOutputWebhookWebhook2(BaseModel): + type: OutputResponseOutputWebhookType2 - url: str - r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + urls: List[OutputResponseOutputWebhookURL2] id: Optional[str] = None r"""Unique ID for this output""" @@ -18814,7 +18466,7 @@ class OutputResponseOutputWebhookWebhook1(BaseModel): r"""The method to use when sending events""" format_: Annotated[ - Optional[OutputResponseOutputWebhookFormat1], pydantic.Field(alias="format") + Optional[OutputResponseOutputWebhookFormat2], pydantic.Field(alias="format") ] = None r"""How to format events before sending out""" @@ -18896,7 +18548,7 @@ class OutputResponseOutputWebhookWebhook1(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" auth_type: Annotated[ - Optional[OutputResponseOutputWebhookAuthenticationType1], + Optional[OutputResponseOutputWebhookAuthenticationType2], pydantic.Field(alias="authType"), ] = None r"""Authentication method to use for the HTTP request""" @@ -18914,6 +18566,7 @@ class OutputResponseOutputWebhookWebhook1(BaseModel): r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: Optional[str] = None + r"""Optional description for this configuration.""" custom_source_expression: Annotated[ Optional[str], pydantic.Field(alias="customSourceExpression") @@ -19005,7 +18658,7 @@ class OutputResponseOutputWebhookWebhook1(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponseOutputWebhookPqControls1], + Optional[OutputResponseOutputWebhookPqControls2], pydantic.Field(alias="pqControls"), ] = None @@ -19062,11 +18715,12 @@ class OutputResponseOutputWebhookWebhook1(BaseModel): ] = None 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.""" + url: Optional[str] = None + r"""URL of a webhook endpoint to send events to, such as http://localhost:10200""" + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: Optional[List[OutputResponseOutputWebhookURL1]] = None - dns_resolve_period_sec: Annotated[ Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None @@ -19126,7 +18780,7 @@ def serialize_method(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.OutputResponseOutputWebhookFormat1(value) + return models.OutputResponseOutputWebhookFormat2(value) except ValueError: return value return value @@ -19153,7 +18807,7 @@ def serialize_on_backpressure(self, value): def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.OutputResponseOutputWebhookAuthenticationType1(value) + return models.OutputResponseOutputWebhookAuthenticationType2(value) except ValueError: return value return value @@ -19250,8 +18904,8 @@ def serialize_model(self, handler): "tokenTimeoutSecs", "oauthParams", "oauthHeaders", + "url", "excludeSelf", - "urls", "dnsResolvePeriodSec", "loadBalanceStatsPeriodSec", "__template_streamtags", @@ -19278,6 +18932,46 @@ def serialize_model(self, handler): return m +class OutputResponseOutputWebhookType1(str, Enum): + WEBHOOK = "webhook" + + +class OutputResponseOutputWebhookFormat1(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How to format events before sending out""" + + # NDJSON (Newline Delimited JSON) + NDJSON = "ndjson" + # JSON Array + JSON_ARRAY = "json_array" + # Custom + CUSTOM = "custom" + # Advanced + ADVANCED = "advanced" + + +class OutputResponseOutputWebhookAuthenticationType1( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Authentication method to use for the HTTP request""" + + # None + NONE = "none" + # Basic + BASIC = "basic" + # Basic (credentials secret) + CREDENTIALS_SECRET = "credentialsSecret" + # Token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" + # OAuth + OAUTH = "oauth" + + +try: + OutputResponseOutputStatsdExt.model_rebuild() +except NameError: + pass try: OutputResponseOutputStatsd.model_rebuild() except NameError: @@ -19450,11 +19144,3 @@ def serialize_model(self, handler): OutputResponseOutputWebhookWebhook2.model_rebuild() except NameError: pass -try: - OutputResponseOutputWebhookURL1.model_rebuild() -except NameError: - pass -try: - OutputResponseOutputWebhookWebhook1.model_rebuild() -except NameError: - pass diff --git a/src/cribl_control_plane/models/outputresponse_pqcontrols_statsd.py b/src/cribl_control_plane/models/outputresponse_pqcontrols_statsdext.py similarity index 97% rename from src/cribl_control_plane/models/outputresponse_pqcontrols_statsd.py rename to src/cribl_control_plane/models/outputresponse_pqcontrols_statsdext.py index 21b00623b..c5c08cde5 100644 --- a/src/cribl_control_plane/models/outputresponse_pqcontrols_statsd.py +++ b/src/cribl_control_plane/models/outputresponse_pqcontrols_statsdext.py @@ -139,18 +139,18 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict -class OutputResponseTypeAlibabaCloudS3(str, Enum): - ALIBABA_CLOUD_S3 = "alibaba_cloud_s3" +class OutputResponseTypeIbmCloudS3(str, Enum): + IBM_CLOUD_S3 = "ibm_cloud_s3" -class OutputResponseOutputAlibabaCloudS3TypedDict(TypedDict): - type: OutputResponseTypeAlibabaCloudS3 +class OutputResponseOutputIbmCloudS3TypedDict(TypedDict): + type: OutputResponseTypeIbmCloudS3 + endpoint: str + r"""IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud)""" bucket: str - r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -209,9 +209,8 @@ class OutputResponseOutputAlibabaCloudS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -250,6 +249,8 @@ class OutputResponseOutputAlibabaCloudS3TypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_dest_path: NotRequired[str] @@ -264,10 +265,6 @@ class OutputResponseOutputAlibabaCloudS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] @@ -278,18 +275,18 @@ class OutputResponseOutputAlibabaCloudS3TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputAlibabaCloudS3(BaseModel): - type: OutputResponseTypeAlibabaCloudS3 +class OutputResponseOutputIbmCloudS3(BaseModel): + type: OutputResponseTypeIbmCloudS3 + + endpoint: str + r"""IBM Cloud Object Storage S3-compatible endpoint URL (example: https://s3.us-south.cloud-object-storage.appdomain.cloud)""" bucket: str - r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination IBM Cloud Object Storage bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" - id: Optional[str] = None r"""Unique ID for this output""" @@ -427,12 +424,8 @@ class OutputResponseOutputAlibabaCloudS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") - ] = None - r"""Object ACL to assign to uploaded objects""" - description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -526,6 +519,11 @@ class OutputResponseOutputAlibabaCloudS3(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_bucket: Annotated[ Optional[str], pydantic.Field(alias="__template_bucket") ] = None @@ -561,16 +559,6 @@ class OutputResponseOutputAlibabaCloudS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") ] = None @@ -623,15 +611,6 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): - if isinstance(value, str): - try: - return models.ObjectACLOptions(value) - except ValueError: - return value - return value - @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -702,7 +681,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", "description", "awsSecret", "compress", @@ -723,6 +701,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_destPath", "__template_partitionExpr", @@ -730,8 +709,6 @@ def serialize_model(self, handler): "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_objectACL", - "__template_endpoint", "__template_compress", "__template_parquetSchema", "notifications", @@ -752,18 +729,29 @@ def serialize_model(self, handler): return m -class OutputResponseTypeScalityS3(str, Enum): - SCALITY_S3 = "scality_s3" +class OutputResponseTypeAlibabaCloudS3(str, Enum): + ALIBABA_CLOUD_S3 = "alibaba_cloud_s3" -class OutputResponseOutputScalityS3TypedDict(TypedDict): - type: OutputResponseTypeScalityS3 +class OutputResponseAuthenticationMethodAlibabaCloudS3( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Authentication method.""" + + # Auto + AUTO = "auto" + # Secret + SECRET = "secret" + + +class OutputResponseOutputAlibabaCloudS3TypedDict(TypedDict): + type: OutputResponseTypeAlibabaCloudS3 bucket: str - r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" + r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -774,14 +762,14 @@ class OutputResponseOutputScalityS3TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] + aws_authentication_method: NotRequired[ + OutputResponseAuthenticationMethodAlibabaCloudS3 + ] r"""Authentication method.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the Scality bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -824,7 +812,10 @@ class OutputResponseOutputScalityS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -865,8 +856,6 @@ class OutputResponseOutputScalityS3TypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -879,6 +868,8 @@ class OutputResponseOutputScalityS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" template_endpoint: NotRequired[str] r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] @@ -891,17 +882,17 @@ class OutputResponseOutputScalityS3TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputScalityS3(BaseModel): - type: OutputResponseTypeScalityS3 +class OutputResponseOutputAlibabaCloudS3(BaseModel): + type: OutputResponseTypeAlibabaCloudS3 bucket: str - r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Alibaba OSS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" + r"""Alibaba OSS S3-compatible endpoint URL. Examples: public `https://s3.oss-{region}.aliyuncs.com`, internal `https://s3.oss-{region}-internal.aliyuncs.com`""" id: Optional[str] = None r"""Unique ID for this output""" @@ -921,7 +912,7 @@ class OutputResponseOutputScalityS3(BaseModel): r"""Tags for filtering and grouping in @{product}""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsSecret], + Optional[OutputResponseAuthenticationMethodAlibabaCloudS3], pydantic.Field(alias="awsAuthenticationMethod"), ] = None r"""Authentication method.""" @@ -936,9 +927,6 @@ class OutputResponseOutputScalityS3(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: Optional[str] = None - r"""Region where the Scality bucket is located""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -1043,7 +1031,13 @@ class OutputResponseOutputScalityS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" + description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -1142,11 +1136,6 @@ class OutputResponseOutputScalityS3(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None @@ -1177,6 +1166,11 @@ class OutputResponseOutputScalityS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_endpoint: Annotated[ Optional[str], pydantic.Field(alias="__template_endpoint") ] = None @@ -1202,7 +1196,7 @@ class OutputResponseOutputScalityS3(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsSecret(value) + return models.OutputResponseAuthenticationMethodAlibabaCloudS3(value) except ValueError: return value return value @@ -1234,6 +1228,15 @@ def serialize_on_disk_full_backpressure(self, value): return value return value + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -1282,7 +1285,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -1305,6 +1307,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "objectACL", "description", "awsSecret", "compress", @@ -1326,13 +1329,13 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", - "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", + "__template_objectACL", "__template_endpoint", "__template_compress", "__template_parquetSchema", @@ -1354,18 +1357,18 @@ def serialize_model(self, handler): return m -class OutputResponseTypeCloudianS3(str, Enum): - CLOUDIAN_S3 = "cloudian_s3" +class OutputResponseTypeScalityS3(str, Enum): + SCALITY_S3 = "scality_s3" -class OutputResponseOutputCloudianS3TypedDict(TypedDict): - type: OutputResponseTypeCloudianS3 - endpoint: str - r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" +class OutputResponseOutputScalityS3TypedDict(TypedDict): + type: OutputResponseTypeScalityS3 bucket: str - r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -1383,7 +1386,7 @@ class OutputResponseOutputCloudianS3TypedDict(TypedDict): reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: NotRequired[str] - r"""Region where the Cloudian bucket is located""" + r"""Region where the Scality bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -1426,15 +1429,8 @@ class OutputResponseOutputCloudianS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptions] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: NotRequired[str] - r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -1473,8 +1469,6 @@ class OutputResponseOutputCloudianS3TypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_region: NotRequired[str] @@ -1491,14 +1485,8 @@ class OutputResponseOutputCloudianS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_kms_key_id: NotRequired[str] - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] @@ -1509,18 +1497,18 @@ class OutputResponseOutputCloudianS3TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputCloudianS3(BaseModel): - type: OutputResponseTypeCloudianS3 - - endpoint: str - r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" +class OutputResponseOutputScalityS3(BaseModel): + type: OutputResponseTypeScalityS3 bucket: str - r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Scality bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Scality RING S3-compatible endpoint URL (example: https://s3.scality.example.com)""" + id: Optional[str] = None r"""Unique ID for this output""" @@ -1555,7 +1543,7 @@ class OutputResponseOutputCloudianS3(BaseModel): r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: Optional[str] = None - r"""Region where the Cloudian bucket is located""" + r"""Region where the Scality bucket is located""" dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -1661,26 +1649,8 @@ class OutputResponseOutputCloudianS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") - ] = None - r"""Object ACL to assign to uploaded objects""" - - storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") - ] = None - r"""Storage class to select for uploaded objects""" - - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), - ] = None - r"""Server-side encryption to use for uploaded objects""" - - kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None - r"""ID or ARN of the KMS customer-managed key to use for encryption""" - description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -1774,11 +1744,6 @@ class OutputResponseOutputCloudianS3(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_bucket: Annotated[ Optional[str], pydantic.Field(alias="__template_bucket") ] = None @@ -1819,25 +1784,10 @@ class OutputResponseOutputCloudianS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") - ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -1891,33 +1841,6 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): - if isinstance(value, str): - try: - return models.ObjectACLOptions(value) - except ValueError: - return value - return value - - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.StorageClassOptions(value) - except ValueError: - return value - return value - - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptions(value) - except ValueError: - return value - return value - @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -1989,10 +1912,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", "description", "awsSecret", "compress", @@ -2013,7 +1932,6 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -2022,10 +1940,7 @@ def serialize_model(self, handler): "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", + "__template_endpoint", "__template_compress", "__template_parquetSchema", "notifications", @@ -2046,18 +1961,18 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDellS3(str, Enum): - DELL_S3 = "dell_s3" +class OutputResponseTypeCloudianS3(str, Enum): + CLOUDIAN_S3 = "cloudian_s3" -class OutputResponseOutputDellS3TypedDict(TypedDict): - type: OutputResponseTypeDellS3 +class OutputResponseOutputCloudianS3TypedDict(TypedDict): + type: OutputResponseTypeCloudianS3 + endpoint: str + r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" bucket: str - r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -2075,7 +1990,7 @@ class OutputResponseOutputDellS3TypedDict(TypedDict): reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: NotRequired[str] - r"""Region where the Dell PowerScale OneFS bucket is located""" + r"""Region where the Cloudian bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -2120,7 +2035,14 @@ class OutputResponseOutputDellS3TypedDict(TypedDict): orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] object_acl: NotRequired[ObjectACLOptions] r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptions] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: NotRequired[str] + r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -2159,6 +2081,8 @@ class OutputResponseOutputDellS3TypedDict(TypedDict): r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_region: NotRequired[str] @@ -2177,8 +2101,12 @@ class OutputResponseOutputDellS3TypedDict(TypedDict): r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" template_object_acl: NotRequired[str] r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_kms_key_id: NotRequired[str] + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] @@ -2189,18 +2117,18 @@ class OutputResponseOutputDellS3TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputDellS3(BaseModel): - type: OutputResponseTypeDellS3 +class OutputResponseOutputCloudianS3(BaseModel): + type: OutputResponseTypeCloudianS3 + + endpoint: str + r"""Cloudian HyperStore S3-compatible endpoint URL (example: https://s3.hyperstore.example.com)""" bucket: str - r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Cloudian bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" - id: Optional[str] = None r"""Unique ID for this output""" @@ -2235,7 +2163,7 @@ class OutputResponseOutputDellS3(BaseModel): r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" region: Optional[str] = None - r"""Region where the Dell PowerScale OneFS bucket is located""" + r"""Region where the Cloudian bucket is located""" dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -2346,7 +2274,22 @@ class OutputResponseOutputDellS3(BaseModel): ] = None r"""Object ACL to assign to uploaded objects""" + storage_class: Annotated[ + Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + ] = None + r"""Storage class to select for uploaded objects""" + + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptions], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" + + kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None + r"""ID or ARN of the KMS customer-managed key to use for encryption""" + description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -2440,6 +2383,11 @@ class OutputResponseOutputDellS3(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_bucket: Annotated[ Optional[str], pydantic.Field(alias="__template_bucket") ] = None @@ -2485,10 +2433,20 @@ class OutputResponseOutputDellS3(BaseModel): ] = None r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + + template_kms_key_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_kmsKeyId") + ] = None + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -2551,6 +2509,24 @@ def serialize_object_acl(self, value): return value return value + @field_serializer("storage_class") + def serialize_storage_class(self, value): + if isinstance(value, str): + try: + return models.StorageClassOptions(value) + except ValueError: + return value + return value + + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): + if isinstance(value, str): + try: + return models.ServerSideEncryptionForUploadedObjectsOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -2623,6 +2599,9 @@ def serialize_model(self, handler): "retrySettings", "orphans", "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", "description", "awsSecret", "compress", @@ -2643,6 +2622,7 @@ def serialize_model(self, handler): "deadletterPath", "maxRetryNum", "__template_streamtags", + "__template_endpoint", "__template_bucket", "__template_region", "__template_destPath", @@ -2652,7 +2632,9 @@ def serialize_model(self, handler): "__template_fileNameSuffix", "__template_onBackpressure", "__template_objectACL", - "__template_endpoint", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", "__template_compress", "__template_parquetSchema", "notifications", @@ -2673,16 +2655,18 @@ def serialize_model(self, handler): return m -class OutputResponseTypeAlphasocS3(str, Enum): - ALPHASOC_S3 = "alphasoc_s3" +class OutputResponseTypeDellS3(str, Enum): + DELL_S3 = "dell_s3" -class OutputResponseOutputAlphasocS3TypedDict(TypedDict): - type: OutputResponseTypeAlphasocS3 +class OutputResponseOutputDellS3TypedDict(TypedDict): + type: OutputResponseTypeDellS3 bucket: str - r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -2699,6 +2683,8 @@ class OutputResponseOutputAlphasocS3TypedDict(TypedDict): r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the Dell PowerScale OneFS bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -2741,9 +2727,10 @@ class OutputResponseOutputAlphasocS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - endpoint: NotRequired[str] - r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -2784,8 +2771,12 @@ class OutputResponseOutputAlphasocS3TypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_base_file_name: NotRequired[str] @@ -2794,6 +2785,8 @@ class OutputResponseOutputAlphasocS3TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" template_endpoint: NotRequired[str] r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] @@ -2806,15 +2799,18 @@ class OutputResponseOutputAlphasocS3TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputAlphasocS3(BaseModel): - type: OutputResponseTypeAlphasocS3 +class OutputResponseOutputDellS3(BaseModel): + type: OutputResponseTypeDellS3 bucket: str - r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Dell PowerScale OneFS bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Dell PowerScale OneFS S3-compatible endpoint URL (example: https://powerscale.example.com:9021)""" + id: Optional[str] = None r"""Unique ID for this output""" @@ -2848,6 +2844,9 @@ class OutputResponseOutputAlphasocS3(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: Optional[str] = None + r"""Region where the Dell PowerScale OneFS bucket is located""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -2952,10 +2951,13 @@ class OutputResponseOutputAlphasocS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - endpoint: Optional[str] = None - r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -3054,11 +3056,21 @@ class OutputResponseOutputAlphasocS3(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None @@ -3079,6 +3091,11 @@ class OutputResponseOutputAlphasocS3(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") + ] = None + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_endpoint: Annotated[ Optional[str], pydantic.Field(alias="__template_endpoint") ] = None @@ -3136,6 +3153,15 @@ def serialize_on_disk_full_backpressure(self, value): return value return value + @field_serializer("object_acl") + def serialize_object_acl(self, value): + if isinstance(value, str): + try: + return models.ObjectACLOptions(value) + except ValueError: + return value + return value + @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -3184,6 +3210,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -3206,7 +3233,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "endpoint", + "objectACL", "description", "awsSecret", "compress", @@ -3228,11 +3255,14 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", + "__template_region", "__template_destPath", + "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", + "__template_objectACL", "__template_endpoint", "__template_compress", "__template_parquetSchema", @@ -3254,18 +3284,16 @@ def serialize_model(self, handler): return m -class OutputResponseTypeStorjS3(str, Enum): - STORJ_S3 = "storj_s3" +class OutputResponseTypeAlphasocS3(str, Enum): + ALPHASOC_S3 = "alphasoc_s3" -class OutputResponseOutputStorjS3TypedDict(TypedDict): - type: OutputResponseTypeStorjS3 +class OutputResponseOutputAlphasocS3TypedDict(TypedDict): + type: OutputResponseTypeAlphasocS3 bucket: str - r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -3324,7 +3352,10 @@ class OutputResponseOutputStorjS3TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + endpoint: NotRequired[str] + r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -3367,8 +3398,6 @@ class OutputResponseOutputStorjS3TypedDict(TypedDict): r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_base_file_name: NotRequired[str] @@ -3389,18 +3418,15 @@ class OutputResponseOutputStorjS3TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputStorjS3(BaseModel): - type: OutputResponseTypeStorjS3 +class OutputResponseOutputAlphasocS3(BaseModel): + type: OutputResponseTypeAlphasocS3 bucket: str - r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination AlphaSOC bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - endpoint: str - r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" - id: Optional[str] = None r"""Unique ID for this output""" @@ -3538,7 +3564,11 @@ class OutputResponseOutputStorjS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None + endpoint: Optional[str] = None + r"""AlphaSOC S3-compatible endpoint URL (example: https://s3.alphasoc.net)""" + description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -3642,11 +3672,6 @@ class OutputResponseOutputStorjS3(BaseModel): ] = None r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") - ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None @@ -3794,6 +3819,7 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", + "endpoint", "description", "awsSecret", "compress", @@ -3816,7 +3842,6 @@ def serialize_model(self, handler): "__template_streamtags", "__template_bucket", "__template_destPath", - "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", @@ -3842,18 +3867,18 @@ def serialize_model(self, handler): return m -class OutputResponseTypeNutanixObjects(str, Enum): - NUTANIX_OBJECTS = "nutanix_objects" +class OutputResponseTypeStorjS3(str, Enum): + STORJ_S3 = "storj_s3" -class OutputResponseOutputNutanixObjectsTypedDict(TypedDict): - type: OutputResponseTypeNutanixObjects +class OutputResponseOutputStorjS3TypedDict(TypedDict): + type: OutputResponseTypeStorjS3 bucket: str - r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" + r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -3870,8 +3895,6 @@ class OutputResponseOutputNutanixObjectsTypedDict(TypedDict): r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the Nutanix Objects bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -3915,6 +3938,7 @@ class OutputResponseOutputNutanixObjectsTypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -3955,8 +3979,6 @@ class OutputResponseOutputNutanixObjectsTypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -3981,17 +4003,17 @@ class OutputResponseOutputNutanixObjectsTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputNutanixObjects(BaseModel): - type: OutputResponseTypeNutanixObjects +class OutputResponseOutputStorjS3(BaseModel): + type: OutputResponseTypeStorjS3 bucket: str - r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Storj bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" + r"""Storj S3-compatible gateway endpoint URL (example: https://gateway.storjshare.io)""" id: Optional[str] = None r"""Unique ID for this output""" @@ -4026,9 +4048,6 @@ class OutputResponseOutputNutanixObjects(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: Optional[str] = None - r"""Region where the Nutanix Objects bucket is located""" - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -4134,6 +4153,7 @@ class OutputResponseOutputNutanixObjects(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -4232,11 +4252,6 @@ class OutputResponseOutputNutanixObjects(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None @@ -4372,7 +4387,6 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -4416,7 +4430,6 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", - "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", @@ -4444,18 +4457,18 @@ def serialize_model(self, handler): return m -class OutputResponseTypeCloudflareR2(str, Enum): - CLOUDFLARE_R2 = "cloudflare_r2" +class OutputResponseTypeNutanixObjects(str, Enum): + NUTANIX_OBJECTS = "nutanix_objects" -class OutputResponseOutputCloudflareR2TypedDict(TypedDict): - type: OutputResponseTypeCloudflareR2 +class OutputResponseOutputNutanixObjectsTypedDict(TypedDict): + type: OutputResponseTypeNutanixObjects bucket: str - r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" + r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -4466,12 +4479,14 @@ class OutputResponseOutputCloudflareR2TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] - r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsSecret] + r"""Authentication method.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the Nutanix Objects bucket is located""" dest_path: NotRequired[str] r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] @@ -4514,15 +4529,8 @@ class OutputResponseOutputCloudflareR2TypedDict(TypedDict): r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ - ServerSideEncryptionForUploadedObjectsOptionsAes256 - ] - r"""Server-side encryption to use for uploaded objects""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -4563,6 +4571,8 @@ class OutputResponseOutputCloudflareR2TypedDict(TypedDict): r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_bucket: NotRequired[str] r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_dest_path: NotRequired[str] r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" template_partition_expr: NotRequired[str] @@ -4575,12 +4585,8 @@ class OutputResponseOutputCloudflareR2TypedDict(TypedDict): r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: NotRequired[str] r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] @@ -4591,17 +4597,17 @@ class OutputResponseOutputCloudflareR2TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputCloudflareR2(BaseModel): - type: OutputResponseTypeCloudflareR2 +class OutputResponseOutputNutanixObjects(BaseModel): + type: OutputResponseTypeNutanixObjects bucket: str - r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + r"""Name of the destination Nutanix Objects bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" endpoint: str - r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" + r"""Nutanix Objects S3-compatible endpoint URL (example: https://objects.nutanix.local)""" id: Optional[str] = None r"""Unique ID for this output""" @@ -4621,10 +4627,10 @@ class OutputResponseOutputCloudflareR2(BaseModel): r"""Tags for filtering and grouping in @{product}""" aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsAutoSecret], + Optional[AuthenticationMethodOptionsSecret], pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + r"""Authentication method.""" reuse_connections: Annotated[ Optional[bool], pydantic.Field(alias="reuseConnections") @@ -4636,6 +4642,9 @@ class OutputResponseOutputCloudflareR2(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: Optional[str] = None + r"""Region where the Nutanix Objects bucket is located""" + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" @@ -4740,24 +4749,8 @@ class OutputResponseOutputCloudflareR2(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" - - storage_class: Annotated[ - Optional[StorageClassOptionsReducedredundancyStandard], - pydantic.Field(alias="storageClass"), - ] = None - r"""Storage class to select for uploaded objects""" - - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], - pydantic.Field(alias="serverSideEncryption"), - ] = None - r"""Server-side encryption to use for uploaded objects""" - description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" @@ -4856,6 +4849,11 @@ class OutputResponseOutputCloudflareR2(BaseModel): ] = None r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: Annotated[ Optional[str], pydantic.Field(alias="__template_destPath") ] = None @@ -4886,20 +4884,10 @@ class OutputResponseOutputCloudflareR2(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" template_compress: Annotated[ Optional[str], pydantic.Field(alias="__template_compress") @@ -4921,7 +4909,7 @@ class OutputResponseOutputCloudflareR2(BaseModel): def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAutoSecret(value) + return models.AuthenticationMethodOptionsSecret(value) except ValueError: return value return value @@ -4953,24 +4941,6 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): - if isinstance(value, str): - try: - return models.StorageClassOptionsReducedredundancyStandard(value) - except ValueError: - return value - return value - - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): - if isinstance(value, str): - try: - return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) - except ValueError: - return value - return value - @field_serializer("compress") def serialize_compress(self, value): if isinstance(value, str): @@ -5019,6 +4989,7 @@ def serialize_model(self, handler): "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", + "region", "destPath", "maxConcurrentFileParts", "verifyPermissions", @@ -5041,9 +5012,6 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "storageClass", - "serverSideEncryption", "description", "awsSecret", "compress", @@ -5065,15 +5033,14 @@ def serialize_model(self, handler): "maxRetryNum", "__template_streamtags", "__template_bucket", + "__template_region", "__template_destPath", "__template_partitionExpr", "__template_format", "__template_baseFileName", "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_storageClass", - "__template_serverSideEncryption", + "__template_endpoint", "__template_compress", "__template_parquetSchema", "notifications", @@ -5094,200 +5061,18 @@ def serialize_model(self, handler): return m -class OutputResponseTypeMicrosoftFabric(str, Enum): - MICROSOFT_FABRIC = "microsoft_fabric" - - -class OutputResponseAuthenticationTypedDict(TypedDict): - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - - disabled: bool - mechanism: NotRequired[SaslMechanismOptionsSaslOauthbearerPlain] - username: NotRequired[str] - r"""The username for authentication. This should always be $ConnectionString.""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" - client_secret_auth_type: NotRequired[AuthenticationMethodOptionsAuth] - client_text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - certificate_name: NotRequired[str] - r"""Select or create a stored certificate""" - cert_path: NotRequired[str] - priv_key_path: NotRequired[str] - passphrase: NotRequired[str] - oauth_endpoint: NotRequired[MicrosoftEntraIDAuthenticationEndpointOptionsSasl] - r"""Endpoint used to acquire authentication tokens from Azure""" - client_id: NotRequired[str] - r"""client_id to pass in the OAuth request parameter""" - tenant_id: NotRequired[str] - r"""Directory ID (tenant identifier) in Azure Active Directory""" - scope: NotRequired[str] - r"""Scope to pass in the OAuth request parameter""" - template_mechanism: NotRequired[str] - r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" - template_oauth_endpoint: NotRequired[str] - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - template_client_id: NotRequired[str] - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - template_tenant_id: NotRequired[str] - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - template_scope: NotRequired[str] - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - - -class OutputResponseAuthentication(BaseModel): - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - - disabled: bool - - mechanism: Optional[SaslMechanismOptionsSaslOauthbearerPlain] = None - - username: Optional[str] = None - r"""The username for authentication. This should always be $ConnectionString.""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" - - client_secret_auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuth], - pydantic.Field(alias="clientSecretAuthType"), - ] = None - - client_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="clientTextSecret") - ] = None - r"""Select or create a stored text secret""" - - certificate_name: Annotated[ - Optional[str], pydantic.Field(alias="certificateName") - ] = None - r"""Select or create a stored certificate""" - - cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None - - priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None - - passphrase: Optional[str] = None - - oauth_endpoint: Annotated[ - Optional[MicrosoftEntraIDAuthenticationEndpointOptionsSasl], - pydantic.Field(alias="oauthEndpoint"), - ] = None - r"""Endpoint used to acquire authentication tokens from Azure""" - - client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None - r"""client_id to pass in the OAuth request parameter""" - - tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None - r"""Directory ID (tenant identifier) in Azure Active Directory""" - - scope: Optional[str] = None - r"""Scope to pass in the OAuth request parameter""" - - template_mechanism: Annotated[ - Optional[str], pydantic.Field(alias="__template_mechanism") - ] = None - r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" - - template_oauth_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_oauthEndpoint") - ] = None - r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - - template_client_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_clientId") - ] = None - r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - - template_tenant_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_tenantId") - ] = None - r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - - template_scope: Annotated[ - Optional[str], pydantic.Field(alias="__template_scope") - ] = None - r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - - @field_serializer("mechanism") - def serialize_mechanism(self, value): - if isinstance(value, str): - try: - return models.SaslMechanismOptionsSaslOauthbearerPlain(value) - except ValueError: - return value - return value - - @field_serializer("client_secret_auth_type") - def serialize_client_secret_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuth(value) - except ValueError: - return value - return value +class OutputResponseTypeCloudflareR2(str, Enum): + CLOUDFLARE_R2 = "cloudflare_r2" - @field_serializer("oauth_endpoint") - def serialize_oauth_endpoint(self, value): - if isinstance(value, str): - try: - return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) - except ValueError: - return value - return value - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "mechanism", - "username", - "textSecret", - "clientSecretAuthType", - "clientTextSecret", - "certificateName", - "certPath", - "privKeyPath", - "passphrase", - "oauthEndpoint", - "clientId", - "tenantId", - "scope", - "__template_mechanism", - "__template_oauthEndpoint", - "__template_clientId", - "__template_tenantId", - "__template_scope", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponsePqControlsMicrosoftFabricTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsMicrosoftFabric(BaseModel): - pass - - -class OutputResponseOutputMicrosoftFabricTypedDict(TypedDict): - type: OutputResponseTypeMicrosoftFabric - topic: str - r"""Topic name from Fabric Eventstream's endpoint""" - bootstrap_server: str - r"""Bootstrap server from Fabric Eventstream's endpoint""" +class OutputResponseOutputCloudflareR2TypedDict(TypedDict): + type: OutputResponseTypeCloudflareR2 + bucket: str + r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + endpoint: str + r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -5298,85 +5083,143 @@ class OutputResponseOutputMicrosoftFabricTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - ack: NotRequired[AcknowledgmentsOptions] - r"""Control the number of required acknowledgments""" - format_: NotRequired[RecordDataFormatOptions] - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - max_record_size_kb: NotRequired[float] - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - flush_event_count: NotRequired[float] - r"""Maximum number of events in a batch before forcing a flush""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - connection_timeout: NotRequired[float] - r"""Maximum time to wait for a connection to complete successfully""" - request_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to a request""" - max_retries: NotRequired[float] - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" - max_back_off: NotRequired[float] - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" - initial_backoff: NotRequired[float] - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" - backoff_rate: NotRequired[float] - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" - authentication_timeout: NotRequired[float] - r"""Maximum time to wait for Kafka to respond to an authentication request""" - reauthentication_threshold: NotRequired[float] - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" - sasl: NotRequired[OutputResponseAuthenticationTypedDict] - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - tls: NotRequired[TLSSettingsClientSideTypeTypedDict] - on_backpressure: NotRequired[BackpressureBehaviorOptions] + aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + storage_class: NotRequired[StorageClassOptionsReducedredundancyStandard] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ + ServerSideEncryptionForUploadedObjectsOptionsAes256 + ] + r"""Server-side encryption to use for uploaded objects""" description: NotRequired[str] - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsMicrosoftFabricTypedDict] + r"""Optional description for this configuration.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: NotRequired[str] - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: NotRequired[str] r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_bootstrap_server: NotRequired[str] - r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputMicrosoftFabric(BaseModel): - type: OutputResponseTypeMicrosoftFabric +class OutputResponseOutputCloudflareR2(BaseModel): + type: OutputResponseTypeCloudflareR2 - topic: str - r"""Topic name from Fabric Eventstream's endpoint""" + bucket: str + r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - bootstrap_server: str - r"""Bootstrap server from Fabric Eventstream's endpoint""" + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + + endpoint: str + r"""Cloudflare R2 service URL (example: https://.r2.cloudflarestorage.com)""" id: Optional[str] = None r"""Unique ID for this output""" @@ -5395,153 +5238,297 @@ class OutputResponseOutputMicrosoftFabric(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - ack: Optional[AcknowledgmentsOptions] = None - r"""Control the number of required acknowledgments""" - - format_: Annotated[ - Optional[RecordDataFormatOptions], pydantic.Field(alias="format") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsAutoSecret], + pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + r"""AWS authentication method. Choose Auto to use IAM roles.""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = None - r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + r"""Reuse connections between requests, which can improve performance""" - flush_event_count: Annotated[ - Optional[float], pydantic.Field(alias="flushEventCount") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Maximum number of events in a batch before forcing a flush""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") ] = None - r"""Maximum time to wait for a connection to complete successfully""" + r"""Disable if you can access files within the bucket but not the bucket itself""" - request_timeout: Annotated[ - Optional[float], pydantic.Field(alias="requestTimeout") + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") ] = None - r"""Maximum time to wait for Kafka to respond to a request""" + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" - max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None - r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" - initial_backoff: Annotated[ - Optional[float], pydantic.Field(alias="initialBackoff") + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" + + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") ] = None - r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None - r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - authentication_timeout: Annotated[ - Optional[float], pydantic.Field(alias="authenticationTimeout") + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""Maximum time to wait for Kafka to respond to an authentication request""" + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - reauthentication_threshold: Annotated[ - Optional[float], pydantic.Field(alias="reauthenticationThreshold") + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - sasl: Optional[OutputResponseAuthentication] = None - r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - tls: Optional[TLSSettingsClientSideType] = None + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") + ] = None + r"""Buffer size used to write to a file""" on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), + ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + ] = None + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = None + + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + + storage_class: Annotated[ + Optional[StorageClassOptionsReducedredundancyStandard], + pydantic.Field(alias="storageClass"), + ] = None + r"""Storage class to select for uploaded objects""" + + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptionsAes256], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Compression level to apply before moving files to final destination""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Determines which data types are supported and how they are represented""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") + ] = None + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + ] = None + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""Codec to use to compress the persisted data""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_controls: Annotated[ - Optional[OutputResponsePqControlsMicrosoftFabric], - pydantic.Field(alias="pqControls"), + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") + ] = None + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + ] = None + r"""How frequently, in seconds, to clean up empty directories""" + + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") + ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic: Annotated[ - Optional[str], pydantic.Field(alias="__template_topic") + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") ] = None - r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") + ] = None + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") + ] = None + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" template_format: Annotated[ Optional[str], pydantic.Field(alias="__template_format") ] = None r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_bootstrap_server: Annotated[ - Optional[str], pydantic.Field(alias="__template_bootstrap_server") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") + ] = None + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") + ] = None + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") + ] = None + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") + ] = None + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -5549,11 +5536,11 @@ class OutputResponseOutputMicrosoftFabric(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("ack") - def serialize_ack(self, value): + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.AcknowledgmentsOptions(value) + return models.AuthenticationMethodOptionsAutoSecret(value) except ValueError: return value return value @@ -5562,7 +5549,7 @@ def serialize_ack(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.RecordDataFormatOptions(value) + return models.DataFormatOptions(value) except ValueError: return value return value @@ -5571,34 +5558,70 @@ def serialize_format_(self, value): def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.StorageClassOptionsReducedredundancyStandard(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ServerSideEncryptionForUploadedObjectsOptionsAes256(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsHTTP(value) + except ValueError: + return value + return value + + @field_serializer("compression_level") + def serialize_compression_level(self, value): + if isinstance(value, str): + try: + return models.CompressionLevelOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): + if isinstance(value, str): + try: + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -5612,40 +5635,66 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "ack", + "awsAuthenticationMethod", + "reuseConnections", + "rejectUnauthorized", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", "format", - "maxRecordSizeKB", - "flushEventCount", - "flushPeriodSec", - "connectionTimeout", - "requestTimeout", - "maxRetries", - "maxBackOff", - "initialBackoff", - "backoffRate", - "authenticationTimeout", - "reauthenticationThreshold", - "sasl", - "tls", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "storageClass", + "serverSideEncryption", "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_topic", + "__template_bucket", + "__template_destPath", + "__template_partitionExpr", "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_bootstrap_server", + "__template_awsSecretKey", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_compress", + "__template_parquetSchema", "notifications", "status", ] @@ -5664,401 +5713,456 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDatabricks(str, Enum): - DATABRICKS = "databricks" +class OutputResponseTypeMicrosoftFabric(str, Enum): + MICROSOFT_FABRIC = "microsoft_fabric" -class OutputResponseOutputDatabricksTypedDict(TypedDict): - type: OutputResponseTypeDatabricks - workspace_id: str - r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" - scope: str - r"""OAuth scope for Unity Catalog authentication""" - client_id: str - r"""OAuth client ID for Unity Catalog authentication""" - catalog: str - r"""Name of the Unity Catalog catalog to use for the Destination.""" - schema_: str - r"""Name of the Unity Catalog schema to use for the Destination.""" - events_volume_name: str - r"""Name of the Unity Catalog volume where event data is written.""" - client_text_secret: str - r"""OAuth client secret for Unity Catalog authentication""" - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - dest_path: NotRequired[str] - r"""Optional path to prepend to files before uploading.""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - workspace_host: NotRequired[str] - r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" - timeout_sec: NotRequired[int] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_partition_expr: NotRequired[str] - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - -class OutputResponseOutputDatabricks(BaseModel): - type: OutputResponseTypeDatabricks - - workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] - r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" - - scope: str - r"""OAuth scope for Unity Catalog authentication""" +class OutputResponseAuthenticationTypedDict(TypedDict): + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - client_id: Annotated[str, pydantic.Field(alias="clientId")] - r"""OAuth client ID for Unity Catalog authentication""" + disabled: bool + mechanism: NotRequired[SaslMechanismOptionsSaslOauthbearerPlain] + username: NotRequired[str] + r"""The username for authentication. This should always be $ConnectionString.""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" + client_secret_auth_type: NotRequired[AuthenticationMethodOptionsAuth] + client_text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + certificate_name: NotRequired[str] + r"""Select or create a stored certificate""" + cert_path: NotRequired[str] + priv_key_path: NotRequired[str] + passphrase: NotRequired[str] + oauth_endpoint: NotRequired[MicrosoftEntraIDAuthenticationEndpointOptionsSasl] + r"""Endpoint used to acquire authentication tokens from Azure""" + client_id: NotRequired[str] + r"""client_id to pass in the OAuth request parameter""" + tenant_id: NotRequired[str] + r"""Directory ID (tenant identifier) in Azure Active Directory""" + scope: NotRequired[str] + r"""Scope to pass in the OAuth request parameter""" + template_mechanism: NotRequired[str] + r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" + template_oauth_endpoint: NotRequired[str] + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" + template_client_id: NotRequired[str] + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" + template_tenant_id: NotRequired[str] + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" + template_scope: NotRequired[str] + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - catalog: str - r"""Name of the Unity Catalog catalog to use for the Destination.""" - schema_: Annotated[str, pydantic.Field(alias="schema")] - r"""Name of the Unity Catalog schema to use for the Destination.""" +class OutputResponseAuthentication(BaseModel): + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" - events_volume_name: Annotated[str, pydantic.Field(alias="eventsVolumeName")] - r"""Name of the Unity Catalog volume where event data is written.""" + disabled: bool - client_text_secret: Annotated[str, pydantic.Field(alias="clientTextSecret")] - r"""OAuth client secret for Unity Catalog authentication""" + mechanism: Optional[SaslMechanismOptionsSaslOauthbearerPlain] = None - id: Optional[str] = None - r"""Unique ID for this output""" + username: Optional[str] = None + r"""The username for authentication. This should always be $ConnectionString.""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret corresponding to the SASL JASS Password Primary or Password Secondary""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + client_secret_auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuth], + pydantic.Field(alias="clientSecretAuthType"), ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Optional path to prepend to files before uploading.""" - - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + client_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="clientTextSecret") ] = None - r"""Add the Output ID value to staging location""" + r"""Select or create a stored text secret""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + certificate_name: Annotated[ + Optional[str], pydantic.Field(alias="certificateName") ] = None - r"""Remove empty staging directories after moving files""" - - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" - - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( - None - ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + r"""Select or create a stored certificate""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") - ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") - ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + passphrase: Optional[str] = None - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + oauth_endpoint: Annotated[ + Optional[MicrosoftEntraIDAuthenticationEndpointOptionsSasl], + pydantic.Field(alias="oauthEndpoint"), ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + r"""Endpoint used to acquire authentication tokens from Azure""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None + r"""client_id to pass in the OAuth request parameter""" - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" + tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None + r"""Directory ID (tenant identifier) in Azure Active Directory""" - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") - ] = None - r"""Buffer size used to write to a file""" + scope: Optional[str] = None + r"""Scope to pass in the OAuth request parameter""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), + template_mechanism: Annotated[ + Optional[str], pydantic.Field(alias="__template_mechanism") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Binds 'mechanism' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'mechanism' at runtime.""" - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") + template_oauth_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_oauthEndpoint") ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + r"""Binds 'oauthEndpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'oauthEndpoint' at runtime.""" - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), + template_client_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_clientId") ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + r"""Binds 'clientId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'clientId' at runtime.""" - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + template_tenant_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_tenantId") ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + r"""Binds 'tenantId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tenantId' at runtime.""" - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + template_scope: Annotated[ + Optional[str], pydantic.Field(alias="__template_scope") ] = None + r"""Binds 'scope' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'scope' at runtime.""" - orphans: Optional[OrphanFileRecoveryType] = None + @field_serializer("mechanism") + def serialize_mechanism(self, value): + if isinstance(value, str): + try: + return models.SaslMechanismOptionsSaslOauthbearerPlain(value) + except ValueError: + return value + return value - workspace_host: Annotated[Optional[str], pydantic.Field(alias="workspaceHost")] = ( - None - ) - r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" + @field_serializer("client_secret_auth_type") + def serialize_client_secret_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuth(value) + except ValueError: + return value + return value - timeout_sec: Annotated[Optional[int], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" + @field_serializer("oauth_endpoint") + def serialize_oauth_endpoint(self, value): + if isinstance(value, str): + try: + return models.MicrosoftEntraIDAuthenticationEndpointOptionsSasl(value) + except ValueError: + return value + return value - description: Optional[str] = None + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "mechanism", + "username", + "textSecret", + "clientSecretAuthType", + "clientTextSecret", + "certificateName", + "certPath", + "privKeyPath", + "passphrase", + "oauthEndpoint", + "clientId", + "tenantId", + "scope", + "__template_mechanism", + "__template_oauthEndpoint", + "__template_clientId", + "__template_tenantId", + "__template_scope", + ] + ) + serialized = handler(self) + m = {} - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" + return m - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" +class OutputResponsePqControlsMicrosoftFabricTypedDict(TypedDict): + pass - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" +class OutputResponsePqControlsMicrosoftFabric(BaseModel): + pass - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") - ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") - ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" +class OutputResponseOutputMicrosoftFabricTypedDict(TypedDict): + type: OutputResponseTypeMicrosoftFabric + topic: str + r"""Topic name from Fabric Eventstream's endpoint""" + bootstrap_server: str + r"""Bootstrap server from Fabric Eventstream's endpoint""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + ack: NotRequired[AcknowledgmentsOptions] + r"""Control the number of required acknowledgments""" + format_: NotRequired[RecordDataFormatOptions] + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" + max_record_size_kb: NotRequired[float] + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" + flush_event_count: NotRequired[float] + r"""Maximum number of events in a batch before forcing a flush""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + connection_timeout: NotRequired[float] + r"""Maximum time to wait for a connection to complete successfully""" + request_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to a request""" + max_retries: NotRequired[float] + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + max_back_off: NotRequired[float] + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + initial_backoff: NotRequired[float] + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + backoff_rate: NotRequired[float] + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + authentication_timeout: NotRequired[float] + r"""Maximum time to wait for Kafka to respond to an authentication request""" + reauthentication_threshold: NotRequired[float] + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + sasl: NotRequired[OutputResponseAuthenticationTypedDict] + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + tls: NotRequired[TLSSettingsClientSideTypeTypedDict] + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[OutputResponsePqControlsMicrosoftFabricTypedDict] + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_topic: NotRequired[str] + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_bootstrap_server: NotRequired[str] + r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" +class OutputResponseOutputMicrosoftFabric(BaseModel): + type: OutputResponseTypeMicrosoftFabric - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") - ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + topic: str + r"""Topic name from Fabric Eventstream's endpoint""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") - ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + bootstrap_server: str + r"""Bootstrap server from Fabric Eventstream's endpoint""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") - ] = None - r"""How frequently, in seconds, to clean up empty directories""" + id: Optional[str] = None + r"""Unique ID for this output""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") - ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( - None - ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - template_partition_expr: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitionExpr") - ] = None - r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + ack: Optional[AcknowledgmentsOptions] = None + r"""Control the number of required acknowledgments""" - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") + format_: Annotated[ + Optional[RecordDataFormatOptions], pydantic.Field(alias="format") ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + r"""Format to use to serialize events before writing to the Event Hubs Kafka brokers""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Maximum size of each record batch before compression. Setting should be < message.max.bytes settings in Event Hubs brokers.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + flush_event_count: Annotated[ + Optional[float], pydantic.Field(alias="flushEventCount") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Maximum number of events in a batch before forcing a flush""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + r"""Maximum time to wait for a connection to complete successfully""" - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") + request_timeout: Annotated[ + Optional[float], pydantic.Field(alias="requestTimeout") ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + r"""Maximum time to wait for Kafka to respond to a request""" + + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""If messages are failing, you can set the maximum number of retries as high as 100 to prevent loss of data""" + + max_back_off: Annotated[Optional[float], pydantic.Field(alias="maxBackOff")] = None + r"""The maximum wait time for a retry, in milliseconds. Default (and minimum) is 30,000 ms (30 seconds); maximum is 180,000 ms (180 seconds).""" + + initial_backoff: Annotated[ + Optional[float], pydantic.Field(alias="initialBackoff") + ] = None + r"""Initial value used to calculate the retry, in milliseconds. Maximum is 600,000 ms (10 minutes).""" + + backoff_rate: Annotated[Optional[float], pydantic.Field(alias="backoffRate")] = None + r"""Set the backoff multiplier (2-20) to control the retry frequency for failed messages. For faster retries, use a lower multiplier. For slower retries with more delay between attempts, use a higher multiplier. The multiplier is used in an exponential backoff formula; see the Kafka [documentation](https://kafka.js.org/docs/retry-detailed) for details.""" + + authentication_timeout: Annotated[ + Optional[float], pydantic.Field(alias="authenticationTimeout") + ] = None + r"""Maximum time to wait for Kafka to respond to an authentication request""" + + reauthentication_threshold: Annotated[ + Optional[float], pydantic.Field(alias="reauthenticationThreshold") + ] = None + r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire.""" + + sasl: Optional[OutputResponseAuthentication] = None + r"""Authentication parameters to use when connecting to bootstrap server. Using TLS is highly recommended.""" + + tls: Optional[TLSSettingsClientSideType] = None + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") + ] = None + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + ] = None + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") + ] = None + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + ] = None + r"""Codec to use to compress the persisted data""" + + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + ] = None + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + ] = None + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[OutputResponsePqControlsMicrosoftFabric], + pydantic.Field(alias="pqControls"), + ] = None + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_topic: Annotated[ + Optional[str], pydantic.Field(alias="__template_topic") + ] = None + r"""Binds 'topic' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topic' at runtime.""" + + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") + ] = None + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + template_bootstrap_server: Annotated[ + Optional[str], pydantic.Field(alias="__template_bootstrap_server") + ] = None + r"""Binds 'bootstrap_server' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bootstrap_server' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -6066,65 +6170,56 @@ class OutputResponseOutputDatabricks(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("ack") + def serialize_ack(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.AcknowledgmentsOptions(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.RecordDataFormatOptions(value) except ValueError: return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionOptionsHTTP(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("compression_level") - def serialize_compression_level(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.CompressionLevelOptions(value) + return models.ModeOptions(value) except ValueError: return value return value - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): if isinstance(value, str): try: - return models.ParquetVersionOptions(value) + return models.CompressionOptionsPq(value) except ValueError: return value return value - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -6138,54 +6233,40 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "destPath", - "stagePath", - "addIdToStagePath", - "removeEmptyDirs", - "partitionExpr", + "ack", "format", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", + "maxRecordSizeKB", + "flushEventCount", + "flushPeriodSec", + "connectionTimeout", + "requestTimeout", + "maxRetries", + "maxBackOff", + "initialBackoff", + "backoffRate", + "authenticationTimeout", + "reauthenticationThreshold", + "sasl", + "tls", "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "workspaceHost", - "timeoutSec", "description", - "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_partitionExpr", + "__template_topic", "__template_format", - "__template_baseFileName", - "__template_fileNameSuffix", "__template_onBackpressure", - "__template_compress", - "__template_parquetSchema", + "__template_bootstrap_server", "notifications", "status", ] @@ -6204,67 +6285,26 @@ def serialize_model(self, handler): return m -class OutputResponseTypeChronicle(str, Enum): - CHRONICLE = "chronicle" - - -class OutputResponseAuthenticationMethodChronicle( - str, Enum, metaclass=utils.OpenEnumMeta -): - SERVICE_ACCOUNT = "serviceAccount" - SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" - - -class OutputResponseCustomLabelTypedDict(TypedDict): - key: str - value: str - rbac_enabled: NotRequired[bool] - r"""Designate this label for role-based access control and filtering""" - +class OutputResponseTypeDatabricks(str, Enum): + DATABRICKS = "databricks" -class OutputResponseCustomLabel(BaseModel): - key: str - value: str - - rbac_enabled: Annotated[Optional[bool], pydantic.Field(alias="rbacEnabled")] = None - r"""Designate this label for role-based access control and filtering""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["rbacEnabled"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponsePqControlsChronicleTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsChronicle(BaseModel): - pass - - -class OutputResponseOutputChronicleTypedDict(TypedDict): - type: OutputResponseTypeChronicle - region: str - r"""Regional endpoint to send events to""" - log_type: str - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" - gcp_project_id: str - r"""The Google Cloud Platform (GCP) project ID to send events to""" - gcp_instance: str - r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" +class OutputResponseOutputDatabricksTypedDict(TypedDict): + type: OutputResponseTypeDatabricks + workspace_id: str + r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" + scope: str + r"""OAuth scope for Unity Catalog authentication""" + client_id: str + r"""OAuth client ID for Unity Catalog authentication""" + catalog: str + r"""Name of the Unity Catalog catalog to use for the Destination.""" + schema_: str + r"""Name of the Unity Catalog schema to use for the Destination.""" + events_volume_name: str + r"""Name of the Unity Catalog volume where event data is written.""" + client_text_secret: str + r"""OAuth client secret for Unity Catalog authentication""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -6275,124 +6315,132 @@ class OutputResponseOutputChronicleTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - api_version: NotRequired[str] - authentication_method: NotRequired[OutputResponseAuthenticationMethodChronicle] - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] + dest_path: NotRequired[str] + r"""Optional path to prepend to files before uploading.""" + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - ingestion_method: NotRequired[str] - namespace: NotRequired[str] - r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" - log_text_field: NotRequired[str] - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - custom_labels: NotRequired[List[OutputResponseCustomLabelTypedDict]] - r"""Custom labels to be added to every event""" - endpoint: NotRequired[str] - r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + workspace_host: NotRequired[str] + r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" + timeout_sec: NotRequired[int] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" description: NotRequired[str] - service_account_credentials: NotRequired[str] - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - service_account_credentials_secret: NotRequired[str] - r"""Select or create a stored text secret""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsChronicleTypedDict] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_partition_expr: NotRequired[str] + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_namespace: NotRequired[str] - r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" - template_log_type: NotRequired[str] - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" - template_log_text_field: NotRequired[str] - r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" - template_gcp_project_id: NotRequired[str] - r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" - template_gcp_instance: NotRequired[str] - r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputChronicle(BaseModel): - type: OutputResponseTypeChronicle +class OutputResponseOutputDatabricks(BaseModel): + type: OutputResponseTypeDatabricks - region: str - r"""Regional endpoint to send events to""" + workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] + r"""Unique identifier for the Databricks workspace. Used to construct the OAuth login URL and API base URL.""" - log_type: Annotated[str, pydantic.Field(alias="logType")] - r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + scope: str + r"""OAuth scope for Unity Catalog authentication""" - gcp_project_id: Annotated[str, pydantic.Field(alias="gcpProjectId")] - r"""The Google Cloud Platform (GCP) project ID to send events to""" + client_id: Annotated[str, pydantic.Field(alias="clientId")] + r"""OAuth client ID for Unity Catalog authentication""" - gcp_instance: Annotated[str, pydantic.Field(alias="gcpInstance")] - r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" + catalog: str + r"""Name of the Unity Catalog catalog to use for the Destination.""" - id: Optional[str] = None - r"""Unique ID for this output""" + schema_: Annotated[str, pydantic.Field(alias="schema")] + r"""Name of the Unity Catalog schema to use for the Destination.""" + + events_volume_name: Annotated[str, pydantic.Field(alias="eventsVolumeName")] + r"""Name of the Unity Catalog volume where event data is written.""" + + client_text_secret: Annotated[str, pydantic.Field(alias="clientTextSecret")] + r"""OAuth client secret for Unity Catalog authentication""" + + id: Optional[str] = None + r"""Unique ID for this output""" pipeline: Optional[str] = None r"""Pipeline to process data before sending out to this output""" @@ -6408,226 +6456,232 @@ class OutputResponseOutputChronicle(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - api_version: Annotated[Optional[str], pydantic.Field(alias="apiVersion")] = None + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Optional path to prepend to files before uploading.""" - authentication_method: Annotated[ - Optional[OutputResponseAuthenticationMethodChronicle], - pydantic.Field(alias="authenticationMethod"), - ] = None + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Add the Output ID value to staging location""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") ] = None + r"""Remove empty staging directories after moving files""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory.""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") ] = None - r"""Headers to add to all events""" + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") - ] = None - r"""List of headers that are safe to log in plain text""" + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" + r"""Buffer size used to write to a file""" on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), ] = None r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - ingestion_method: Annotated[ - Optional[str], pydantic.Field(alias="ingestionMethod") + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - namespace: Optional[str] = None - r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + ] = None + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None + + orphans: Optional[OrphanFileRecoveryType] = None + + workspace_host: Annotated[Optional[str], pydantic.Field(alias="workspaceHost")] = ( None ) - r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - - custom_labels: Annotated[ - Optional[List[OutputResponseCustomLabel]], pydantic.Field(alias="customLabels") - ] = None - r"""Custom labels to be added to every event""" + r"""Hostname for the Databricks workspace. Override this to connect to government or secure cloud environments (e.g. cloud.databricks.us, cloud.databricks.mil, azuredatabricks.net).""" - endpoint: Optional[str] = None - r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" + timeout_sec: Annotated[Optional[int], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it.""" description: Optional[str] = None + r"""Optional description for this configuration.""" - service_account_credentials: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentials") + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + r"""Compression level to apply before moving files to final destination""" - service_account_credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") ] = None - r"""Select or create a stored text secret""" + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Determines which data types are supported and how they are represented""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") + ] = None + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") + ] = None + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""Codec to use to compress the persisted data""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""How frequently, in seconds, to clean up empty directories""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - pq_controls: Annotated[ - Optional[OutputResponsePqControlsChronicle], pydantic.Field(alias="pqControls") + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_partition_expr: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitionExpr") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'partitionExpr' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitionExpr' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_namespace: Annotated[ - Optional[str], pydantic.Field(alias="__template_namespace") - ] = None - r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" - - template_log_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_logType") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_log_text_field: Annotated[ - Optional[str], pydantic.Field(alias="__template_logTextField") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_gcp_project_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_gcpProjectId") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_gcp_instance: Annotated[ - Optional[str], pydantic.Field(alias="__template_gcpInstance") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -6635,56 +6689,65 @@ class OutputResponseOutputChronicle(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("authentication_method") - def serialize_authentication_method(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.OutputResponseAuthenticationMethodChronicle(value) + return models.DataFormatOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -6698,54 +6761,54 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "apiVersion", - "authenticationMethod", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "failedRequestLoggingMode", - "safeHeaders", - "useRoundRobinDns", + "destPath", + "stagePath", + "addIdToStagePath", + "removeEmptyDirs", + "partitionExpr", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", - "totalMemoryLimitKB", - "ingestionMethod", - "namespace", - "logTextField", - "customLabels", - "endpoint", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "workspaceHost", + "timeoutSec", "description", - "serviceAccountCredentials", - "serviceAccountCredentialsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_region", - "__template_failedRequestLoggingMode", + "__template_partitionExpr", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_namespace", - "__template_logType", - "__template_logTextField", - "__template_gcpProjectId", - "__template_gcpInstance", - "__template_endpoint", + "__template_compress", + "__template_parquetSchema", "notifications", "status", ] @@ -6764,43 +6827,67 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSentinelOneAiSiem(str, Enum): - SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem" +class OutputResponseTypeChronicle(str, Enum): + CHRONICLE = "chronicle" -class OutputResponseRegion(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" +class OutputResponseAuthenticationMethodChronicle( + str, Enum, metaclass=utils.OpenEnumMeta +): + SERVICE_ACCOUNT = "serviceAccount" + SERVICE_ACCOUNT_SECRET = "serviceAccountSecret" - US = "US" - CA = "CA" - EMEA = "EMEA" - AP = "AP" - APS = "APS" - AU = "AU" - CUSTOM = "Custom" + +class OutputResponseCustomLabelTypedDict(TypedDict): + key: str + value: str + rbac_enabled: NotRequired[bool] + r"""Designate this label for role-based access control and filtering""" -class OutputResponseAISIEMEndpointPath(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" +class OutputResponseCustomLabel(BaseModel): + key: str - ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event" - ROOT_SERVICES_COLLECTOR_RAW = "/services/collector/raw" + value: str + rbac_enabled: Annotated[Optional[bool], pydantic.Field(alias="rbacEnabled")] = None + r"""Designate this label for role-based access control and filtering""" -class OutputResponsePqControlsSentinelOneAiSiemTypedDict(TypedDict): + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["rbacEnabled"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponsePqControlsChronicleTypedDict(TypedDict): pass -class OutputResponsePqControlsSentinelOneAiSiem(BaseModel): +class OutputResponsePqControlsChronicle(BaseModel): pass -class OutputResponseOutputSentinelOneAiSiemTypedDict(TypedDict): - type: OutputResponseTypeSentinelOneAiSiem - region: OutputResponseRegion - r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" - endpoint: OutputResponseAISIEMEndpointPath - r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" +class OutputResponseOutputChronicleTypedDict(TypedDict): + type: OutputResponseTypeChronicle + region: str + r"""Regional endpoint to send events to""" + log_type: str + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + gcp_project_id: str + r"""The Google Cloud Platform (GCP) project ID to send events to""" + gcp_instance: str + r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -6811,6 +6898,15 @@ class OutputResponseOutputSentinelOneAiSiemTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" + api_version: NotRequired[str] + authentication_method: NotRequired[OutputResponseAuthenticationMethodChronicle] + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -6834,52 +6930,27 @@ class OutputResponseOutputSentinelOneAiSiemTypedDict(TypedDict): r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + ingestion_method: NotRequired[str] + namespace: NotRequired[str] + r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" + log_text_field: NotRequired[str] + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" + custom_labels: NotRequired[List[OutputResponseCustomLabelTypedDict]] + r"""Custom labels to be added to every event""" + endpoint: NotRequired[str] + r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" description: NotRequired[str] - token: NotRequired[str] - r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" - text_secret: NotRequired[str] + r"""Optional description for this configuration.""" + service_account_credentials: NotRequired[str] + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" + service_account_credentials_secret: NotRequired[str] r"""Select or create a stored text secret""" - base_url: NotRequired[str] - r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" - host_expression: NotRequired[str] - r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - source_expression: NotRequired[str] - r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" - source_type_expression: NotRequired[str] - r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" - data_source_category_expression: NotRequired[str] - r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" - data_source_name_expression: NotRequired[str] - r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" - data_source_vendor_expression: NotRequired[str] - r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" - event_type_expression: NotRequired[str] - r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" - host: NotRequired[str] - r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" - source: NotRequired[str] - r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" - source_type: NotRequired[str] - r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" - data_source_category: NotRequired[str] - r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" - data_source_name: NotRequired[str] - r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" - data_source_vendor: NotRequired[str] - r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" - event_type: NotRequired[str] - r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -6902,27 +6973,47 @@ class OutputResponseOutputSentinelOneAiSiemTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSentinelOneAiSiemTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsChronicleTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_namespace: NotRequired[str] + r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" + template_log_type: NotRequired[str] + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + template_log_text_field: NotRequired[str] + r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" + template_gcp_project_id: NotRequired[str] + r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" + template_gcp_instance: NotRequired[str] + r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSentinelOneAiSiem(BaseModel): - type: OutputResponseTypeSentinelOneAiSiem +class OutputResponseOutputChronicle(BaseModel): + type: OutputResponseTypeChronicle - region: OutputResponseRegion - r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" + region: str + r"""Regional endpoint to send events to""" - endpoint: OutputResponseAISIEMEndpointPath - r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" + log_type: Annotated[str, pydantic.Field(alias="logType")] + r"""Default log type value to send to SecOps. Can be overwritten by event field __logType.""" + + gcp_project_id: Annotated[str, pydantic.Field(alias="gcpProjectId")] + r"""The Google Cloud Platform (GCP) project ID to send events to""" + + gcp_instance: Annotated[str, pydantic.Field(alias="gcpInstance")] + r"""The Google Cloud Platform (GCP) instance to send events to. This is the Chronicle customer uuid.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -6941,6 +7032,28 @@ class OutputResponseOutputSentinelOneAiSiem(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" + api_version: Annotated[Optional[str], pydantic.Field(alias="apiVersion")] = None + + authentication_method: Annotated[ + Optional[OutputResponseAuthenticationMethodChronicle], + pydantic.Field(alias="authenticationMethod"), + ] = None + + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -6990,104 +7103,53 @@ class OutputResponseOutputSentinelOneAiSiem(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), - ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - token: Optional[str] = None - r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - base_url: Annotated[Optional[str], pydantic.Field(alias="baseUrl")] = None - r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" - - host_expression: Annotated[ - Optional[str], pydantic.Field(alias="hostExpression") - ] = None - r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - - source_expression: Annotated[ - Optional[str], pydantic.Field(alias="sourceExpression") - ] = None - r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" - - source_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="sourceTypeExpression") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - data_source_category_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceCategoryExpression") + ingestion_method: Annotated[ + Optional[str], pydantic.Field(alias="ingestionMethod") ] = None - r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" - data_source_name_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceNameExpression") - ] = None - r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" + namespace: Optional[str] = None + r"""User-configured environment namespace to identify the data domain the logs originated from. This namespace is used as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace.""" - data_source_vendor_expression: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceVendorExpression") - ] = None - r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" + log_text_field: Annotated[Optional[str], pydantic.Field(alias="logTextField")] = ( + None + ) + r"""Name of the event field that contains the log text to send. If not specified, Stream sends a JSON representation of the whole event.""" - event_type_expression: Annotated[ - Optional[str], pydantic.Field(alias="eventTypeExpression") + custom_labels: Annotated[ + Optional[List[OutputResponseCustomLabel]], pydantic.Field(alias="customLabels") ] = None - r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" - - host: Optional[str] = None - r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" - - source: Optional[str] = None - r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" + r"""Custom labels to be added to every event""" - source_type: Annotated[Optional[str], pydantic.Field(alias="sourceType")] = None - r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" + endpoint: Optional[str] = None + r"""Chronicle API service endpoint. If empty, defaults to the Region-specific endpoint. Otherwise, it must point to a Chronicle API-compatible endpoint. (Example: https://custom-endpoint.googleapis.com)""" - data_source_category: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceCategory") - ] = None - r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - data_source_name: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceName") + service_account_credentials: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentials") ] = None - r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" + r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right.""" - data_source_vendor: Annotated[ - Optional[str], pydantic.Field(alias="dataSourceVendor") + service_account_credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="serviceAccountCredentialsSecret") ] = None - r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" - - event_type: Annotated[Optional[str], pydantic.Field(alias="eventType")] = None - r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -7139,8 +7201,7 @@ class OutputResponseOutputSentinelOneAiSiem(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsSentinelOneAiSiem], - pydantic.Field(alias="pqControls"), + Optional[OutputResponsePqControlsChronicle], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -7148,6 +7209,11 @@ class OutputResponseOutputSentinelOneAiSiem(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -7158,26 +7224,47 @@ class OutputResponseOutputSentinelOneAiSiem(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_namespace: Annotated[ + Optional[str], pydantic.Field(alias="__template_namespace") + ] = None + r"""Binds 'namespace' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'namespace' at runtime.""" + + template_log_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_logType") + ] = None + r"""Binds 'logType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logType' at runtime.""" + + template_log_text_field: Annotated[ + Optional[str], pydantic.Field(alias="__template_logTextField") + ] = None + r"""Binds 'logTextField' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'logTextField' at runtime.""" + + template_gcp_project_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_gcpProjectId") + ] = None + r"""Binds 'gcpProjectId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpProjectId' at runtime.""" + + template_gcp_instance: Annotated[ + Optional[str], pydantic.Field(alias="__template_gcpInstance") + ] = None + r"""Binds 'gcpInstance' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'gcpInstance' at runtime.""" + + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("region") - def serialize_region(self, value): + @field_serializer("authentication_method") + def serialize_authentication_method(self, value): if isinstance(value, str): try: - return models.OutputResponseRegion(value) - except ValueError: - return value - return value - - @field_serializer("endpoint") - def serialize_endpoint(self, value): - if isinstance(value, str): - try: - return models.OutputResponseAISIEMEndpointPath(value) + return models.OutputResponseAuthenticationMethodChronicle(value) except ValueError: return value return value @@ -7191,15 +7278,6 @@ def serialize_failed_request_logging_mode(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) - except ValueError: - return value - return value - @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -7245,6 +7323,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "apiVersion", + "authenticationMethod", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -7255,29 +7338,17 @@ def serialize_model(self, handler): "extraHttpHeaders", "failedRequestLoggingMode", "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "useRoundRobinDns", "onBackpressure", + "totalMemoryLimitKB", + "ingestionMethod", + "namespace", + "logTextField", + "customLabels", + "endpoint", "description", - "token", - "textSecret", - "baseUrl", - "hostExpression", - "sourceExpression", - "sourceTypeExpression", - "dataSourceCategoryExpression", - "dataSourceNameExpression", - "dataSourceVendorExpression", - "eventTypeExpression", - "host", - "source", - "sourceType", - "dataSourceCategory", - "dataSourceName", - "dataSourceVendor", - "eventType", + "serviceAccountCredentials", + "serviceAccountCredentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -7291,8 +7362,15 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_region", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_namespace", + "__template_logType", + "__template_logTextField", + "__template_gcpProjectId", + "__template_gcpInstance", + "__template_endpoint", "notifications", "status", ] @@ -7311,46 +7389,43 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDynatraceOtlp(str, Enum): - DYNATRACE_OTLP = "dynatrace_otlp" +class OutputResponseTypeSentinelOneAiSiem(str, Enum): + SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem" -class OutputResponseProtocolDynatraceOtlp(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Select a transport option for Dynatrace""" +class OutputResponseRegion(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" - # HTTP - HTTP = "http" + US = "US" + CA = "CA" + EMEA = "EMEA" + AP = "AP" + APS = "APS" + AU = "AU" + CUSTOM = "Custom" -class OutputResponseEndpointType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Select the type of Dynatrace endpoint configured""" +class OutputResponseAISIEMEndpointPath(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" - # SaaS - SAAS = "saas" - # ActiveGate - AG = "ag" + ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event" + ROOT_SERVICES_COLLECTOR_RAW = "/services/collector/raw" -class OutputResponsePqControlsDynatraceOtlpTypedDict(TypedDict): +class OutputResponsePqControlsSentinelOneAiSiemTypedDict(TypedDict): pass -class OutputResponsePqControlsDynatraceOtlp(BaseModel): +class OutputResponsePqControlsSentinelOneAiSiem(BaseModel): pass -class OutputResponseOutputDynatraceOtlpTypedDict(TypedDict): - type: OutputResponseTypeDynatraceOtlp - protocol: OutputResponseProtocolDynatraceOtlp - r"""Select a transport option for Dynatrace""" - endpoint: str - r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - otlp_version: OtlpVersionOptions131 - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - endpoint_type: OutputResponseEndpointType - r"""Select the type of Dynatrace endpoint configured""" - token_secret: str - r"""Select or create a stored text secret""" +class OutputResponseOutputSentinelOneAiSiemTypedDict(TypedDict): + type: OutputResponseTypeSentinelOneAiSiem + region: OutputResponseRegion + r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" + endpoint: OutputResponseAISIEMEndpointPath + r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -7361,53 +7436,31 @@ class OutputResponseOutputDynatraceOtlpTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - compress: NotRequired[CompressionOptionsDeflateGzip] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_compress: NotRequired[CompressionOptionsMessages] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_traces_endpoint_override: NotRequired[str] - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_metrics_endpoint_override: NotRequired[str] - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_logs_endpoint_override: NotRequired[str] - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - dynamic_headers_enabled: NotRequired[bool] - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: NotRequired[str] - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - keep_alive_time: NotRequired[float] - r"""How often the sender should ping the peer to keep the connection open""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" - auth_token_name: NotRequired[str] - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -7415,6 +7468,44 @@ class OutputResponseOutputDynatraceOtlpTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + token: NotRequired[str] + r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + base_url: NotRequired[str] + r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" + host_expression: NotRequired[str] + r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" + source_expression: NotRequired[str] + r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" + source_type_expression: NotRequired[str] + r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" + data_source_category_expression: NotRequired[str] + r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" + data_source_name_expression: NotRequired[str] + r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" + data_source_vendor_expression: NotRequired[str] + r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" + event_type_expression: NotRequired[str] + r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" + host: NotRequired[str] + r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" + source: NotRequired[str] + r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" + source_type: NotRequired[str] + r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" + data_source_category: NotRequired[str] + r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" + data_source_name: NotRequired[str] + r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" + data_source_vendor: NotRequired[str] + r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" + event_type: NotRequired[str] + r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -7437,7 +7528,7 @@ class OutputResponseOutputDynatraceOtlpTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsDynatraceOtlpTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsSentinelOneAiSiemTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -7450,25 +7541,14 @@ class OutputResponseOutputDynatraceOtlpTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputDynatraceOtlp(BaseModel): - type: OutputResponseTypeDynatraceOtlp - - protocol: OutputResponseProtocolDynatraceOtlp - r"""Select a transport option for Dynatrace""" - - endpoint: str - r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - - otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" +class OutputResponseOutputSentinelOneAiSiem(BaseModel): + type: OutputResponseTypeSentinelOneAiSiem - endpoint_type: Annotated[ - OutputResponseEndpointType, pydantic.Field(alias="endpointType") - ] - r"""Select the type of Dynatrace endpoint configured""" + region: OutputResponseRegion + r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in.""" - token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] - r"""Select or create a stored text secret""" + endpoint: OutputResponseAISIEMEndpointPath + r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text).""" id: Optional[str] = None r"""Unique ID for this output""" @@ -7487,80 +7567,75 @@ class OutputResponseOutputDynatraceOtlp(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - compress: Optional[CompressionOptionsDeflateGzip] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - http_compress: Annotated[ - Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + r"""Maximum size, in KB, of the request body""" - http_traces_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - http_metrics_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") - ] = None - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - http_logs_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") - ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" - - dynamic_headers_field: Annotated[ - Optional[str], pydantic.Field(alias="dynamicHeadersField") - ] = None - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" - - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), ] = None r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""List of headers that are safe to log in plain text""" - keep_alive_time: Annotated[ - Optional[float], pydantic.Field(alias="keepAliveTime") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), ] = None - r"""How often the sender should ping the peer to keep the connection open""" + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( - None - ) + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None + + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -7568,45 +7643,78 @@ class OutputResponseOutputDynatraceOtlp(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + token: Optional[str] = None + r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + base_url: Annotated[Optional[str], pydantic.Field(alias="baseUrl")] = None + r"""Base URL of the endpoint used to send events to, such as https://.sentinelone.net. Must begin with http:// or https://, can include a port number, and no trailing slashes. Matches pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?$.""" + + host_expression: Annotated[ + Optional[str], pydantic.Field(alias="hostExpression") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Define serverHost for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myServer').""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + source_expression: Annotated[ + Optional[str], pydantic.Field(alias="sourceExpression") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Define logFile for events using a JavaScript expression. You must enclose text constants in quotes (such as, 'myLogFile.txt').""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + source_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="sourceTypeExpression") ] = None - r"""Headers to add to all events""" + r"""Define the parser for events using a JavaScript expression. This value helps parse data into AI SIEM. You must enclose text constants in quotes (such as, 'dottedJson'). For custom parsers, substitute 'dottedJson' with your parser's name.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + data_source_category_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceCategoryExpression") ] = None - r"""List of headers that are safe to log in plain text""" + r"""Define the dataSource.category for events using a JavaScript expression. This value helps categorize data and helps enable extra features in SentinelOne AI SIEM. You must enclose text constants in quotes. The default value is 'security'.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + data_source_name_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceNameExpression") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Define the dataSource.name for events using a JavaScript expression. This value should reflect the type of data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'networkActivity' or 'authLogs').""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + data_source_vendor_expression: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceVendorExpression") ] = None + r"""Define the dataSource.vendor for events using a JavaScript expression. This value should reflect the vendor of the data being inserted into AI SIEM. You must enclose text constants in quotes (such as, 'Cisco' or 'Microsoft').""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + event_type_expression: Annotated[ + Optional[str], pydantic.Field(alias="eventTypeExpression") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Optionally, define the event.type for events using a JavaScript expression. This value acts as a label, grouping events into meaningful categories. You must enclose text constants in quotes (such as, 'Process Creation' or 'Network Connection').""" + + host: Optional[str] = None + r"""Define the serverHost for events using a JavaScript expression. This value will be passed to AI SIEM. You must enclose text constants in quotes (such as, 'myServerName').""" + + source: Optional[str] = None + r"""Specify the logFile value to pass as a parameter to SentinelOne AI SIEM. Don't quote this value. The default is cribl.""" + + source_type: Annotated[Optional[str], pydantic.Field(alias="sourceType")] = None + r"""Specify the sourcetype parameter for SentinelOne AI SIEM, which determines the parser. Don't quote this value. For custom parsers, substitute hecRawParser with your parser's name. The default is hecRawParser.""" + + data_source_category: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceCategory") + ] = None + r"""Specify the dataSource.category value to pass as a parameter to SentinelOne AI SIEM. This value helps categorize data and enables additional features. Don't quote this value. The default is security.""" + + data_source_name: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceName") + ] = None + r"""Specify the dataSource.name value to pass as a parameter to AI SIEM. This value should reflect the type of data being inserted. Don't quote this value. The default is cribl.""" + + data_source_vendor: Annotated[ + Optional[str], pydantic.Field(alias="dataSourceVendor") + ] = None + r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl.""" + + event_type: Annotated[Optional[str], pydantic.Field(alias="eventType")] = None + r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -7658,7 +7766,7 @@ class OutputResponseOutputDynatraceOtlp(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsDynatraceOtlp], + Optional[OutputResponsePqControlsSentinelOneAiSiem], pydantic.Field(alias="pqControls"), ] = None @@ -7683,38 +7791,20 @@ class OutputResponseOutputDynatraceOtlp(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.OutputResponseProtocolDynatraceOtlp(value) - except ValueError: - return value - return value - - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): - if isinstance(value, str): - try: - return models.OtlpVersionOptions131(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("region") + def serialize_region(self, value): if isinstance(value, str): try: - return models.CompressionOptionsDeflateGzip(value) + return models.OutputResponseRegion(value) except ValueError: return value return value - @field_serializer("http_compress") - def serialize_http_compress(self, value): + @field_serializer("endpoint") + def serialize_endpoint(self, value): if isinstance(value, str): try: - return models.CompressionOptionsMessages(value) + return models.OutputResponseAISIEMEndpointPath(value) except ValueError: return value return value @@ -7728,11 +7818,11 @@ def serialize_failed_request_logging_mode(self, value): return value return value - @field_serializer("endpoint_type") - def serialize_endpoint_type(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.OutputResponseEndpointType(value) + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value @@ -7782,32 +7872,39 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "compress", - "httpCompress", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", - "authTokenName", - "onBackpressure", - "description", - "rejectUnauthorized", - "useRoundRobinDns", "extraHttpHeaders", + "failedRequestLoggingMode", "safeHeaders", + "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "onBackpressure", + "description", + "token", + "textSecret", + "baseUrl", + "hostExpression", + "sourceExpression", + "sourceTypeExpression", + "dataSourceCategoryExpression", + "dataSourceNameExpression", + "dataSourceVendorExpression", + "eventTypeExpression", + "host", + "source", + "sourceType", + "dataSourceCategory", + "dataSourceName", + "dataSourceVendor", + "eventType", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -7841,58 +7938,46 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDynatraceHTTP(str, Enum): - DYNATRACE_HTTP = "dynatrace_http" - +class OutputResponseTypeDynatraceOtlp(str, Enum): + DYNATRACE_OTLP = "dynatrace_otlp" -class OutputResponseAuthenticationTypeDynatraceHTTP( - str, Enum, metaclass=utils.OpenEnumMeta -): - # Auth token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" +class OutputResponseProtocolDynatraceOtlp(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Select a transport option for Dynatrace""" -class OutputResponseFormatDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + # HTTP + HTTP = "http" - # JSON - JSON_ARRAY = "json_array" - # Plaintext - PLAINTEXT = "plaintext" +class OutputResponseEndpointType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Select the type of Dynatrace endpoint configured""" -class OutputResponseEndpointDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): - # Cloud - CLOUD = "cloud" + # SaaS + SAAS = "saas" # ActiveGate - ACTIVE_GATE = "activeGate" - # Manual - MANUAL = "manual" + AG = "ag" -class OutputResponseTelemetryType(str, Enum, metaclass=utils.OpenEnumMeta): - # Logs - LOGS = "logs" - # Metrics - METRICS = "metrics" - - -class OutputResponsePqControlsDynatraceHTTPTypedDict(TypedDict): +class OutputResponsePqControlsDynatraceOtlpTypedDict(TypedDict): pass -class OutputResponsePqControlsDynatraceHTTP(BaseModel): +class OutputResponsePqControlsDynatraceOtlp(BaseModel): pass -class OutputResponseOutputDynatraceHTTPTypedDict(TypedDict): - type: OutputResponseTypeDynatraceHTTP - format_: OutputResponseFormatDynatraceHTTP - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" - endpoint: OutputResponseEndpointDynatraceHTTP - telemetry_type: OutputResponseTelemetryType +class OutputResponseOutputDynatraceOtlpTypedDict(TypedDict): + type: OutputResponseTypeDynatraceOtlp + protocol: OutputResponseProtocolDynatraceOtlp + r"""Select a transport option for Dynatrace""" + endpoint: str + r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" + otlp_version: OtlpVersionOptions131 + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + endpoint_type: OutputResponseEndpointType + r"""Select the type of Dynatrace endpoint configured""" + token_secret: str + r"""Select or create a stored text secret""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -7903,33 +7988,52 @@ class OutputResponseOutputDynatraceHTTPTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - method: NotRequired[MethodOptions] - r"""The method to use when sending events""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" + compress: NotRequired[CompressionOptionsDeflateGzip] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + http_compress: NotRequired[CompressionOptionsMessages] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + http_traces_endpoint_override: NotRequired[str] + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_metrics_endpoint_override: NotRequired[str] + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_logs_endpoint_override: NotRequired[str] + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + dynamic_headers_enabled: NotRequired[bool] + r"""Batch event data upon dynamic metadata (whether presented or not)""" + dynamic_headers_field: NotRequired[str] + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" + r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + keep_alive_time: NotRequired[float] + r"""How often the sender should ping the peer to keep the connection open""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + auth_token_name: NotRequired[str] + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" use_round_robin_dns: NotRequired[bool] r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" response_retry_settings: NotRequired[ @@ -7939,12 +8043,6 @@ class OutputResponseOutputDynatraceHTTPTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[OutputResponseAuthenticationTypeDynatraceHTTP] - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -7967,44 +8065,38 @@ class OutputResponseOutputDynatraceHTTPTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsDynatraceHTTPTypedDict] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - environment_id: NotRequired[str] - r"""ID of the environment to send to""" - active_gate_domain: NotRequired[str] - r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" - url: NotRequired[str] - r"""URL to send events to. Can be overwritten by an event's __url field.""" + pq_controls: NotRequired[OutputResponsePqControlsDynatraceOtlpTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputDynatraceHTTP(BaseModel): - type: OutputResponseTypeDynatraceHTTP +class OutputResponseOutputDynatraceOtlp(BaseModel): + type: OutputResponseTypeDynatraceOtlp - format_: Annotated[ - OutputResponseFormatDynatraceHTTP, pydantic.Field(alias="format") - ] - r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + protocol: OutputResponseProtocolDynatraceOtlp + r"""Select a transport option for Dynatrace""" - endpoint: OutputResponseEndpointDynatraceHTTP + endpoint: str + r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - telemetry_type: Annotated[ - OutputResponseTelemetryType, pydantic.Field(alias="telemetryType") + otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + endpoint_type: Annotated[ + OutputResponseEndpointType, pydantic.Field(alias="endpointType") ] + r"""Select the type of Dynatrace endpoint configured""" + + token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] + r"""Select or create a stored text secret""" id: Optional[str] = None r"""Unique ID for this output""" @@ -8023,35 +8115,49 @@ class OutputResponseOutputDynatraceHTTP(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - method: Optional[MethodOptions] = None - r"""The method to use when sending events""" + compress: Optional[CompressionOptionsDeflateGzip] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + http_compress: Annotated[ + Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + ] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + http_traces_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + ] = None + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + http_metrics_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") ] = None - r"""Maximum size, in KB, of the request body""" + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + http_logs_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + dynamic_headers_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Batch event data upon dynamic metadata (whether presented or not)""" + + dynamic_headers_field: Annotated[ + Optional[str], pydantic.Field(alias="dynamicHeadersField") + ] = None + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size (in KB) of the request body. The maximum payload size is 4 MB. If this limit is exceeded, the entire OTLP message is dropped""" timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" @@ -8061,22 +8167,55 @@ class OutputResponseOutputDynatraceHTTP(BaseModel): ] = None r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") + ] = None + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + + keep_alive_time: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTime") + ] = None + r"""How often the sender should ping the peer to keep the connection open""" + + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" + + auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( + None + ) + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ use_round_robin_dns: Annotated[ Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Headers to add to all events""" safe_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="safeHeaders") @@ -8098,23 +8237,6 @@ class OutputResponseOutputDynatraceHTTP(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - auth_type: Annotated[ - Optional[OutputResponseAuthenticationTypeDynatraceHTTP], - pydantic.Field(alias="authType"), - ] = None - - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - - description: Optional[str] = None - pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -8165,114 +8287,90 @@ class OutputResponseOutputDynatraceHTTP(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsDynatraceHTTP], + Optional[OutputResponsePqControlsDynatraceOtlp], pydantic.Field(alias="pqControls"), ] = None - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - environment_id: Annotated[Optional[str], pydantic.Field(alias="environmentId")] = ( - None - ) - r"""ID of the environment to send to""" - - active_gate_domain: Annotated[ - Optional[str], pydantic.Field(alias="activeGateDomain") - ] = None - r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" - - url: Optional[str] = None - r"""URL to send events to. Can be overwritten by an event's __url field.""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + ] = None + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("method") - def serialize_method(self, value): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.MethodOptions(value) + return models.OutputResponseProtocolDynatraceOtlp(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.OtlpVersionOptions131(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.CompressionOptionsDeflateGzip(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("http_compress") + def serialize_http_compress(self, value): if isinstance(value, str): try: - return models.OutputResponseAuthenticationTypeDynatraceHTTP(value) + return models.CompressionOptionsMessages(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.OutputResponseFormatDynatraceHTTP(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("endpoint") - def serialize_endpoint(self, value): + @field_serializer("endpoint_type") + def serialize_endpoint_type(self, value): if isinstance(value, str): try: - return models.OutputResponseEndpointDynatraceHTTP(value) + return models.OutputResponseEndpointType(value) except ValueError: return value return value - @field_serializer("telemetry_type") - def serialize_telemetry_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.OutputResponseTelemetryType(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value @@ -8313,26 +8411,32 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "method", - "keepAlive", + "compress", + "httpCompress", + "httpTracesEndpointOverride", + "httpMetricsEndpointOverride", + "httpLogsEndpointOverride", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", + "authTokenName", + "onBackpressure", + "description", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", "safeHeaders", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "totalMemoryLimitKB", - "description", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -8345,15 +8449,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "token", - "textSecret", - "environmentId", - "activeGateDomain", - "url", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", "notifications", "status", ] @@ -8372,59 +8470,58 @@ def serialize_model(self, handler): return m -class OutputResponseTypeNetflow(str, Enum): - NETFLOW = "netflow" +class OutputResponseTypeDynatraceHTTP(str, Enum): + DYNATRACE_HTTP = "dynatrace_http" -class OutputResponseHostNetflowTypedDict(TypedDict): - host: str - r"""Destination host""" - port: float - r"""Destination port, default is 2055""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" +class OutputResponseAuthenticationTypeDynatraceHTTP( + str, Enum, metaclass=utils.OpenEnumMeta +): + # Auth token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" -class OutputResponseHostNetflow(BaseModel): - host: str - r"""Destination host""" +class OutputResponseFormatDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" - port: float - r"""Destination port, default is 2055""" + # JSON + JSON_ARRAY = "json_array" + # Plaintext + PLAINTEXT = "plaintext" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" +class OutputResponseEndpointDynatraceHTTP(str, Enum, metaclass=utils.OpenEnumMeta): + # Cloud + CLOUD = "cloud" + # ActiveGate + ACTIVE_GATE = "activeGate" + # Manual + MANUAL = "manual" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["__template_host", "__template_port"]) - serialized = handler(self) - m = {} - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) +class OutputResponseTelemetryType(str, Enum, metaclass=utils.OpenEnumMeta): + # Logs + LOGS = "logs" + # Metrics + METRICS = "metrics" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - return m +class OutputResponsePqControlsDynatraceHTTPTypedDict(TypedDict): + pass -class OutputResponseOutputNetflowTypedDict(TypedDict): - type: OutputResponseTypeNetflow - hosts: List[OutputResponseHostNetflowTypedDict] - r"""One or more NetFlow Destinations to forward events to""" +class OutputResponsePqControlsDynatraceHTTP(BaseModel): + pass + + +class OutputResponseOutputDynatraceHTTPTypedDict(TypedDict): + type: OutputResponseTypeDynatraceHTTP + format_: OutputResponseFormatDynatraceHTTP + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + endpoint: OutputResponseEndpointDynatraceHTTP + telemetry_type: OutputResponseTelemetryType id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -8435,217 +8532,49 @@ class OutputResponseOutputNetflowTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" - enable_ip_spoofing: NotRequired[bool] - r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + method: NotRequired[MethodOptions] + r"""The method to use when sending events""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[OutputResponseAuthenticationTypeDynatraceHTTP] + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - max_record_size: NotRequired[float] - r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - -class OutputResponseOutputNetflow(BaseModel): - type: OutputResponseTypeNetflow - - hosts: List[OutputResponseHostNetflow] - r"""One or more NetFlow Destinations to forward events to""" - - id: Optional[str] = None - r"""Unique ID for this output""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" - - enable_ip_spoofing: Annotated[ - Optional[bool], pydantic.Field(alias="enableIpSpoofing") - ] = None - r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - - description: Optional[str] = None - - max_record_size: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSize") - ] = None - r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" - - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "enableIpSpoofing", - "description", - "maxRecordSize", - "__template_streamtags", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseTypeXsiam(str, Enum): - XSIAM = "xsiam" - - -class OutputResponseAuthenticationMethodXsiam(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Enter a token directly, or provide a secret referencing a token""" - - TOKEN = "token" - SECRET = "secret" - - -class OutputResponseURLXsiamTypedDict(TypedDict): - weight: NotRequired[float] - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - -class OutputResponseURLXsiam(BaseModel): - weight: Optional[float] = None - r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["weight"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponsePqControlsXsiamTypedDict(TypedDict): - pass - - -class OutputResponsePqControlsXsiam(BaseModel): - pass - - -class OutputResponseOutputXsiamTypedDict(TypedDict): - type: OutputResponseTypeXsiam - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[OutputResponseAuthenticationMethodXsiam] - r"""Enter a token directly, or provide a secret referencing a token""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - throttle_rate_req_per_sec: NotRequired[int] - r"""Maximum number of requests to limit to per second""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: NotRequired[str] - url: NotRequired[str] - r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[OutputResponseURLXsiamTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" - token: NotRequired[str] - r"""XSIAM authentication token""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -8668,7 +8597,17 @@ class OutputResponseOutputXsiamTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsXsiamTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsDynatraceHTTPTypedDict] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + environment_id: NotRequired[str] + r"""ID of the environment to send to""" + active_gate_domain: NotRequired[str] + r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" + url: NotRequired[str] + r"""URL to send events to. Can be overwritten by an event's __url field.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -8683,8 +8622,19 @@ class OutputResponseOutputXsiamTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputXsiam(BaseModel): - type: OutputResponseTypeXsiam +class OutputResponseOutputDynatraceHTTP(BaseModel): + type: OutputResponseTypeDynatraceHTTP + + format_: Annotated[ + OutputResponseFormatDynatraceHTTP, pydantic.Field(alias="format") + ] + r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported.""" + + endpoint: OutputResponseEndpointDynatraceHTTP + + telemetry_type: Annotated[ + OutputResponseTelemetryType, pydantic.Field(alias="telemetryType") + ] id: Optional[str] = None r"""Unique ID for this output""" @@ -8703,10 +8653,11 @@ class OutputResponseOutputXsiam(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" + method: Optional[MethodOptions] = None + r"""The method to use when sending events""" + + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -8744,7 +8695,12 @@ class OutputResponseOutputXsiam(BaseModel): Optional[List[ExtraHTTPHeaderConfInputElastic]], pydantic.Field(alias="extraHttpHeaders"), ] = None - r"""Headers to add to all events""" + r"""Headers to add to all events. You can also add headers dynamically on a per-event basis in the __headers field, as explained in [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook/#internal-fields).""" + + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], @@ -8757,12 +8713,6 @@ class OutputResponseOutputXsiam(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - auth_type: Annotated[ - Optional[OutputResponseAuthenticationMethodXsiam], - pydantic.Field(alias="authType"), - ] = None - r"""Enter a token directly, or provide a secret referencing a token""" - response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -8778,69 +8728,41 @@ class OutputResponseOutputXsiam(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - throttle_rate_req_per_sec: Annotated[ - Optional[int], pydantic.Field(alias="throttleRateReqPerSec") - ] = None - r"""Maximum number of requests to limit to per second""" - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" + auth_type: Annotated[ + Optional[OutputResponseAuthenticationTypeDynatraceHTTP], + pydantic.Field(alias="authType"), + ] = None + total_memory_limit_kb: Annotated[ Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" - url: Optional[str] = None - r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") + ] = None + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - urls: Optional[List[OutputResponseURLXsiam]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" - - token: Optional[str] = None - r"""XSIAM authentication token""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") - ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") - ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") - ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") + ] = None + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" pq_max_backpressure_sec: Annotated[ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") @@ -8874,8 +8796,28 @@ class OutputResponseOutputXsiam(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsXsiam], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsDynatraceHTTP], + pydantic.Field(alias="pqControls"), + ] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + environment_id: Annotated[Optional[str], pydantic.Field(alias="environmentId")] = ( + None + ) + r"""ID of the environment to send to""" + + active_gate_domain: Annotated[ + Optional[str], pydantic.Field(alias="activeGateDomain") ] = None + r"""ActiveGate domain with Log analytics collector module enabled. For example https://{activeGate-domain}:9999/e/{environment-id}/api/v2/logs/ingest.""" + + url: Optional[str] = None + r"""URL to send events to. Can be overwritten by an event's __url field.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") @@ -8903,6 +8845,15 @@ class OutputResponseOutputXsiam(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + @field_serializer("method") + def serialize_method(self, value): + if isinstance(value, str): + try: + return models.MethodOptions(value) + except ValueError: + return value + return value + @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -8912,20 +8863,47 @@ def serialize_failed_request_logging_mode(self, value): return value return value + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + @field_serializer("auth_type") def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.OutputResponseAuthenticationMethodXsiam(value) + return models.OutputResponseAuthenticationTypeDynatraceHTTP(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.OutputResponseFormatDynatraceHTTP(value) + except ValueError: + return value + return value + + @field_serializer("endpoint") + def serialize_endpoint(self, value): + if isinstance(value, str): + try: + return models.OutputResponseEndpointDynatraceHTTP(value) + except ValueError: + return value + return value + + @field_serializer("telemetry_type") + def serialize_telemetry_type(self, value): + if isinstance(value, str): + try: + return models.OutputResponseTelemetryType(value) except ValueError: return value return value @@ -8966,7 +8944,8 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", + "method", + "keepAlive", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -8975,24 +8954,16 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "throttleRateReqPerSec", "onBackpressure", + "authType", "totalMemoryLimitKB", "description", - "url", - "useRoundRobinDns", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", - "token", - "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -9005,6 +8976,11 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "token", + "textSecret", + "environmentId", + "activeGateDomain", + "url", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", @@ -9027,76 +9003,41 @@ def serialize_model(self, handler): return m -class OutputResponseTypeLocalSearchStorage(str, Enum): - LOCAL_SEARCH_STORAGE = "local_search_storage" - - -class OutputResponseFormatLocalSearchStorage(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Data format to use when sending data. Defaults to JSON Compact.""" - - # JSONCompactEachRowWithNames - JSON_COMPACT_EACH_ROW_WITH_NAMES = "json-compact-each-row-with-names" - # JSONEachRow - JSON_EACH_ROW = "json-each-row" - - -class OutputResponseMappingType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""How event fields are mapped to columns.""" - - # Automatic - AUTOMATIC = "automatic" - # Custom - CUSTOM = "custom" - - -class OutputResponseStatsDestinationTypedDict(TypedDict): - url: NotRequired[str] - database: NotRequired[str] - table_name: NotRequired[str] - auth_type: NotRequired[str] - username: NotRequired[str] - sql_username: NotRequired[str] - password: NotRequired[str] - wait_for_async_inserts: NotRequired[bool] - concurrency: NotRequired[float] - - -class OutputResponseStatsDestination(BaseModel): - url: Optional[str] = None - - database: Optional[str] = None +class OutputResponseTypeNetflow(str, Enum): + NETFLOW = "netflow" - table_name: Annotated[Optional[str], pydantic.Field(alias="tableName")] = None - auth_type: Annotated[Optional[str], pydantic.Field(alias="authType")] = None +class OutputResponseHostNetflowTypedDict(TypedDict): + host: str + r"""Destination host""" + port: float + r"""Destination port, default is 2055""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - username: Optional[str] = None - sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None +class OutputResponseHostNetflow(BaseModel): + host: str + r"""Destination host""" - password: Optional[str] = None + port: float + r"""Destination port, default is 2055""" - wait_for_async_inserts: Annotated[ - Optional[bool], pydantic.Field(alias="waitForAsyncInserts") - ] = None + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - concurrency: Optional[float] = None + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set( - [ - "url", - "database", - "tableName", - "authType", - "username", - "sqlUsername", - "password", - "waitForAsyncInserts", - "concurrency", - ] - ) + optional_fields = set(["__template_host", "__template_port"]) serialized = handler(self) m = {} @@ -9111,30 +9052,106 @@ def serialize_model(self, handler): return m -class OutputResponseColumnMappingTypedDict(TypedDict): - column_name: str - r"""Name of the column that will store field value""" - column_value_expression: str - r"""JavaScript expression to compute value to be inserted into the table""" - column_type: NotRequired[str] - r"""Type of the column in the database""" +class OutputResponseOutputNetflowTypedDict(TypedDict): + type: OutputResponseTypeNetflow + hosts: List[OutputResponseHostNetflowTypedDict] + r"""One or more NetFlow Destinations to forward events to""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" + enable_ip_spoofing: NotRequired[bool] + r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + max_record_size: NotRequired[float] + r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseColumnMapping(BaseModel): - column_name: Annotated[str, pydantic.Field(alias="columnName")] - r"""Name of the column that will store field value""" +class OutputResponseOutputNetflow(BaseModel): + type: OutputResponseTypeNetflow - column_value_expression: Annotated[ - str, pydantic.Field(alias="columnValueExpression") - ] - r"""JavaScript expression to compute value to be inserted into the table""" + hosts: List[OutputResponseHostNetflow] + r"""One or more NetFlow Destinations to forward events to""" - column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None - r"""Type of the column in the database""" + id: Optional[str] = None + r"""Unique ID for this output""" - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["columnType"]) + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") + ] = None + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup.""" + + enable_ip_spoofing: Annotated[ + Optional[bool], pydantic.Field(alias="enableIpSpoofing") + ] = None + r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + max_record_size: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSize") + ] = None + r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" + + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "dnsResolvePeriodSec", + "enableIpSpoofing", + "description", + "maxRecordSize", + "__template_streamtags", + "notifications", + "status", + ] + ) serialized = handler(self) m = {} @@ -9149,21 +9166,53 @@ def serialize_model(self, handler): return m -class OutputResponsePqControlsLocalSearchStorageTypedDict(TypedDict): +class OutputResponseTypeXsiam(str, Enum): + XSIAM = "xsiam" + + +class OutputResponseAuthenticationMethodXsiam(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Enter a token directly, or provide a secret referencing a token""" + + TOKEN = "token" + SECRET = "secret" + + +class OutputResponseURLXsiamTypedDict(TypedDict): + weight: NotRequired[float] + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + +class OutputResponseURLXsiam(BaseModel): + weight: Optional[float] = None + r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["weight"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponsePqControlsXsiamTypedDict(TypedDict): pass -class OutputResponsePqControlsLocalSearchStorage(BaseModel): +class OutputResponsePqControlsXsiam(BaseModel): pass -class OutputResponseOutputLocalSearchStorageTypedDict(TypedDict): - type: OutputResponseTypeLocalSearchStorage - url: str - r"""URL of the database instance. Example: http://localhost:8123/""" - database: str - table_name: str - r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" +class OutputResponseOutputXsiamTypedDict(TypedDict): + type: OutputResponseTypeXsiam id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -9174,14 +9223,8 @@ class OutputResponseOutputLocalSearchStorageTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[OutputResponseFormatLocalSearchStorage] - r"""Data format to use when sending data. Defaults to JSON Compact.""" - mapping_type: NotRequired[OutputResponseMappingType] - r"""How event fields are mapped to columns.""" - async_inserts: NotRequired[bool] - r"""Collect data into batches for later processing. Disable to write to a table immediately.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + load_balanced: NotRequired[bool] + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -9201,12 +9244,12 @@ class OutputResponseOutputLocalSearchStorageTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" + auth_type: NotRequired[OutputResponseAuthenticationMethodXsiam] + r"""Enter a token directly, or provide a secret referencing a token""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -9214,27 +9257,29 @@ class OutputResponseOutputLocalSearchStorageTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - workload: NotRequired[str] - r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" - dump_format_errors_to_disk: NotRequired[bool] - r"""Log the most recent event that fails to match the table schema""" + throttle_rate_req_per_sec: NotRequired[int] + r"""Maximum number of requests to limit to per second""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - stats_destination: NotRequired[OutputResponseStatsDestinationTypedDict] + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - username: NotRequired[str] - password: NotRequired[str] - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - sql_username: NotRequired[str] - r"""Username for certificate authentication""" - wait_for_async_inserts: NotRequired[bool] - r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" - exclude_mapping_fields: NotRequired[List[str]] - r"""Fields to exclude from sending""" - describe_table: NotRequired[str] - r"""Retrieves the table schema and populates the Column Mapping table""" - column_mappings: NotRequired[List[OutputResponseColumnMappingTypedDict]] + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + urls: NotRequired[List[OutputResponseURLXsiamTypedDict]] + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + token: NotRequired[str] + r"""XSIAM authentication token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9257,35 +9302,23 @@ class OutputResponseOutputLocalSearchStorageTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsLocalSearchStorageTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsXsiamTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_database: NotRequired[str] - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_table_name: NotRequired[str] - r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputLocalSearchStorage(BaseModel): - type: OutputResponseTypeLocalSearchStorage - - url: str - r"""URL of the database instance. Example: http://localhost:8123/""" - - database: str - - table_name: Annotated[str, pydantic.Field(alias="tableName")] - r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" +class OutputResponseOutputXsiam(BaseModel): + type: OutputResponseTypeXsiam id: Optional[str] = None r"""Unique ID for this output""" @@ -9304,26 +9337,10 @@ class OutputResponseOutputLocalSearchStorage(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - auth_type: Annotated[ - Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") - ] = None - - format_: Annotated[ - Optional[OutputResponseFormatLocalSearchStorage], pydantic.Field(alias="format") - ] = None - r"""Data format to use when sending data. Defaults to JSON Compact.""" - - mapping_type: Annotated[ - Optional[OutputResponseMappingType], pydantic.Field(alias="mappingType") - ] = None - r"""How event fields are mapped to columns.""" - - async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None ) - r"""Collect data into batches for later processing. Disable to write to a table immediately.""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None + r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -9363,11 +9380,6 @@ class OutputResponseOutputLocalSearchStorage(BaseModel): ] = None r"""Headers to add to all events""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -9379,6 +9391,12 @@ class OutputResponseOutputLocalSearchStorage(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" + auth_type: Annotated[ + Optional[OutputResponseAuthenticationMethodXsiam], + pydantic.Field(alias="authType"), + ] = None + r"""Enter a token directly, or provide a secret referencing a token""" + response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], pydantic.Field(alias="responseRetrySettings"), @@ -9394,57 +9412,52 @@ class OutputResponseOutputLocalSearchStorage(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - workload: Optional[str] = None - r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" - - dump_format_errors_to_disk: Annotated[ - Optional[bool], pydantic.Field(alias="dumpFormatErrorsToDisk") + throttle_rate_req_per_sec: Annotated[ + Optional[int], pydantic.Field(alias="throttleRateReqPerSec") ] = None - r"""Log the most recent event that fails to match the table schema""" + r"""Maximum number of requests to limit to per second""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - stats_destination: Annotated[ - Optional[OutputResponseStatsDestination], - pydantic.Field(alias="statsDestination"), + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" - username: Optional[str] = None - - password: Optional[str] = None + url: Optional[str] = None + r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Select or create a secret that references your credentials""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None - r"""Username for certificate authentication""" + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - wait_for_async_inserts: Annotated[ - Optional[bool], pydantic.Field(alias="waitForAsyncInserts") - ] = None - r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + urls: Optional[List[OutputResponseURLXsiam]] = None - exclude_mapping_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeMappingFields") + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Fields to exclude from sending""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( - None - ) - r"""Retrieves the table schema and populates the Column Mapping table""" - - column_mappings: Annotated[ - Optional[List[OutputResponseColumnMapping]], - pydantic.Field(alias="columnMappings"), + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" + + token: Optional[str] = None + r"""XSIAM authentication token""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -9496,8 +9509,7 @@ class OutputResponseOutputLocalSearchStorage(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsLocalSearchStorage], - pydantic.Field(alias="pqControls"), + Optional[OutputResponsePqControlsXsiam], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -9505,21 +9517,6 @@ class OutputResponseOutputLocalSearchStorage(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - - template_database: Annotated[ - Optional[str], pydantic.Field(alias="__template_database") - ] = None - r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - - template_table_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_tableName") - ] = None - r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -9530,44 +9527,31 @@ class OutputResponseOutputLocalSearchStorage(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationTypeOptions(value) - except ValueError: - return value - return value - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.OutputResponseFormatLocalSearchStorage(value) - except ValueError: - return value - return value - - @field_serializer("mapping_type") - def serialize_mapping_type(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.OutputResponseMappingType(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.OutputResponseAuthenticationMethodXsiam(value) except ValueError: return value return value @@ -9617,11 +9601,7 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "authType", - "format", - "mappingType", - "asyncInserts", - "tls", + "loadBalanced", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -9630,25 +9610,24 @@ def serialize_model(self, handler): "timeoutSec", "flushPeriodSec", "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", + "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "workload", - "dumpFormatErrorsToDisk", + "throttleRateReqPerSec", "onBackpressure", - "statsDestination", + "totalMemoryLimitKB", "description", - "username", - "password", - "credentialsSecret", - "sqlUsername", - "waitForAsyncInserts", - "excludeMappingFields", - "describeTable", - "columnMappings", + "url", + "useRoundRobinDns", + "excludeSelf", + "urls", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -9662,11 +9641,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_url", - "__template_database", - "__template_tableName", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_url", "notifications", "status", ] @@ -9685,25 +9662,143 @@ def serialize_model(self, handler): return m -class OutputResponseTypeCustomerMetricsStorage(str, Enum): - CUSTOMER_METRICS_STORAGE = "customer_metrics_storage" +class OutputResponseTypeLocalSearchStorage(str, Enum): + LOCAL_SEARCH_STORAGE = "local_search_storage" -class OutputResponsePqControlsCustomerMetricsStorageTypedDict(TypedDict): +class OutputResponseFormatLocalSearchStorage(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Data format to use when sending data. Defaults to JSON Compact.""" + + # JSONCompactEachRowWithNames + JSON_COMPACT_EACH_ROW_WITH_NAMES = "json-compact-each-row-with-names" + # JSONEachRow + JSON_EACH_ROW = "json-each-row" + + +class OutputResponseMappingType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""How event fields are mapped to columns.""" + + # Automatic + AUTOMATIC = "automatic" + # Custom + CUSTOM = "custom" + + +class OutputResponseStatsDestinationTypedDict(TypedDict): + url: NotRequired[str] + database: NotRequired[str] + table_name: NotRequired[str] + auth_type: NotRequired[str] + username: NotRequired[str] + sql_username: NotRequired[str] + password: NotRequired[str] + wait_for_async_inserts: NotRequired[bool] + concurrency: NotRequired[float] + + +class OutputResponseStatsDestination(BaseModel): + url: Optional[str] = None + + database: Optional[str] = None + + table_name: Annotated[Optional[str], pydantic.Field(alias="tableName")] = None + + auth_type: Annotated[Optional[str], pydantic.Field(alias="authType")] = None + + username: Optional[str] = None + + sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None + + password: Optional[str] = None + + wait_for_async_inserts: Annotated[ + Optional[bool], pydantic.Field(alias="waitForAsyncInserts") + ] = None + + concurrency: Optional[float] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "url", + "database", + "tableName", + "authType", + "username", + "sqlUsername", + "password", + "waitForAsyncInserts", + "concurrency", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseColumnMappingTypedDict(TypedDict): + column_name: str + r"""Name of the column that will store field value""" + column_value_expression: str + r"""JavaScript expression to compute value to be inserted into the table""" + column_type: NotRequired[str] + r"""Type of the column in the database""" + + +class OutputResponseColumnMapping(BaseModel): + column_name: Annotated[str, pydantic.Field(alias="columnName")] + r"""Name of the column that will store field value""" + + column_value_expression: Annotated[ + str, pydantic.Field(alias="columnValueExpression") + ] + r"""JavaScript expression to compute value to be inserted into the table""" + + column_type: Annotated[Optional[str], pydantic.Field(alias="columnType")] = None + r"""Type of the column in the database""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["columnType"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponsePqControlsLocalSearchStorageTypedDict(TypedDict): pass -class OutputResponsePqControlsCustomerMetricsStorage(BaseModel): +class OutputResponsePqControlsLocalSearchStorage(BaseModel): pass -class OutputResponseOutputCustomerMetricsStorageTypedDict(TypedDict): - type: OutputResponseTypeCustomerMetricsStorage +class OutputResponseOutputLocalSearchStorageTypedDict(TypedDict): + type: OutputResponseTypeLocalSearchStorage url: str - r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + r"""URL of the database instance. Example: http://localhost:8123/""" database: str table_name: str - r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" + r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -9715,12 +9810,12 @@ class OutputResponseOutputCustomerMetricsStorageTypedDict(TypedDict): streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" auth_type: NotRequired[AuthenticationTypeOptions] - format_: NotRequired[FormatOptions] - r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" - mapping_type: NotRequired[MappingTypeOptions] - r"""How event fields are mapped to ClickHouse columns""" + format_: NotRequired[OutputResponseFormatLocalSearchStorage] + r"""Data format to use when sending data. Defaults to JSON Compact.""" + mapping_type: NotRequired[OutputResponseMappingType] + r"""How event fields are mapped to columns.""" async_inserts: NotRequired[bool] - r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" + r"""Collect data into batches for later processing. Disable to write to a table immediately.""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" @@ -9760,7 +9855,9 @@ class OutputResponseOutputCustomerMetricsStorageTypedDict(TypedDict): r"""Log the most recent event that fails to match the table schema""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + stats_destination: NotRequired[OutputResponseStatsDestinationTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -9768,12 +9865,12 @@ class OutputResponseOutputCustomerMetricsStorageTypedDict(TypedDict): sql_username: NotRequired[str] r"""Username for certificate authentication""" wait_for_async_inserts: NotRequired[bool] - r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" exclude_mapping_fields: NotRequired[List[str]] - r"""Fields to exclude from sending to ClickHouse""" + r"""Fields to exclude from sending""" describe_table: NotRequired[str] - r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" - column_mappings: NotRequired[List[ColumnMappingConfOutputClickHouseTypedDict]] + r"""Retrieves the table schema and populates the Column Mapping table""" + column_mappings: NotRequired[List[OutputResponseColumnMappingTypedDict]] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -9796,7 +9893,7 @@ class OutputResponseOutputCustomerMetricsStorageTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsCustomerMetricsStorageTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsLocalSearchStorageTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_url: NotRequired[str] @@ -9815,16 +9912,16 @@ class OutputResponseOutputCustomerMetricsStorageTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputCustomerMetricsStorage(BaseModel): - type: OutputResponseTypeCustomerMetricsStorage +class OutputResponseOutputLocalSearchStorage(BaseModel): + type: OutputResponseTypeLocalSearchStorage url: str - r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + r"""URL of the database instance. Example: http://localhost:8123/""" database: str table_name: Annotated[str, pydantic.Field(alias="tableName")] - r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" + r"""Name of the table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" id: Optional[str] = None r"""Unique ID for this output""" @@ -9847,18 +9944,20 @@ class OutputResponseOutputCustomerMetricsStorage(BaseModel): Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") ] = None - format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None - r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" + format_: Annotated[ + Optional[OutputResponseFormatLocalSearchStorage], pydantic.Field(alias="format") + ] = None + r"""Data format to use when sending data. Defaults to JSON Compact.""" mapping_type: Annotated[ - Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") + Optional[OutputResponseMappingType], pydantic.Field(alias="mappingType") ] = None - r"""How event fields are mapped to ClickHouse columns""" + r"""How event fields are mapped to columns.""" async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( None ) - r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" + r"""Collect data into batches for later processing. Disable to write to a table immediately.""" tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None @@ -9944,7 +10043,13 @@ class OutputResponseOutputCustomerMetricsStorage(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + stats_destination: Annotated[ + Optional[OutputResponseStatsDestination], + pydantic.Field(alias="statsDestination"), + ] = None + description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -9961,20 +10066,20 @@ class OutputResponseOutputCustomerMetricsStorage(BaseModel): wait_for_async_inserts: Annotated[ Optional[bool], pydantic.Field(alias="waitForAsyncInserts") ] = None - r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + r"""Cribl will wait for confirmation that data has been fully inserted into the database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" exclude_mapping_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="excludeMappingFields") ] = None - r"""Fields to exclude from sending to ClickHouse""" + r"""Fields to exclude from sending""" describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( None ) - r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" + r"""Retrieves the table schema and populates the Column Mapping table""" column_mappings: Annotated[ - Optional[List[ColumnMappingConfOutputClickHouse]], + Optional[List[OutputResponseColumnMapping]], pydantic.Field(alias="columnMappings"), ] = None @@ -10028,7 +10133,7 @@ class OutputResponseOutputCustomerMetricsStorage(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsCustomerMetricsStorage], + Optional[OutputResponsePqControlsLocalSearchStorage], pydantic.Field(alias="pqControls"), ] = None @@ -10081,7 +10186,7 @@ def serialize_auth_type(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.FormatOptions(value) + return models.OutputResponseFormatLocalSearchStorage(value) except ValueError: return value return value @@ -10090,7 +10195,7 @@ def serialize_format_(self, value): def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.MappingTypeOptions(value) + return models.OutputResponseMappingType(value) except ValueError: return value return value @@ -10171,6 +10276,7 @@ def serialize_model(self, handler): "workload", "dumpFormatErrorsToDisk", "onBackpressure", + "statsDestination", "description", "username", "password", @@ -10216,20 +10322,20 @@ def serialize_model(self, handler): return m -class OutputResponseTypeClickHouse(str, Enum): - CLICK_HOUSE = "click_house" +class OutputResponseTypeCustomerMetricsStorage(str, Enum): + CUSTOMER_METRICS_STORAGE = "customer_metrics_storage" -class OutputResponsePqControlsClickHouseTypedDict(TypedDict): +class OutputResponsePqControlsCustomerMetricsStorageTypedDict(TypedDict): pass -class OutputResponsePqControlsClickHouse(BaseModel): +class OutputResponsePqControlsCustomerMetricsStorage(BaseModel): pass -class OutputResponseOutputClickHouseTypedDict(TypedDict): - type: OutputResponseTypeClickHouse +class OutputResponseOutputCustomerMetricsStorageTypedDict(TypedDict): + type: OutputResponseTypeCustomerMetricsStorage url: str r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" database: str @@ -10292,6 +10398,7 @@ class OutputResponseOutputClickHouseTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" username: NotRequired[str] password: NotRequired[str] credentials_secret: NotRequired[str] @@ -10327,7 +10434,7 @@ class OutputResponseOutputClickHouseTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsClickHouseTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsCustomerMetricsStorageTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_url: NotRequired[str] @@ -10346,8 +10453,8 @@ class OutputResponseOutputClickHouseTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputClickHouse(BaseModel): - type: OutputResponseTypeClickHouse +class OutputResponseOutputCustomerMetricsStorage(BaseModel): + type: OutputResponseTypeCustomerMetricsStorage url: str r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" @@ -10476,6 +10583,7 @@ class OutputResponseOutputClickHouse(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" username: Optional[str] = None @@ -10559,7 +10667,8 @@ class OutputResponseOutputClickHouse(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsClickHouse], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsCustomerMetricsStorage], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -10746,12 +10855,25 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDiskSpool(str, Enum): - DISK_SPOOL = "disk_spool" +class OutputResponseTypeClickHouse(str, Enum): + CLICK_HOUSE = "click_house" -class OutputResponseOutputDiskSpoolTypedDict(TypedDict): - type: OutputResponseTypeDiskSpool +class OutputResponsePqControlsClickHouseTypedDict(TypedDict): + pass + + +class OutputResponsePqControlsClickHouse(BaseModel): + pass + + +class OutputResponseOutputClickHouseTypedDict(TypedDict): + type: OutputResponseTypeClickHouse + url: str + r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + database: str + table_name: str + r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -10762,27 +10884,118 @@ class OutputResponseOutputDiskSpoolTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - time_window: NotRequired[str] - r"""Time period for grouping spooled events. Default is 10m.""" - max_data_size: NotRequired[str] - r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" - max_data_time: NotRequired[str] - r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" - compress: NotRequired[CompressionOptionsPersistence] - r"""Data compression format. Default is gzip.""" - partition_expr: NotRequired[str] - r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" + auth_type: NotRequired[AuthenticationTypeOptions] + format_: NotRequired[FormatOptions] + r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" + mapping_type: NotRequired[MappingTypeOptions] + r"""How event fields are mapped to ClickHouse columns""" + async_inserts: NotRequired[bool] + r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathExtendedTypedDict] + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + workload: NotRequired[str] + r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" + dump_format_errors_to_disk: NotRequired[bool] + r"""Log the most recent event that fails to match the table schema""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" + username: NotRequired[str] + password: NotRequired[str] + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + sql_username: NotRequired[str] + r"""Username for certificate authentication""" + wait_for_async_inserts: NotRequired[bool] + r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" + exclude_mapping_fields: NotRequired[List[str]] + r"""Fields to exclude from sending to ClickHouse""" + describe_table: NotRequired[str] + r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" + column_mappings: NotRequired[List[ColumnMappingConfOutputClickHouseTypedDict]] + pq_strict_ordering: NotRequired[bool] + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + pq_rate_per_sec: NotRequired[float] + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + pq_mode: NotRequired[ModeOptions] + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + pq_max_buffer_size: NotRequired[float] + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + pq_max_backpressure_sec: NotRequired[float] + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + pq_max_file_size: NotRequired[str] + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + pq_max_size: NotRequired[str] + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + pq_path: NotRequired[str] + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + pq_compress: NotRequired[CompressionOptionsPq] + r"""Codec to use to compress the persisted data""" + pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + pq_max_buffer_size_bytes: NotRequired[str] + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + pq_controls: NotRequired[OutputResponsePqControlsClickHouseTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_database: NotRequired[str] + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" + template_table_name: NotRequired[str] + r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputDiskSpool(BaseModel): - type: OutputResponseTypeDiskSpool +class OutputResponseOutputClickHouse(BaseModel): + type: OutputResponseTypeClickHouse + + url: str + r"""URL of the ClickHouse instance. Example: http://localhost:8123/""" + + database: str + + table_name: Annotated[str, pydantic.Field(alias="tableName")] + r"""Name of the ClickHouse table where data will be inserted. Name can contain letters (A-Z, a-z), numbers (0-9), and the character \"_\", and must start with either a letter or the character \"_\".""" id: Optional[str] = None r"""Unique ID for this output""" @@ -10801,498 +11014,299 @@ class OutputResponseOutputDiskSpool(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = None - r"""Time period for grouping spooled events. Default is 10m.""" - - max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None - r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" + auth_type: Annotated[ + Optional[AuthenticationTypeOptions], pydantic.Field(alias="authType") + ] = None - max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None - r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" + format_: Annotated[Optional[FormatOptions], pydantic.Field(alias="format")] = None + r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact.""" - compress: Optional[CompressionOptionsPersistence] = None - r"""Data compression format. Default is gzip.""" + mapping_type: Annotated[ + Optional[MappingTypeOptions], pydantic.Field(alias="mappingType") + ] = None + r"""How event fields are mapped to ClickHouse columns""" - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + async_inserts: Annotated[Optional[bool], pydantic.Field(alias="asyncInserts")] = ( None ) - r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" + r"""Collect data into batches for later processing on the ClickHouse server. Disable to write to a ClickHouse table immediately. Cribl sends the configured value with every insert (async_insert=1 or async_insert=0) so behavior is consistent across ClickHouse versions, including 26.3 LTS and later, where async inserts are enabled by default on the server.""" - description: Optional[str] = None + tls: Optional[TLSSettingsClientSideTypeCaPathCertPathExtended] = None - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Maximum size, in KB, of the request body""" - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + compress: Optional[bool] = None + r"""Compress the payload body before sending""" - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPersistence(value) - except ValueError: - return value - return value + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "timeWindow", - "maxDataSize", - "maxDataTime", - "compress", - "partitionExpr", - "description", - "__template_streamtags", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - return m + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" -class OutputResponseTypeCriblLake(str, Enum): - CRIBL_LAKE = "cribl_lake" + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" -class OutputResponseFormatCriblLake(str, Enum, metaclass=utils.OpenEnumMeta): - JSON = "json" - PARQUET = "parquet" - RAW = "raw" + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), + ] = None + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + ] = None -class OutputResponseOutputCriblLakeTypedDict(TypedDict): - type: OutputResponseTypeCriblLake - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - stage_path: NotRequired[str] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - dest_path: NotRequired[str] - r"""Lake dataset to send the data to.""" - format_: NotRequired[OutputResponseFormatCriblLake] - dynamic_dataset: NotRequired[bool] - max_closing_files_to_backpressure: NotRequired[float] - max_concurrent_file_parts: NotRequired[float] - description: NotRequired[str] - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + ] = None + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + workload: Optional[str] = None + r"""Optional ClickHouse workload name to append as a SETTINGS clause on INSERT queries. Used for workload scheduling classification.""" -class OutputResponseOutputCriblLake(BaseModel): - type: OutputResponseTypeCriblLake + dump_format_errors_to_disk: Annotated[ + Optional[bool], pydantic.Field(alias="dumpFormatErrorsToDisk") + ] = None + r"""Log the most recent event that fails to match the table schema""" - id: Optional[str] = None - r"""Unique ID for this output""" + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + ] = None + r"""How to handle events when all receivers are exerting backpressure""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + username: Optional[str] = None - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + password: Optional[str] = None - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" - stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + sql_username: Annotated[Optional[str], pydantic.Field(alias="sqlUsername")] = None + r"""Username for certificate authentication""" - add_id_to_stage_path: Annotated[ - Optional[bool], pydantic.Field(alias="addIdToStagePath") + wait_for_async_inserts: Annotated[ + Optional[bool], pydantic.Field(alias="waitForAsyncInserts") ] = None - r"""Add the Output ID value to staging location""" + r"""Cribl will wait for confirmation that data has been fully inserted into the ClickHouse database before proceeding. Disabling this option can increase throughput, but Cribl won't be able to verify data has been completely inserted.""" - remove_empty_dirs: Annotated[ - Optional[bool], pydantic.Field(alias="removeEmptyDirs") + exclude_mapping_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeMappingFields") ] = None - r"""Remove empty staging directories after moving files""" + r"""Fields to exclude from sending to ClickHouse""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + describe_table: Annotated[Optional[str], pydantic.Field(alias="describeTable")] = ( None ) - r"""JavaScript expression to define the output filename prefix (can be constant)""" + r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") + column_mappings: Annotated[ + Optional[List[ColumnMappingConfOutputClickHouse]], + pydantic.Field(alias="columnMappings"), ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: Annotated[ - Optional[float], pydantic.Field(alias="maxFileSizeMB") + pq_strict_ordering: Annotated[ + Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - max_file_open_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + pq_rate_per_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqRatePerSec") ] = None - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - max_file_idle_time_sec: Annotated[ - Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None + r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + + pq_max_buffer_size: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBufferSize") ] = None - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( - None - ) - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - - header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None - r"""If set, this line will be written to the beginning of each output file""" - - write_high_water_mark: Annotated[ - Optional[float], pydantic.Field(alias="writeHighWaterMark") - ] = None - r"""Buffer size used to write to a file""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - deadletter_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="deadletterEnabled") - ] = None - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - - on_disk_full_backpressure: Annotated[ - Optional[DiskSpaceProtectionOptions], - pydantic.Field(alias="onDiskFullBackpressure"), - ] = None - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - - force_close_on_shutdown: Annotated[ - Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") - ] = None - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - - retry_settings: Annotated[ - Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") - ] = None - - orphans: Optional[OrphanFileRecoveryType] = None - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Lake dataset to send the data to.""" - - format_: Annotated[ - Optional[OutputResponseFormatCriblLake], pydantic.Field(alias="format") - ] = None - - dynamic_dataset: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicDataset") - ] = None - - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") - ] = None - - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None - - description: Optional[str] = None - - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" - - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" - - automatic_schema: Annotated[ - Optional[bool], pydantic.Field(alias="automaticSchema") - ] = None - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - - parquet_version: Annotated[ - Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") - ] = None - r"""Determines which data types are supported and how they are represented""" - - parquet_data_page_version: Annotated[ - Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") - ] = None - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - - parquet_row_group_length: Annotated[ - Optional[float], pydantic.Field(alias="parquetRowGroupLength") - ] = None - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - - parquet_page_size: Annotated[ - Optional[str], pydantic.Field(alias="parquetPageSize") + pq_max_backpressure_sec: Annotated[ + Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") ] = None - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - should_log_invalid_rows: Annotated[ - Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + pq_max_file_size: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxFileSize") ] = None - r"""Log up to 3 rows that @{product} skips due to data mismatch""" + r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - key_value_metadata: Annotated[ - Optional[List[KeyValueMetadataConfOutputFilesystem]], - pydantic.Field(alias="keyValueMetadata"), - ] = None - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None + r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - enable_statistics: Annotated[ - Optional[bool], pydantic.Field(alias="enableStatistics") - ] = None - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None + r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - enable_write_page_index: Annotated[ - Optional[bool], pydantic.Field(alias="enableWritePageIndex") + pq_compress: Annotated[ + Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") ] = None - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + r"""Codec to use to compress the persisted data""" - enable_page_checksum: Annotated[ - Optional[bool], pydantic.Field(alias="enablePageChecksum") + pq_on_backpressure: Annotated[ + Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") ] = None - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - empty_dir_cleanup_sec: Annotated[ - Optional[float], pydantic.Field(alias="emptyDirCleanupSec") + pq_max_buffer_size_bytes: Annotated[ + Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""How frequently, in seconds, to clean up empty directories""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - directory_batch_size: Annotated[ - Optional[float], pydantic.Field(alias="directoryBatchSize") + pq_controls: Annotated[ + Optional[OutputResponsePqControlsClickHouse], pydantic.Field(alias="pqControls") ] = None - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - deadletter_path: Annotated[ - Optional[str], pydantic.Field(alias="deadletterPath") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_database: Annotated[ + Optional[str], pydantic.Field(alias="__template_database") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'database' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'database' at runtime.""" - template_base_file_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_baseFileName") + template_table_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_tableName") ] = None - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + r"""Binds 'tableName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tableName' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") - ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - - template_parquet_schema: Annotated[ - Optional[str], pydantic.Field(alias="__template_parquetSchema") - ] = None - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" - notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("auth_type") + def serialize_auth_type(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptionsBlockDrop(value) + return models.AuthenticationTypeOptions(value) except ValueError: return value return value - @field_serializer("on_disk_full_backpressure") - def serialize_on_disk_full_backpressure(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.DiskSpaceProtectionOptions(value) + return models.FormatOptions(value) except ValueError: return value return value - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("mapping_type") + def serialize_mapping_type(self, value): if isinstance(value, str): try: - return models.OutputResponseFormatCriblLake(value) + return models.MappingTypeOptions(value) except ValueError: return value return value - @field_serializer("compress") - def serialize_compress(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CompressionOptionsHTTP(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("compression_level") - def serialize_compression_level(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.CompressionLevelOptions(value) + return models.BackpressureBehaviorOptions(value) except ValueError: return value return value - @field_serializer("parquet_version") - def serialize_parquet_version(self, value): + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): if isinstance(value, str): try: - return models.ParquetVersionOptions(value) + return models.ModeOptions(value) except ValueError: return value return value - @field_serializer("parquet_data_page_version") - def serialize_parquet_data_page_version(self, value): + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): if isinstance(value, str): try: - return models.DataPageVersionOptions(value) + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) except ValueError: return value return value @@ -11306,53 +11320,55 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "stagePath", - "addIdToStagePath", - "removeEmptyDirs", - "baseFileName", - "fileNameSuffix", - "maxFileSizeMB", - "maxFileOpenTimeSec", - "maxFileIdleTimeSec", - "maxOpenFiles", - "headerLine", - "writeHighWaterMark", - "onBackpressure", - "deadletterEnabled", - "onDiskFullBackpressure", - "forceCloseOnShutdown", - "retrySettings", - "orphans", - "destPath", + "authType", "format", - "dynamicDataset", - "maxClosingFilesToBackpressure", - "maxConcurrentFileParts", - "description", + "mappingType", + "asyncInserts", + "tls", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", "compress", - "compressionLevel", - "automaticSchema", - "parquetSchema", - "parquetVersion", - "parquetDataPageVersion", - "parquetRowGroupLength", - "parquetPageSize", - "shouldLogInvalidRows", - "keyValueMetadata", - "enableStatistics", - "enableWritePageIndex", - "enablePageChecksum", - "emptyDirCleanupSec", - "directoryBatchSize", - "deadletterPath", - "maxRetryNum", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "workload", + "dumpFormatErrorsToDisk", + "onBackpressure", + "description", + "username", + "password", + "credentialsSecret", + "sqlUsername", + "waitForAsyncInserts", + "excludeMappingFields", + "describeTable", + "columnMappings", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", - "__template_baseFileName", - "__template_fileNameSuffix", + "__template_url", + "__template_database", + "__template_tableName", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_destPath", - "__template_compress", - "__template_parquetSchema", "notifications", "status", ] @@ -11371,186 +11387,44 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSecurityLake(str, Enum): - SECURITY_LAKE = "security_lake" +class OutputResponseTypeDiskSpool(str, Enum): + DISK_SPOOL = "disk_spool" -class OutputResponseOutputSecurityLakeTypedDict(TypedDict): - type: OutputResponseTypeSecurityLake - assume_role_arn: str - r"""Amazon Resource Name (ARN) of the role to assume""" - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - region: str - r"""Region where the Amazon Security Lake is located.""" - stage_path: str - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - account_id: str - r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" - custom_source: str - r"""Name of the custom source configured in Amazon Security Lake""" +class OutputResponseOutputDiskSpoolTypedDict(TypedDict): + type: OutputResponseTypeDiskSpool id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - endpoint: NotRequired[str] - r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access S3""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - max_concurrent_file_parts: NotRequired[float] - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" - verify_permissions: NotRequired[bool] - r"""Disable if you can access files within the bucket but not the bucket itself""" - max_closing_files_to_backpressure: NotRequired[float] - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" - add_id_to_stage_path: NotRequired[bool] - r"""Add the Output ID value to staging location""" - remove_empty_dirs: NotRequired[bool] - r"""Remove empty staging directories after moving files""" - base_file_name: NotRequired[str] - r"""JavaScript expression to define the output filename prefix (can be constant)""" - max_file_size_mb: NotRequired[float] - r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" - max_file_open_time_sec: NotRequired[float] - r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" - max_file_idle_time_sec: NotRequired[float] - r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" - max_open_files: NotRequired[float] - r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" - header_line: NotRequired[str] - r"""If set, this line will be written to the beginning of each output file""" - write_high_water_mark: NotRequired[float] - r"""Buffer size used to write to a file""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - deadletter_enabled: NotRequired[bool] - r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" - on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] - r"""How to handle events when disk space is below the global 'Min free disk space' limit""" - force_close_on_shutdown: NotRequired[bool] - r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" - retry_settings: NotRequired[RetrySettingsTypeTypedDict] - orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] - aws_secret_key: NotRequired[str] - object_acl: NotRequired[ObjectACLOptions] - r"""Object ACL to assign to uploaded objects""" - storage_class: NotRequired[StorageClassOptions] - r"""Storage class to select for uploaded objects""" - server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: NotRequired[str] - r"""ID or ARN of the KMS customer-managed key to use for encryption""" - automatic_schema: NotRequired[bool] - r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_version: NotRequired[ParquetVersionOptions] - r"""Determines which data types are supported and how they are represented""" - parquet_data_page_version: NotRequired[DataPageVersionOptions] - r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - parquet_row_group_length: NotRequired[float] - r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - parquet_page_size: NotRequired[str] - r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - should_log_invalid_rows: NotRequired[bool] - r"""Log up to 3 rows that @{product} skips due to data mismatch""" - key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - enable_statistics: NotRequired[bool] - r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - enable_write_page_index: NotRequired[bool] - r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - enable_page_checksum: NotRequired[bool] - r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + time_window: NotRequired[str] + r"""Time period for grouping spooled events. Default is 10m.""" + max_data_size: NotRequired[str] + r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" + max_data_time: NotRequired[str] + r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" + compress: NotRequired[CompressionOptionsPersistence] + r"""Data compression format. Default is gzip.""" + partition_expr: NotRequired[str] + r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - empty_dir_cleanup_sec: NotRequired[float] - r"""How frequently, in seconds, to clean up empty directories""" - directory_batch_size: NotRequired[float] - r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - deadletter_path: NotRequired[str] - r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - max_retry_num: NotRequired[float] - r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + r"""Optional description for this configuration.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - template_bucket: NotRequired[str] - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_base_file_name: NotRequired[str] - r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_object_acl: NotRequired[str] - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - template_storage_class: NotRequired[str] - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - template_server_side_encryption: NotRequired[str] - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - template_kms_key_id: NotRequired[str] - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_account_id: NotRequired[str] - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - template_custom_source: NotRequired[str] - r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_parquet_schema: NotRequired[str] - r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSecurityLake(BaseModel): - type: OutputResponseTypeSecurityLake - - assume_role_arn: Annotated[str, pydantic.Field(alias="assumeRoleArn")] - r"""Amazon Resource Name (ARN) of the role to assume""" - - bucket: str - r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" - - region: str - r"""Region where the Amazon Security Lake is located.""" - - stage_path: Annotated[str, pydantic.Field(alias="stagePath")] - r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" - - account_id: Annotated[str, pydantic.Field(alias="accountId")] - r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" - - custom_source: Annotated[str, pydantic.Field(alias="customSource")] - r"""Name of the custom source configured in Amazon Security Lake""" +class OutputResponseOutputDiskSpool(BaseModel): + type: OutputResponseTypeDiskSpool id: Optional[str] = None r"""Unique ID for this output""" @@ -11561,7 +11435,7 @@ class OutputResponseOutputSecurityLake(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -11569,54 +11443,218 @@ class OutputResponseOutputSecurityLake(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - endpoint: Optional[str] = None - r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" + time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = None + r"""Time period for grouping spooled events. Default is 10m.""" - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") - ] = None - r"""Use Assume Role credentials to access S3""" + max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None + r"""Maximum disk space that can be consumed before older buckets are deleted. Examples: 420MB, 4GB. Default is 1GB.""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" + max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None + r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h.""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") - ] = None - 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).""" + compress: Optional[CompressionOptionsPersistence] = None + r"""Data compression format. Default is gzip.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory.""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") - ] = None - r"""Reuse connections between requests, which can improve performance""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - max_concurrent_file_parts: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentFileParts") - ] = None - r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" - verify_permissions: Annotated[ - Optional[bool], pydantic.Field(alias="verifyPermissions") - ] = None - r"""Disable if you can access files within the bucket but not the bucket itself""" + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - max_closing_files_to_backpressure: Annotated[ - Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPersistence(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "timeWindow", + "maxDataSize", + "maxDataTime", + "compress", + "partitionExpr", + "description", + "__template_streamtags", + "notifications", + "status", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseTypeCriblLake(str, Enum): + CRIBL_LAKE = "cribl_lake" + + +class OutputResponseFormatCriblLake(str, Enum, metaclass=utils.OpenEnumMeta): + JSON = "json" + PARQUET = "parquet" + RAW = "raw" + + +class OutputResponseOutputCriblLakeTypedDict(TypedDict): + type: OutputResponseTypeCriblLake + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + stage_path: NotRequired[str] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + dest_path: NotRequired[str] + r"""Lake dataset to send the data to.""" + format_: NotRequired[OutputResponseFormatCriblLake] + dynamic_dataset: NotRequired[bool] + max_closing_files_to_backpressure: NotRequired[float] + max_concurrent_file_parts: NotRequired[float] + description: NotRequired[str] + r"""Optional description for this configuration.""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + +class OutputResponseOutputCriblLake(BaseModel): + type: OutputResponseTypeCriblLake + + id: Optional[str] = None + r"""Unique ID for this output""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = None + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" add_id_to_stage_path: Annotated[ Optional[bool], pydantic.Field(alias="addIdToStagePath") @@ -11633,6 +11671,11 @@ class OutputResponseOutputSecurityLake(BaseModel): ) r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: Annotated[ Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None @@ -11689,34 +11732,46 @@ class OutputResponseOutputSecurityLake(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Lake dataset to send the data to.""" - object_acl: Annotated[ - Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + format_: Annotated[ + Optional[OutputResponseFormatCriblLake], pydantic.Field(alias="format") ] = None - r"""Object ACL to assign to uploaded objects""" - storage_class: Annotated[ - Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + dynamic_dataset: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicDataset") ] = None - r"""Storage class to select for uploaded objects""" - server_side_encryption: Annotated[ - Optional[ServerSideEncryptionForUploadedObjectsOptions], - pydantic.Field(alias="serverSideEncryption"), + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") ] = None - r"""Server-side encryption to use for uploaded objects""" - kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None - r"""ID or ARN of the KMS customer-managed key to use for encryption""" + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" + + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") + ] = None + r"""Compression level to apply before moving files to final destination""" automatic_schema: Annotated[ Optional[bool], pydantic.Field(alias="automaticSchema") ] = None r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: Annotated[ Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None @@ -11763,14 +11818,6 @@ class OutputResponseOutputSecurityLake(BaseModel): ] = None r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - empty_dir_cleanup_sec: Annotated[ Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None @@ -11781,11 +11828,6 @@ class OutputResponseOutputSecurityLake(BaseModel): ] = None r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - deadletter_path: Annotated[ Optional[str], pydantic.Field(alias="deadletterPath") ] = None @@ -11801,80 +11843,30 @@ class OutputResponseOutputSecurityLake(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") - ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - - template_bucket: Annotated[ - Optional[str], pydantic.Field(alias="__template_bucket") - ] = None - r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_base_file_name: Annotated[ Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") + ] = None + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - - template_object_acl: Annotated[ - Optional[str], pydantic.Field(alias="__template_objectACL") - ] = None - r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - - template_storage_class: Annotated[ - Optional[str], pydantic.Field(alias="__template_storageClass") - ] = None - r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - - template_server_side_encryption: Annotated[ - Optional[str], pydantic.Field(alias="__template_serverSideEncryption") - ] = None - r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - - template_kms_key_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_kmsKeyId") - ] = None - r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - - template_account_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_accountId") - ] = None - r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" - - template_custom_source: Annotated[ - Optional[str], pydantic.Field(alias="__template_customSource") + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") ] = None - r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: Annotated[ Optional[str], pydantic.Field(alias="__template_parquetSchema") @@ -11887,15 +11879,6 @@ class OutputResponseOutputSecurityLake(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value - @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -11914,29 +11897,29 @@ def serialize_on_disk_full_backpressure(self, value): return value return value - @field_serializer("object_acl") - def serialize_object_acl(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.ObjectACLOptions(value) + return models.OutputResponseFormatCriblLake(value) except ValueError: return value return value - @field_serializer("storage_class") - def serialize_storage_class(self, value): + @field_serializer("compress") + def serialize_compress(self, value): if isinstance(value, str): try: - return models.StorageClassOptions(value) + return models.CompressionOptionsHTTP(value) except ValueError: return value return value - @field_serializer("server_side_encryption") - def serialize_server_side_encryption(self, value): + @field_serializer("compression_level") + def serialize_compression_level(self, value): if isinstance(value, str): try: - return models.ServerSideEncryptionForUploadedObjectsOptions(value) + return models.CompressionLevelOptions(value) except ValueError: return value return value @@ -11968,19 +11951,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "endpoint", - "enableAssumeRole", - "assumeRoleExternalId", - "durationSeconds", - "awsAuthenticationMethod", - "reuseConnections", - "rejectUnauthorized", - "maxConcurrentFileParts", - "verifyPermissions", - "maxClosingFilesToBackpressure", + "stagePath", "addIdToStagePath", "removeEmptyDirs", "baseFileName", + "fileNameSuffix", "maxFileSizeMB", "maxFileOpenTimeSec", "maxFileIdleTimeSec", @@ -11993,12 +11968,16 @@ def serialize_model(self, handler): "forceCloseOnShutdown", "retrySettings", "orphans", - "awsSecretKey", - "objectACL", - "storageClass", - "serverSideEncryption", - "kmsKeyId", + "destPath", + "format", + "dynamicDataset", + "maxClosingFilesToBackpressure", + "maxConcurrentFileParts", + "description", + "compress", + "compressionLevel", "automaticSchema", + "parquetSchema", "parquetVersion", "parquetDataPageVersion", "parquetRowGroupLength", @@ -12008,30 +11987,16 @@ def serialize_model(self, handler): "enableStatistics", "enableWritePageIndex", "enablePageChecksum", - "description", - "awsApiKey", - "awsSecret", "emptyDirCleanupSec", "directoryBatchSize", - "parquetSchema", "deadletterPath", "maxRetryNum", "__template_streamtags", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_bucket", - "__template_region", "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", - "__template_awsSecretKey", - "__template_objectACL", - "__template_storageClass", - "__template_serverSideEncryption", - "__template_kmsKeyId", - "__template_accountId", - "__template_customSource", - "__template_awsApiKey", + "__template_destPath", + "__template_compress", "__template_parquetSchema", "notifications", "status", @@ -12051,32 +12016,38 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDlS3(str, Enum): - DL_S3 = "dl_s3" +class OutputResponseTypeSecurityLake(str, Enum): + SECURITY_LAKE = "security_lake" -class OutputResponseOutputDlS3TypedDict(TypedDict): - type: OutputResponseTypeDlS3 +class OutputResponseOutputSecurityLakeTypedDict(TypedDict): + type: OutputResponseTypeSecurityLake + assume_role_arn: str + r"""Amazon Resource Name (ARN) of the role to assume""" bucket: str r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + region: str + r"""Region where the Amazon Security Lake is located.""" stage_path: str r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + account_id: str + r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" + custom_source: str + r"""Name of the custom source configured in Amazon Security Lake""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" endpoint: NotRequired[str] - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" enable_assume_role: NotRequired[bool] r"""Use Assume Role credentials to access S3""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" assume_role_external_id: NotRequired[str] r"""External ID to use when assuming role""" duration_seconds: NotRequired[float] @@ -12087,10 +12058,6 @@ class OutputResponseOutputDlS3TypedDict(TypedDict): r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: NotRequired[str] - r"""Region where the S3 bucket is located""" - dest_path: NotRequired[str] - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" max_concurrent_file_parts: NotRequired[float] r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" verify_permissions: NotRequired[bool] @@ -12101,12 +12068,8 @@ class OutputResponseOutputDlS3TypedDict(TypedDict): r"""Add the Output ID value to staging location""" remove_empty_dirs: NotRequired[bool] r"""Remove empty staging directories after moving files""" - format_: NotRequired[DataFormatOptions] - r"""Format of the output data""" base_file_name: NotRequired[str] r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: NotRequired[str] - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" max_file_size_mb: NotRequired[float] r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" max_file_open_time_sec: NotRequired[float] @@ -12130,7 +12093,6 @@ class OutputResponseOutputDlS3TypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] aws_secret_key: NotRequired[str] - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" object_acl: NotRequired[ObjectACLOptions] r"""Object ACL to assign to uploaded objects""" storage_class: NotRequired[StorageClassOptions] @@ -12139,21 +12101,8 @@ class OutputResponseOutputDlS3TypedDict(TypedDict): r"""Server-side encryption to use for uploaded objects""" kms_key_id: NotRequired[str] r"""ID or ARN of the KMS customer-managed key to use for encryption""" - partitioning_fields: NotRequired[List[str]] - r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" - description: NotRequired[str] - aws_api_key: NotRequired[str] - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - compress: NotRequired[CompressionOptionsHTTP] - r"""Data compression format to apply to HTTP content before it is delivered""" - compression_level: NotRequired[CompressionLevelOptions] - r"""Compression level to apply before moving files to final destination""" automatic_schema: NotRequired[bool] r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: NotRequired[str] - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" parquet_version: NotRequired[ParquetVersionOptions] r"""Determines which data types are supported and how they are represented""" parquet_data_page_version: NotRequired[DataPageVersionOptions] @@ -12172,10 +12121,18 @@ class OutputResponseOutputDlS3TypedDict(TypedDict): r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" empty_dir_cleanup_sec: NotRequired[float] r"""How frequently, in seconds, to clean up empty directories""" directory_batch_size: NotRequired[float] r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" deadletter_path: NotRequired[str] r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" max_retry_num: NotRequired[float] @@ -12192,14 +12149,8 @@ class OutputResponseOutputDlS3TypedDict(TypedDict): r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" template_region: NotRequired[str] r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: NotRequired[str] - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - template_format: NotRequired[str] - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" template_base_file_name: NotRequired[str] r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: NotRequired[str] - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" template_aws_secret_key: NotRequired[str] @@ -12212,12 +12163,12 @@ class OutputResponseOutputDlS3TypedDict(TypedDict): r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" template_kms_key_id: NotRequired[str] r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_partitioning_fields: NotRequired[str] - r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" + template_account_id: NotRequired[str] + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" + template_custom_source: NotRequired[str] + r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" template_aws_api_key: NotRequired[str] r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_compress: NotRequired[str] - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" template_parquet_schema: NotRequired[str] r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] @@ -12226,15 +12177,27 @@ class OutputResponseOutputDlS3TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputDlS3(BaseModel): - type: OutputResponseTypeDlS3 +class OutputResponseOutputSecurityLake(BaseModel): + type: OutputResponseTypeSecurityLake + + assume_role_arn: Annotated[str, pydantic.Field(alias="assumeRoleArn")] + r"""Amazon Resource Name (ARN) of the role to assume""" bucket: str r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + region: str + r"""Region where the Amazon Security Lake is located.""" + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + account_id: Annotated[str, pydantic.Field(alias="accountId")] + r"""ID of the AWS account whose data the Destination will write to Security Lake. This should have been configured when creating the Amazon Security Lake custom source.""" + + custom_source: Annotated[str, pydantic.Field(alias="customSource")] + r"""Name of the custom source configured in Amazon Security Lake""" + id: Optional[str] = None r"""Unique ID for this output""" @@ -12244,7 +12207,7 @@ class OutputResponseOutputDlS3(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -12253,18 +12216,13 @@ class OutputResponseOutputDlS3(BaseModel): r"""Tags for filtering and grouping in @{product}""" endpoint: Optional[str] = None - r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint.""" enable_assume_role: Annotated[ Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None r"""Use Assume Role credentials to access S3""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: Annotated[ Optional[str], pydantic.Field(alias="assumeRoleExternalId") ] = None @@ -12291,12 +12249,6 @@ class OutputResponseOutputDlS3(BaseModel): ] = None r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - region: Optional[str] = None - r"""Region where the S3 bucket is located""" - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" - max_concurrent_file_parts: Annotated[ Optional[float], pydantic.Field(alias="maxConcurrentFileParts") ] = None @@ -12322,21 +12274,11 @@ class OutputResponseOutputDlS3(BaseModel): ] = None r"""Remove empty staging directories after moving files""" - format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( - None - ) - r"""Format of the output data""" - base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( None ) r"""JavaScript expression to define the output filename prefix (can be constant)""" - file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="fileNameSuffix") - ] = None - r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" - max_file_size_mb: Annotated[ Optional[float], pydantic.Field(alias="maxFileSizeMB") ] = None @@ -12396,7 +12338,6 @@ class OutputResponseOutputDlS3(BaseModel): aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( None ) - r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" object_acl: Annotated[ Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") @@ -12417,37 +12358,11 @@ class OutputResponseOutputDlS3(BaseModel): kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None r"""ID or ARN of the KMS customer-managed key to use for encryption""" - partitioning_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="partitioningFields") - ] = None - r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" - - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None - r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - compress: Optional[CompressionOptionsHTTP] = None - r"""Data compression format to apply to HTTP content before it is delivered""" - - compression_level: Annotated[ - Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") - ] = None - r"""Compression level to apply before moving files to final destination""" - automatic_schema: Annotated[ Optional[bool], pydantic.Field(alias="automaticSchema") ] = None r"""Automatically calculate the schema based on the events of each Parquet file generated""" - parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( - None - ) - r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - parquet_version: Annotated[ Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None @@ -12494,6 +12409,15 @@ class OutputResponseOutputDlS3(BaseModel): ] = None r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + empty_dir_cleanup_sec: Annotated[ Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None @@ -12504,6 +12428,11 @@ class OutputResponseOutputDlS3(BaseModel): ] = None r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + deadletter_path: Annotated[ Optional[str], pydantic.Field(alias="deadletterPath") ] = None @@ -12544,26 +12473,11 @@ class OutputResponseOutputDlS3(BaseModel): ] = None r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_dest_path: Annotated[ - Optional[str], pydantic.Field(alias="__template_destPath") - ] = None - r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - - template_format: Annotated[ - Optional[str], pydantic.Field(alias="__template_format") - ] = None - r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - template_base_file_name: Annotated[ Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - template_file_name_suffix: Annotated[ - Optional[str], pydantic.Field(alias="__template_fileNameSuffix") - ] = None - r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None @@ -12594,21 +12508,21 @@ class OutputResponseOutputDlS3(BaseModel): ] = None r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_partitioning_fields: Annotated[ - Optional[str], pydantic.Field(alias="__template_partitioningFields") + template_account_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_accountId") ] = None - r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" + r"""Binds 'accountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'accountId' at runtime.""" + + template_custom_source: Annotated[ + Optional[str], pydantic.Field(alias="__template_customSource") + ] = None + r"""Binds 'customSource' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customSource' at runtime.""" template_aws_api_key: Annotated[ Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_compress: Annotated[ - Optional[str], pydantic.Field(alias="__template_compress") - ] = None - r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_parquet_schema: Annotated[ Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None @@ -12629,15 +12543,6 @@ def serialize_aws_authentication_method(self, value): return value return value - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.DataFormatOptions(value) - except ValueError: - return value - return value - @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -12683,24 +12588,6 @@ def serialize_server_side_encryption(self, value): return value return value - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsHTTP(value) - except ValueError: - return value - return value - - @field_serializer("compression_level") - def serialize_compression_level(self, value): - if isinstance(value, str): - try: - return models.CompressionLevelOptions(value) - except ValueError: - return value - return value - @field_serializer("parquet_version") def serialize_parquet_version(self, value): if isinstance(value, str): @@ -12730,22 +12617,17 @@ def serialize_model(self, handler): "streamtags", "endpoint", "enableAssumeRole", - "assumeRoleArn", "assumeRoleExternalId", "durationSeconds", "awsAuthenticationMethod", "reuseConnections", "rejectUnauthorized", - "region", - "destPath", "maxConcurrentFileParts", "verifyPermissions", "maxClosingFilesToBackpressure", "addIdToStagePath", "removeEmptyDirs", - "format", "baseFileName", - "fileNameSuffix", "maxFileSizeMB", "maxFileOpenTimeSec", "maxFileIdleTimeSec", @@ -12763,14 +12645,7 @@ def serialize_model(self, handler): "storageClass", "serverSideEncryption", "kmsKeyId", - "partitioningFields", - "description", - "awsApiKey", - "awsSecret", - "compress", - "compressionLevel", "automaticSchema", - "parquetSchema", "parquetVersion", "parquetDataPageVersion", "parquetRowGroupLength", @@ -12780,8 +12655,12 @@ def serialize_model(self, handler): "enableStatistics", "enableWritePageIndex", "enablePageChecksum", + "description", + "awsApiKey", + "awsSecret", "emptyDirCleanupSec", "directoryBatchSize", + "parquetSchema", "deadletterPath", "maxRetryNum", "__template_streamtags", @@ -12790,19 +12669,16 @@ def serialize_model(self, handler): "__template_assumeRoleExternalId", "__template_bucket", "__template_region", - "__template_destPath", - "__template_format", "__template_baseFileName", - "__template_fileNameSuffix", "__template_onBackpressure", "__template_awsSecretKey", "__template_objectACL", "__template_storageClass", "__template_serverSideEncryption", "__template_kmsKeyId", - "__template_partitioningFields", + "__template_accountId", + "__template_customSource", "__template_awsApiKey", - "__template_compress", "__template_parquetSchema", "notifications", "status", @@ -12822,301 +12698,570 @@ def serialize_model(self, handler): return m -class OutputResponseTypeCrowdstrikeNextGenSiem(str, Enum): - CROWDSTRIKE_NEXT_GEN_SIEM = "crowdstrike_next_gen_siem" +class OutputResponseTypeDlS3(str, Enum): + DL_S3 = "dl_s3" + + +class OutputResponseOutputDlS3TypedDict(TypedDict): + type: OutputResponseTypeDlS3 + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + stage_path: str + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + endpoint: NotRequired[str] + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access S3""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + region: NotRequired[str] + r"""Region where the S3 bucket is located""" + dest_path: NotRequired[str] + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + max_concurrent_file_parts: NotRequired[float] + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + verify_permissions: NotRequired[bool] + r"""Disable if you can access files within the bucket but not the bucket itself""" + max_closing_files_to_backpressure: NotRequired[float] + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + add_id_to_stage_path: NotRequired[bool] + r"""Add the Output ID value to staging location""" + remove_empty_dirs: NotRequired[bool] + r"""Remove empty staging directories after moving files""" + format_: NotRequired[DataFormatOptions] + r"""Format of the output data""" + base_file_name: NotRequired[str] + r"""JavaScript expression to define the output filename prefix (can be constant)""" + file_name_suffix: NotRequired[str] + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + max_file_size_mb: NotRequired[float] + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + max_file_open_time_sec: NotRequired[float] + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + max_file_idle_time_sec: NotRequired[float] + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + max_open_files: NotRequired[float] + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + header_line: NotRequired[str] + r"""If set, this line will be written to the beginning of each output file""" + write_high_water_mark: NotRequired[float] + r"""Buffer size used to write to a file""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + deadletter_enabled: NotRequired[bool] + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + on_disk_full_backpressure: NotRequired[DiskSpaceProtectionOptions] + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + force_close_on_shutdown: NotRequired[bool] + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: NotRequired[RetrySettingsTypeTypedDict] + orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] + aws_secret_key: NotRequired[str] + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" + object_acl: NotRequired[ObjectACLOptions] + r"""Object ACL to assign to uploaded objects""" + storage_class: NotRequired[StorageClassOptions] + r"""Storage class to select for uploaded objects""" + server_side_encryption: NotRequired[ServerSideEncryptionForUploadedObjectsOptions] + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: NotRequired[str] + r"""ID or ARN of the KMS customer-managed key to use for encryption""" + partitioning_fields: NotRequired[List[str]] + r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + compress: NotRequired[CompressionOptionsHTTP] + r"""Data compression format to apply to HTTP content before it is delivered""" + compression_level: NotRequired[CompressionLevelOptions] + r"""Compression level to apply before moving files to final destination""" + automatic_schema: NotRequired[bool] + r"""Automatically calculate the schema based on the events of each Parquet file generated""" + parquet_schema: NotRequired[str] + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" + parquet_version: NotRequired[ParquetVersionOptions] + r"""Determines which data types are supported and how they are represented""" + parquet_data_page_version: NotRequired[DataPageVersionOptions] + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" + parquet_row_group_length: NotRequired[float] + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" + parquet_page_size: NotRequired[str] + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" + should_log_invalid_rows: NotRequired[bool] + r"""Log up to 3 rows that @{product} skips due to data mismatch""" + key_value_metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ + enable_statistics: NotRequired[bool] + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" + enable_write_page_index: NotRequired[bool] + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" + enable_page_checksum: NotRequired[bool] + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" + empty_dir_cleanup_sec: NotRequired[float] + r"""How frequently, in seconds, to clean up empty directories""" + directory_batch_size: NotRequired[float] + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" + deadletter_path: NotRequired[str] + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" + max_retry_num: NotRequired[float] + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_bucket: NotRequired[str] + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_dest_path: NotRequired[str] + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" + template_format: NotRequired[str] + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" + template_base_file_name: NotRequired[str] + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" + template_file_name_suffix: NotRequired[str] + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_object_acl: NotRequired[str] + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" + template_storage_class: NotRequired[str] + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" + template_server_side_encryption: NotRequired[str] + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" + template_kms_key_id: NotRequired[str] + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" + template_partitioning_fields: NotRequired[str] + r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + template_compress: NotRequired[str] + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" + template_parquet_schema: NotRequired[str] + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + +class OutputResponseOutputDlS3(BaseModel): + type: OutputResponseTypeDlS3 + + bucket: str + r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`""" + + stage_path: Annotated[str, pydantic.Field(alias="stagePath")] + r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage.""" + + id: Optional[str] = None + r"""Unique ID for this output""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + endpoint: Optional[str] = None + r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint.""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access S3""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") + ] = None + r"""Reuse connections between requests, which can improve performance""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + region: Optional[str] = None + r"""Region where the S3 bucket is located""" + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`""" + + max_concurrent_file_parts: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentFileParts") + ] = None + r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB.""" + + verify_permissions: Annotated[ + Optional[bool], pydantic.Field(alias="verifyPermissions") + ] = None + r"""Disable if you can access files within the bucket but not the bucket itself""" + + max_closing_files_to_backpressure: Annotated[ + Optional[float], pydantic.Field(alias="maxClosingFilesToBackpressure") + ] = None + r"""Maximum number of files that can be waiting for upload before backpressure is applied""" + + add_id_to_stage_path: Annotated[ + Optional[bool], pydantic.Field(alias="addIdToStagePath") + ] = None + r"""Add the Output ID value to staging location""" + + remove_empty_dirs: Annotated[ + Optional[bool], pydantic.Field(alias="removeEmptyDirs") + ] = None + r"""Remove empty staging directories after moving files""" + + format_: Annotated[Optional[DataFormatOptions], pydantic.Field(alias="format")] = ( + None + ) + r"""Format of the output data""" + + base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = ( + None + ) + r"""JavaScript expression to define the output filename prefix (can be constant)""" + + file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="fileNameSuffix") + ] = None + r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`).""" + + max_file_size_mb: Annotated[ + Optional[float], pydantic.Field(alias="maxFileSizeMB") + ] = None + r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location.""" + + max_file_open_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileOpenTimeSec") + ] = None + r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location.""" + + max_file_idle_time_sec: Annotated[ + Optional[float], pydantic.Field(alias="maxFileIdleTimeSec") + ] = None + r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location.""" + + max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = ( + None + ) + r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location.""" + + header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = None + r"""If set, this line will be written to the beginning of each output file""" + + write_high_water_mark: Annotated[ + Optional[float], pydantic.Field(alias="writeHighWaterMark") + ] = None + r"""Buffer size used to write to a file""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + deadletter_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="deadletterEnabled") + ] = None + r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors""" + + on_disk_full_backpressure: Annotated[ + Optional[DiskSpaceProtectionOptions], + pydantic.Field(alias="onDiskFullBackpressure"), + ] = None + r"""How to handle events when disk space is below the global 'Min free disk space' limit""" + + force_close_on_shutdown: Annotated[ + Optional[bool], pydantic.Field(alias="forceCloseOnShutdown") + ] = None + r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss.""" + retry_settings: Annotated[ + Optional[RetrySettingsType], pydantic.Field(alias="retrySettings") + ] = None -class OutputResponsePqControlsCrowdstrikeNextGenSiemTypedDict(TypedDict): - pass + orphans: Optional[OrphanFileRecoveryType] = None + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) + r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)""" -class OutputResponsePqControlsCrowdstrikeNextGenSiem(BaseModel): - pass + object_acl: Annotated[ + Optional[ObjectACLOptions], pydantic.Field(alias="objectACL") + ] = None + r"""Object ACL to assign to uploaded objects""" + storage_class: Annotated[ + Optional[StorageClassOptions], pydantic.Field(alias="storageClass") + ] = None + r"""Storage class to select for uploaded objects""" -class OutputResponseOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): - type: OutputResponseTypeCrowdstrikeNextGenSiem - url: str - r"""URL provided from a CrowdStrike data connector. - Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector - """ - format_: RequestFormatOptions - r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" - auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] - token: NotRequired[str] - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - pq_strict_ordering: NotRequired[bool] - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" - pq_rate_per_sec: NotRequired[float] - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" - pq_mode: NotRequired[ModeOptions] - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" - pq_max_buffer_size: NotRequired[float] - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" - pq_max_backpressure_sec: NotRequired[float] - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" - pq_max_file_size: NotRequired[str] - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" - pq_max_size: NotRequired[str] - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" - pq_path: NotRequired[str] - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" - pq_compress: NotRequired[CompressionOptionsPq] - r"""Codec to use to compress the persisted data""" - pq_on_backpressure: NotRequired[QueueFullBehaviorOptions] - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" - pq_max_buffer_size_bytes: NotRequired[str] - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsCrowdstrikeNextGenSiemTypedDict] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + server_side_encryption: Annotated[ + Optional[ServerSideEncryptionForUploadedObjectsOptions], + pydantic.Field(alias="serverSideEncryption"), + ] = None + r"""Server-side encryption to use for uploaded objects""" + kms_key_id: Annotated[Optional[str], pydantic.Field(alias="kmsKeyId")] = None + r"""ID or ARN of the KMS customer-managed key to use for encryption""" -class OutputResponseOutputCrowdstrikeNextGenSiem(BaseModel): - type: OutputResponseTypeCrowdstrikeNextGenSiem + partitioning_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="partitioningFields") + ] = None + r"""List of fields to partition the path by, in addition to time, which is included automatically. The effective partition will be YYYY/MM/DD/HH/.""" - url: str - r"""URL provided from a CrowdStrike data connector. - Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector - """ + description: Optional[str] = None + r"""Optional description for this configuration.""" - format_: Annotated[RequestFormatOptions, pydantic.Field(alias="format")] - r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" - id: Optional[str] = None - r"""Unique ID for this output""" + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + compress: Optional[CompressionOptionsHTTP] = None + r"""Data compression format to apply to HTTP content before it is delivered""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + compression_level: Annotated[ + Optional[CompressionLevelOptions], pydantic.Field(alias="compressionLevel") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + r"""Compression level to apply before moving files to final destination""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + automatic_schema: Annotated[ + Optional[bool], pydantic.Field(alias="automaticSchema") + ] = None + r"""Automatically calculate the schema based on the events of each Parquet file generated""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = ( + None + ) + r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + parquet_version: Annotated[ + Optional[ParquetVersionOptions], pydantic.Field(alias="parquetVersion") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Determines which data types are supported and how they are represented""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + parquet_data_page_version: Annotated[ + Optional[DataPageVersionOptions], pydantic.Field(alias="parquetDataPageVersion") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + parquet_row_group_length: Annotated[ + Optional[float], pydantic.Field(alias="parquetRowGroupLength") + ] = None + r"""The number of rows that every group will contain. The final group can contain a smaller number of rows.""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") + parquet_page_size: Annotated[ + Optional[str], pydantic.Field(alias="parquetPageSize") ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression.""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + should_log_invalid_rows: Annotated[ + Optional[bool], pydantic.Field(alias="shouldLogInvalidRows") + ] = None + r"""Log up to 3 rows that @{product} skips due to data mismatch""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + key_value_metadata: Annotated[ + Optional[List[KeyValueMetadataConfOutputFilesystem]], + pydantic.Field(alias="keyValueMetadata"), ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """ - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + enable_statistics: Annotated[ + Optional[bool], pydantic.Field(alias="enableStatistics") ] = None - r"""Headers to add to all events""" + r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics.""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + enable_write_page_index: Annotated[ + Optional[bool], pydantic.Field(alias="enableWritePageIndex") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping.""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + enable_page_checksum: Annotated[ + Optional[bool], pydantic.Field(alias="enablePageChecksum") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + empty_dir_cleanup_sec: Annotated[ + Optional[float], pydantic.Field(alias="emptyDirCleanupSec") ] = None - r"""List of headers that are safe to log in plain text""" + r"""How frequently, in seconds, to clean up empty directories""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAuthTokensItems], - pydantic.Field(alias="authType"), + directory_batch_size: Annotated[ + Optional[float], pydantic.Field(alias="directoryBatchSize") ] = None - r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" + r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory.""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + deadletter_path: Annotated[ + Optional[str], pydantic.Field(alias="deadletterPath") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = ( + None + ) + r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None - - token: Optional[str] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - pq_strict_ordering: Annotated[ - Optional[bool], pydantic.Field(alias="pqStrictOrdering") + template_bucket: Annotated[ + Optional[str], pydantic.Field(alias="__template_bucket") ] = None - r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" + r"""Binds 'bucket' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'bucket' at runtime.""" - pq_rate_per_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqRatePerSec") + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") ] = None - r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling.""" + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - pq_mode: Annotated[Optional[ModeOptions], pydantic.Field(alias="pqMode")] = None - r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem.""" + template_dest_path: Annotated[ + Optional[str], pydantic.Field(alias="__template_destPath") + ] = None + r"""Binds 'destPath' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'destPath' at runtime.""" - pq_max_buffer_size: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBufferSize") + template_format: Annotated[ + Optional[str], pydantic.Field(alias="__template_format") ] = None - r"""Maximum number of events to hold in memory before writing the events to disk. Deprecated and only supported in workers < v4.17.0. Use pqMaxBufferSizeBytes instead.""" + r"""Binds 'format' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'format' at runtime.""" - pq_max_backpressure_sec: Annotated[ - Optional[float], pydantic.Field(alias="pqMaxBackpressureSec") + template_base_file_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_baseFileName") ] = None - r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue""" + r"""Binds 'baseFileName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'baseFileName' at runtime.""" - pq_max_file_size: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxFileSize") + template_file_name_suffix: Annotated[ + Optional[str], pydantic.Field(alias="__template_fileNameSuffix") ] = None - r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)""" + r"""Binds 'fileNameSuffix' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'fileNameSuffix' at runtime.""" - pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = None - r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc.""" + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = None - r"""The location for the persistent queue files. To this field's value, the system will append: //.""" + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - pq_compress: Annotated[ - Optional[CompressionOptionsPq], pydantic.Field(alias="pqCompress") + template_object_acl: Annotated[ + Optional[str], pydantic.Field(alias="__template_objectACL") ] = None - r"""Codec to use to compress the persisted data""" + r"""Binds 'objectACL' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'objectACL' at runtime.""" - pq_on_backpressure: Annotated[ - Optional[QueueFullBehaviorOptions], pydantic.Field(alias="pqOnBackpressure") + template_storage_class: Annotated[ + Optional[str], pydantic.Field(alias="__template_storageClass") ] = None - r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" + r"""Binds 'storageClass' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'storageClass' at runtime.""" - pq_max_buffer_size_bytes: Annotated[ - Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") + template_server_side_encryption: Annotated[ + Optional[str], pydantic.Field(alias="__template_serverSideEncryption") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""Binds 'serverSideEncryption' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'serverSideEncryption' at runtime.""" - pq_controls: Annotated[ - Optional[OutputResponsePqControlsCrowdstrikeNextGenSiem], - pydantic.Field(alias="pqControls"), + template_kms_key_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_kmsKeyId") ] = None + r"""Binds 'kmsKeyId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'kmsKeyId' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_partitioning_fields: Annotated[ + Optional[str], pydantic.Field(alias="__template_partitioningFields") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'partitioningFields' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'partitioningFields' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") + template_compress: Annotated[ + Optional[str], pydantic.Field(alias="__template_compress") ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" + r"""Binds 'compress' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'compress' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_parquet_schema: Annotated[ + Optional[str], pydantic.Field(alias="__template_parquetSchema") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'parquetSchema' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'parquetSchema' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -13124,11 +13269,11 @@ class OutputResponseOutputCrowdstrikeNextGenSiem(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -13137,52 +13282,88 @@ def serialize_failed_request_logging_mode(self, value): def serialize_format_(self, value): if isinstance(value, str): try: - return models.RequestFormatOptions(value) + return models.DataFormatOptions(value) except ValueError: return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): if isinstance(value, str): try: - return models.AuthenticationMethodOptionsAuthTokensItems(value) + return models.BackpressureBehaviorOptionsBlockDrop(value) except ValueError: return value return value - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): + @field_serializer("on_disk_full_backpressure") + def serialize_on_disk_full_backpressure(self, value): if isinstance(value, str): try: - return models.BackpressureBehaviorOptions(value) + return models.DiskSpaceProtectionOptions(value) except ValueError: return value return value - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): + @field_serializer("object_acl") + def serialize_object_acl(self, value): if isinstance(value, str): try: - return models.ModeOptions(value) + return models.ObjectACLOptions(value) except ValueError: return value return value - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): + @field_serializer("storage_class") + def serialize_storage_class(self, value): if isinstance(value, str): try: - return models.CompressionOptionsPq(value) + return models.StorageClassOptions(value) except ValueError: return value return value - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): + @field_serializer("server_side_encryption") + def serialize_server_side_encryption(self, value): if isinstance(value, str): try: - return models.QueueFullBehaviorOptions(value) + return models.ServerSideEncryptionForUploadedObjectsOptions(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsHTTP(value) + except ValueError: + return value + return value + + @field_serializer("compression_level") + def serialize_compression_level(self, value): + if isinstance(value, str): + try: + return models.CompressionLevelOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_version") + def serialize_parquet_version(self, value): + if isinstance(value, str): + try: + return models.ParquetVersionOptions(value) + except ValueError: + return value + return value + + @field_serializer("parquet_data_page_version") + def serialize_parquet_data_page_version(self, value): + if isinstance(value, str): + try: + return models.DataPageVersionOptions(value) except ValueError: return value return value @@ -13196,41 +13377,82 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", + "endpoint", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "awsAuthenticationMethod", + "reuseConnections", "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", - "authType", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", + "region", + "destPath", + "maxConcurrentFileParts", + "verifyPermissions", + "maxClosingFilesToBackpressure", + "addIdToStagePath", + "removeEmptyDirs", + "format", + "baseFileName", + "fileNameSuffix", + "maxFileSizeMB", + "maxFileOpenTimeSec", + "maxFileIdleTimeSec", + "maxOpenFiles", + "headerLine", + "writeHighWaterMark", "onBackpressure", - "description", - "token", - "textSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "deadletterEnabled", + "onDiskFullBackpressure", + "forceCloseOnShutdown", + "retrySettings", + "orphans", + "awsSecretKey", + "objectACL", + "storageClass", + "serverSideEncryption", + "kmsKeyId", + "partitioningFields", + "description", + "awsApiKey", + "awsSecret", + "compress", + "compressionLevel", + "automaticSchema", + "parquetSchema", + "parquetVersion", + "parquetDataPageVersion", + "parquetRowGroupLength", + "parquetPageSize", + "shouldLogInvalidRows", + "keyValueMetadata", + "enableStatistics", + "enableWritePageIndex", + "enablePageChecksum", + "emptyDirCleanupSec", + "directoryBatchSize", + "deadletterPath", + "maxRetryNum", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__template_bucket", + "__template_region", + "__template_destPath", + "__template_format", + "__template_baseFileName", + "__template_fileNameSuffix", "__template_onBackpressure", + "__template_awsSecretKey", + "__template_objectACL", + "__template_storageClass", + "__template_serverSideEncryption", + "__template_kmsKeyId", + "__template_partitioningFields", + "__template_awsApiKey", + "__template_compress", + "__template_parquetSchema", "notifications", "status", ] @@ -13249,22 +13471,24 @@ def serialize_model(self, handler): return m -class OutputResponseTypeHumioHec(str, Enum): - HUMIO_HEC = "humio_hec" +class OutputResponseTypeCrowdstrikeNextGenSiem(str, Enum): + CROWDSTRIKE_NEXT_GEN_SIEM = "crowdstrike_next_gen_siem" -class OutputResponsePqControlsHumioHecTypedDict(TypedDict): +class OutputResponsePqControlsCrowdstrikeNextGenSiemTypedDict(TypedDict): pass -class OutputResponsePqControlsHumioHec(BaseModel): +class OutputResponsePqControlsCrowdstrikeNextGenSiem(BaseModel): pass -class OutputResponseOutputHumioHecTypedDict(TypedDict): - type: OutputResponseTypeHumioHec +class OutputResponseOutputCrowdstrikeNextGenSiemTypedDict(TypedDict): + type: OutputResponseTypeCrowdstrikeNextGenSiem url: str - r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + r"""URL provided from a CrowdStrike data connector. + Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector + """ format_: RequestFormatOptions r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" id: NotRequired[str] @@ -13314,8 +13538,8 @@ class OutputResponseOutputHumioHecTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] - r"""CrowdStrike Falcon LogScale authentication token""" text_secret: NotRequired[str] r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] @@ -13340,7 +13564,7 @@ class OutputResponseOutputHumioHecTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsHumioHecTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsCrowdstrikeNextGenSiemTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_url: NotRequired[str] @@ -13355,11 +13579,13 @@ class OutputResponseOutputHumioHecTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputHumioHec(BaseModel): - type: OutputResponseTypeHumioHec +class OutputResponseOutputCrowdstrikeNextGenSiem(BaseModel): + type: OutputResponseTypeCrowdstrikeNextGenSiem url: str - r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + r"""URL provided from a CrowdStrike data connector. + Example: https://ingest..crowdstrike.com/api/ingest/hec//v1/services/collector + """ format_: Annotated[RequestFormatOptions, pydantic.Field(alias="format")] r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" @@ -13462,9 +13688,9 @@ class OutputResponseOutputHumioHec(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None - r"""CrowdStrike Falcon LogScale authentication token""" text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None r"""Select or create a stored text secret""" @@ -13519,7 +13745,8 @@ class OutputResponseOutputHumioHec(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsHumioHec], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsCrowdstrikeNextGenSiem], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -13673,20 +13900,24 @@ def serialize_model(self, handler): return m -class OutputResponseTypeCriblSearchEngine(str, Enum): - CRIBL_SEARCH_ENGINE = "cribl_search_engine" +class OutputResponseTypeHumioHec(str, Enum): + HUMIO_HEC = "humio_hec" -class OutputResponsePqControlsCriblSearchEngineTypedDict(TypedDict): +class OutputResponsePqControlsHumioHecTypedDict(TypedDict): pass -class OutputResponsePqControlsCriblSearchEngine(BaseModel): +class OutputResponsePqControlsHumioHec(BaseModel): pass -class OutputResponseOutputCriblSearchEngineTypedDict(TypedDict): - type: OutputResponseTypeCriblSearchEngine +class OutputResponseOutputHumioHecTypedDict(TypedDict): + type: OutputResponseTypeHumioHec + url: str + r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + format_: RequestFormatOptions + r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -13697,21 +13928,14 @@ class OutputResponseOutputCriblSearchEngineTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - load_balanced: NotRequired[bool] - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] - token_ttl_minutes: NotRequired[float] - r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" - exclude_fields: NotRequired[List[str]] - r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" - compression: NotRequired[CompressionOptionsGzipNone] - r"""Codec to use to compress the data before sending""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] r"""Maximum size, in KB, of the request body""" max_payload_events: NotRequired[float] r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -13723,12 +13947,14 @@ class OutputResponseOutputCriblSearchEngineTypedDict(TypedDict): r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: NotRequired[ List[ResponseRetrySettingConfOutputWebhookTypedDict] ] @@ -13736,22 +13962,14 @@ class OutputResponseOutputCriblSearchEngineTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - auth_tokens: NotRequired[List[AuthTokenConfOutputCriblHTTPTypedDict]] - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" description: NotRequired[str] - url: NotRequired[str] - r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - exclude_self: NotRequired[bool] - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - urls: NotRequired[List[URLConfOutputCriblHTTPTypedDict]] - dns_resolve_period_sec: NotRequired[float] - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - load_balance_stats_period_sec: NotRequired[float] - r"""How far back in time to keep traffic stats for load balancing purposes""" + r"""Optional description for this configuration.""" + token: NotRequired[str] + r"""CrowdStrike Falcon LogScale authentication token""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -13774,23 +13992,29 @@ class OutputResponseOutputCriblSearchEngineTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsCriblSearchEngineTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsHumioHecTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputCriblSearchEngine(BaseModel): - type: OutputResponseTypeCriblSearchEngine +class OutputResponseOutputHumioHec(BaseModel): + type: OutputResponseTypeHumioHec + + url: str + r"""URL to a CrowdStrike Falcon LogScale endpoint to send events to. Examples: https://cloud.us.humio.com/api/v1/ingest/hec for JSON and https://cloud.us.humio.com/api/v1/ingest/hec/raw for raw""" + + format_: Annotated[RequestFormatOptions, pydantic.Field(alias="format")] + r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -13809,26 +14033,6 @@ class OutputResponseOutputCriblSearchEngine(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( - None - ) - r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" - - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - - token_ttl_minutes: Annotated[ - Optional[float], pydantic.Field(alias="tokenTTLMinutes") - ] = None - r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" - - exclude_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeFields") - ] = None - r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" - - compression: Optional[CompressionOptionsGzipNone] = None - r"""Codec to use to compress the data before sending""" - concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -13842,6 +14046,9 @@ class OutputResponseOutputCriblSearchEngine(BaseModel): ] = None r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: Optional[bool] = None + r"""Compress the payload body before sending""" + reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None @@ -13864,6 +14071,11 @@ class OutputResponseOutputCriblSearchEngine(BaseModel): ] = None r"""Headers to add to all events""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: Annotated[ Optional[FailedRequestLoggingModeOptions], pydantic.Field(alias="failedRequestLoggingMode"), @@ -13875,10 +14087,11 @@ class OutputResponseOutputCriblSearchEngine(BaseModel): ] = None r"""List of headers that are safe to log in plain text""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAuthTokensItems], + pydantic.Field(alias="authType"), ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" response_retry_settings: Annotated[ Optional[List[ResponseRetrySettingConfOutputWebhook]], @@ -13895,40 +14108,19 @@ class OutputResponseOutputCriblSearchEngine(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - auth_tokens: Annotated[ - Optional[List[AuthTokenConfOutputCriblHTTP]], pydantic.Field(alias="authTokens") - ] = None - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" - url: Optional[str] = None - r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - - exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None - r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - - urls: Optional[List[URLConfOutputCriblHTTP]] = None - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + token: Optional[str] = None + r"""CrowdStrike Falcon LogScale authentication token""" - load_balance_stats_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") - ] = None - r"""How far back in time to keep traffic stats for load balancing purposes""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -13980,8 +14172,7 @@ class OutputResponseOutputCriblSearchEngine(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsCriblSearchEngine], - pydantic.Field(alias="pqControls"), + Optional[OutputResponsePqControlsHumioHec], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -13989,6 +14180,11 @@ class OutputResponseOutputCriblSearchEngine(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -13999,31 +14195,35 @@ class OutputResponseOutputCriblSearchEngine(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("compression") - def serialize_compression(self, value): + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): try: - return models.CompressionOptionsGzipNone(value) + return models.FailedRequestLoggingModeOptions(value) except ValueError: return value return value - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("format_") + def serialize_format_(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.RequestFormatOptions(value) + except ValueError: + return value + return value + + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAuthTokensItems(value) except ValueError: return value return value @@ -14073,33 +14273,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "loadBalanced", - "tls", - "tokenTTLMinutes", - "excludeFields", - "compression", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", + "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", "safeHeaders", - "throttleRatePerSec", + "authType", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "authTokens", "onBackpressure", - "useRoundRobinDns", "description", - "url", - "excludeSelf", - "urls", - "dnsResolvePeriodSec", - "loadBalanceStatsPeriodSec", + "token", + "textSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14113,9 +14305,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_url", "notifications", "status", ] @@ -14134,20 +14326,20 @@ def serialize_model(self, handler): return m -class OutputResponseTypeCriblHTTP(str, Enum): - CRIBL_HTTP = "cribl_http" +class OutputResponseTypeCriblSearchEngine(str, Enum): + CRIBL_SEARCH_ENGINE = "cribl_search_engine" -class OutputResponsePqControlsCriblHTTPTypedDict(TypedDict): +class OutputResponsePqControlsCriblSearchEngineTypedDict(TypedDict): pass -class OutputResponsePqControlsCriblHTTP(BaseModel): +class OutputResponsePqControlsCriblSearchEngine(BaseModel): pass -class OutputResponseOutputCriblHTTPTypedDict(TypedDict): - type: OutputResponseTypeCriblHTTP +class OutputResponseOutputCriblSearchEngineTypedDict(TypedDict): + type: OutputResponseTypeCriblSearchEngine id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -14198,14 +14390,15 @@ class OutputResponseOutputCriblHTTPTypedDict(TypedDict): response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" auth_tokens: NotRequired[List[AuthTokenConfOutputCriblHTTPTypedDict]] - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" description: NotRequired[str] + r"""Optional description for this configuration.""" url: NotRequired[str] r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" urls: NotRequired[List[URLConfOutputCriblHTTPTypedDict]] @@ -14235,7 +14428,7 @@ class OutputResponseOutputCriblHTTPTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsCriblHTTPTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsCriblSearchEngineTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] @@ -14250,8 +14443,8 @@ class OutputResponseOutputCriblHTTPTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputCriblHTTP(BaseModel): - type: OutputResponseTypeCriblHTTP +class OutputResponseOutputCriblSearchEngine(BaseModel): + type: OutputResponseTypeCriblSearchEngine id: Optional[str] = None r"""Unique ID for this output""" @@ -14359,23 +14552,24 @@ class OutputResponseOutputCriblHTTP(BaseModel): auth_tokens: Annotated[ Optional[List[AuthTokenConfOutputCriblHTTP]], pydantic.Field(alias="authTokens") ] = None - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl Search Source in Cribl.Cloud.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - url: Optional[str] = None - r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - use_round_robin_dns: Annotated[ Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + url: Optional[str] = None + r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" @@ -14441,7 +14635,8 @@ class OutputResponseOutputCriblHTTP(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsCriblHTTP], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsCriblSearchEngine], + pydantic.Field(alias="pqControls"), ] = None template_streamtags: Annotated[ @@ -14553,9 +14748,9 @@ def serialize_model(self, handler): "responseHonorRetryAfterHeader", "authTokens", "onBackpressure", + "useRoundRobinDns", "description", "url", - "useRoundRobinDns", "excludeSelf", "urls", "dnsResolvePeriodSec", @@ -14594,20 +14789,20 @@ def serialize_model(self, handler): return m -class OutputResponseTypeCriblTCP(str, Enum): - CRIBL_TCP = "cribl_tcp" +class OutputResponseTypeCriblHTTP(str, Enum): + CRIBL_HTTP = "cribl_http" -class OutputResponsePqControlsCriblTCPTypedDict(TypedDict): +class OutputResponsePqControlsCriblHTTPTypedDict(TypedDict): pass -class OutputResponsePqControlsCriblTCP(BaseModel): +class OutputResponsePqControlsCriblHTTP(BaseModel): pass -class OutputResponseOutputCriblTCPTypedDict(TypedDict): - type: OutputResponseTypeCriblTCP +class OutputResponseOutputCriblHTTPTypedDict(TypedDict): + type: OutputResponseTypeCriblHTTP id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -14619,41 +14814,61 @@ class OutputResponseOutputCriblTCPTypedDict(TypedDict): streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" load_balanced: NotRequired[bool] - r"""Use load-balanced destinations""" - compression: NotRequired[CompressionOptionsGzipNone] - r"""Codec to use to compress the data before sending""" - log_failed_requests: NotRequired[bool] - r"""Use to troubleshoot issues with sending data""" - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" token_ttl_minutes: NotRequired[float] - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - auth_tokens: NotRequired[List[AuthTokenConfInputCriblTCPTypedDict]] - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" + r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" exclude_fields: NotRequired[List[str]] r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" + compression: NotRequired[CompressionOptionsGzipNone] + r"""Codec to use to compress the data before sending""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + auth_tokens: NotRequired[List[AuthTokenConfOutputCriblHTTPTypedDict]] + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - host: NotRequired[str] - r"""The hostname of the receiver""" - port: NotRequired[float] - r"""The port to connect to on the provided host""" + r"""Optional description for this configuration.""" + url: NotRequired[str] + r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: NotRequired[bool] r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] - r"""Set of hosts to load-balance data to""" + urls: NotRequired[List[URLConfOutputCriblHTTPTypedDict]] dns_resolve_period_sec: NotRequired[float] r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" load_balance_stats_period_sec: NotRequired[float] r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: NotRequired[float] - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -14676,23 +14891,23 @@ class OutputResponseOutputCriblTCPTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsCriblTCPTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsCriblHTTPTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputCriblTCP(BaseModel): - type: OutputResponseTypeCriblTCP +class OutputResponseOutputCriblHTTP(BaseModel): + type: OutputResponseTypeCriblHTTP id: Optional[str] = None r"""Unique ID for this output""" @@ -14714,47 +14929,93 @@ class OutputResponseOutputCriblTCP(BaseModel): load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None ) - r"""Use load-balanced destinations""" + r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" + + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + token_ttl_minutes: Annotated[ + Optional[float], pydantic.Field(alias="tokenTTLMinutes") + ] = None + r"""The number of minutes before the internally generated authentication token expires. Valid values are between 1 and 60.""" + + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") + ] = None + r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" compression: Optional[CompressionOptionsGzipNone] = None r"""Codec to use to compress the data before sending""" - log_failed_requests: Annotated[ - Optional[bool], pydantic.Field(alias="logFailedRequests") + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Use to troubleshoot issues with sending data""" + r"""Maximum size, in KB, of the request body""" + + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") + ] = None + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") + ] = None + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( - None - ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - token_ttl_minutes: Annotated[ - Optional[float], pydantic.Field(alias="tokenTTLMinutes") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - auth_tokens: Annotated[ - Optional[List[AuthTokenConfInputCriblTCP]], pydantic.Field(alias="authTokens") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - exclude_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeFields") + auth_tokens: Annotated[ + Optional[List[AuthTokenConfOutputCriblHTTP]], pydantic.Field(alias="authTokens") ] = None - r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl HTTP Source in Cribl.Cloud.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -14762,18 +15023,20 @@ class OutputResponseOutputCriblTCP(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" - host: Optional[str] = None - r"""The hostname of the receiver""" + url: Optional[str] = None + r"""URL of a Cribl Worker to send events to, such as http://localhost:10200""" - port: Optional[float] = None - r"""The port to connect to on the provided host""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None r"""Exclude all IPs of the current host from the list of any resolved hostnames""" - hosts: Optional[List[HostConfOutputSyslog]] = None - r"""Set of hosts to load-balance data to""" + urls: Optional[List[URLConfOutputCriblHTTP]] = None dns_resolve_period_sec: Annotated[ Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") @@ -14785,11 +15048,6 @@ class OutputResponseOutputCriblTCP(BaseModel): ] = None r"""How far back in time to keep traffic stats for load balancing purposes""" - max_concurrent_senders: Annotated[ - Optional[float], pydantic.Field(alias="maxConcurrentSenders") - ] = None - r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" - pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -14840,7 +15098,7 @@ class OutputResponseOutputCriblTCP(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsCriblTCP], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsCriblHTTP], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -14848,20 +15106,20 @@ class OutputResponseOutputCriblTCP(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( None ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -14878,6 +15136,15 @@ def serialize_compression(self, value): return value return value + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value + @field_serializer("on_backpressure") def serialize_on_backpressure(self, value): if isinstance(value, str): @@ -14924,24 +15191,32 @@ def serialize_model(self, handler): "environment", "streamtags", "loadBalanced", - "compression", - "logFailedRequests", - "throttleRatePerSec", "tls", - "connectionTimeout", - "writeTimeout", "tokenTTLMinutes", - "authTokens", "excludeFields", + "compression", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "failedRequestLoggingMode", + "safeHeaders", + "throttleRatePerSec", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "authTokens", "onBackpressure", "description", - "host", - "port", + "url", + "useRoundRobinDns", "excludeSelf", - "hosts", + "urls", "dnsResolvePeriodSec", "loadBalanceStatsPeriodSec", - "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -14955,9 +15230,9 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_host", - "__template_port", + "__template_url", "notifications", "status", ] @@ -14976,50 +15251,20 @@ def serialize_model(self, handler): return m -class OutputResponseTypeDataset(str, Enum): - DATASET = "dataset" - - -class OutputResponseSeverityDataset(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - - # 0 - finest - FINEST = "finest" - # 1 - finer - FINER = "finer" - # 2 - fine - FINE = "fine" - # 3 - info - INFO = "info" - # 4 - warning - WARNING = "warning" - # 5 - error - ERROR = "error" - # 6 - fatal - FATAL = "fatal" - - -class OutputResponseDataSetSite(str, Enum, metaclass=utils.OpenEnumMeta): - r"""DataSet site to which events should be sent""" - - # US - US = "us" - # Europe - EU = "eu" - # Custom - CUSTOM = "custom" +class OutputResponseTypeCriblTCP(str, Enum): + CRIBL_TCP = "cribl_tcp" -class OutputResponsePqControlsDatasetTypedDict(TypedDict): +class OutputResponsePqControlsCriblTCPTypedDict(TypedDict): pass -class OutputResponsePqControlsDataset(BaseModel): +class OutputResponsePqControlsCriblTCP(BaseModel): pass -class OutputResponseOutputDatasetTypedDict(TypedDict): - type: OutputResponseTypeDataset +class OutputResponseOutputCriblTCPTypedDict(TypedDict): + type: OutputResponseTypeCriblTCP id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -15030,58 +15275,43 @@ class OutputResponseOutputDatasetTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - message_field: NotRequired[str] - r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" + load_balanced: NotRequired[bool] + r"""Use load-balanced destinations""" + compression: NotRequired[CompressionOptionsGzipNone] + r"""Codec to use to compress the data before sending""" + log_failed_requests: NotRequired[bool] + r"""Use to troubleshoot issues with sending data""" + throttle_rate_per_sec: NotRequired[str] + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + tls: NotRequired[TLSSettingsClientSideTypeCaPathCertPathTypedDict] + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + write_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + token_ttl_minutes: NotRequired[float] + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" + auth_tokens: NotRequired[List[AuthTokenConfInputCriblTCPTypedDict]] + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" exclude_fields: NotRequired[List[str]] - r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" - server_host_field: NotRequired[str] - r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" - timestamp_field: NotRequired[str] - r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" - default_severity: NotRequired[OutputResponseSeverityDataset] - r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - site: NotRequired[OutputResponseDataSetSite] - r"""DataSet site to which events should be sent""" - concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - reject_unauthorized: NotRequired[bool] - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: NotRequired[List[str]] - r"""List of headers that are safe to log in plain text""" + r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - custom_url: NotRequired[str] + r"""Optional description for this configuration.""" + host: NotRequired[str] + r"""The hostname of the receiver""" + port: NotRequired[float] + r"""The port to connect to on the provided host""" + exclude_self: NotRequired[bool] + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + hosts: NotRequired[List[HostConfOutputSyslogTypedDict]] + r"""Set of hosts to load-balance data to""" + dns_resolve_period_sec: NotRequired[float] + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" + load_balance_stats_period_sec: NotRequired[float] + r"""How far back in time to keep traffic stats for load balancing purposes""" + max_concurrent_senders: NotRequired[float] + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -15104,27 +15334,23 @@ class OutputResponseOutputDatasetTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsDatasetTypedDict] - api_key: NotRequired[str] - r"""A 'Log Write Access' API key for the DataSet account""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[OutputResponsePqControlsCriblTCPTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: NotRequired[str] - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: NotRequired[str] - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputDataset(BaseModel): - type: OutputResponseTypeDataset +class OutputResponseOutputCriblTCP(BaseModel): + type: OutputResponseTypeCriblTCP id: Optional[str] = None r"""Unique ID for this output""" @@ -15143,119 +15369,85 @@ class OutputResponseOutputDataset(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None - r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" - - exclude_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="excludeFields") - ] = None - r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" - - server_host_field: Annotated[ - Optional[str], pydantic.Field(alias="serverHostField") - ] = None - r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" - - timestamp_field: Annotated[ - Optional[str], pydantic.Field(alias="timestampField") - ] = None - r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" - - default_severity: Annotated[ - Optional[OutputResponseSeverityDataset], pydantic.Field(alias="defaultSeverity") - ] = None - r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), - ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") - ] = None - - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") - ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - - site: Optional[OutputResponseDataSetSite] = None - r"""DataSet site to which events should be sent""" - - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" - - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") - ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( + None + ) + r"""Use load-balanced destinations""" - reject_unauthorized: Annotated[ - Optional[bool], pydantic.Field(alias="rejectUnauthorized") - ] = None - r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). - Enabled by default. When this setting is also present in TLS Settings (Client Side), - that value will take precedence. - """ + compression: Optional[CompressionOptionsGzipNone] = None + r"""Codec to use to compress the data before sending""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + log_failed_requests: Annotated[ + Optional[bool], pydantic.Field(alias="logFailedRequests") + ] = None + r"""Use to troubleshoot issues with sending data""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + throttle_rate_per_sec: Annotated[ + Optional[str], pydantic.Field(alias="throttleRatePerSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - extra_http_headers: Annotated[ - Optional[List[ExtraHTTPHeaderConfInputElastic]], - pydantic.Field(alias="extraHttpHeaders"), + tls: Optional[TLSSettingsClientSideTypeCaPathCertPath] = None + + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Headers to add to all events""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + None + ) + r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + + token_ttl_minutes: Annotated[ + Optional[float], pydantic.Field(alias="tokenTTLMinutes") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""The number of minutes before the internally generated authentication token expires, valid values between 1 and 60""" - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), + auth_tokens: Annotated[ + Optional[List[AuthTokenConfInputCriblTCP]], pydantic.Field(alias="authTokens") ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + r"""Shared secrets to be used by connected environments to authorize connections. These tokens should also be installed in Cribl TCP Source in Cribl.Cloud.""" - safe_headers: Annotated[ - Optional[List[str]], pydantic.Field(alias="safeHeaders") + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") ] = None - r"""List of headers that are safe to log in plain text""" + r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") - ] = None - r"""Enter API key directly, or select a stored secret""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + host: Optional[str] = None + r"""The hostname of the receiver""" + + port: Optional[float] = None + r"""The port to connect to on the provided host""" + + exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = None + r"""Exclude all IPs of the current host from the list of any resolved hostnames""" + + hosts: Optional[List[HostConfOutputSyslog]] = None + r"""Set of hosts to load-balance data to""" + + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""The interval in which to re-resolve any hostnames and pick up destinations from A records""" - description: Optional[str] = None + load_balance_stats_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec") + ] = None + r"""How far back in time to keep traffic stats for load balancing purposes""" - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None + max_concurrent_senders: Annotated[ + Optional[float], pydantic.Field(alias="maxConcurrentSenders") + ] = None + r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -15307,34 +15499,28 @@ class OutputResponseOutputDataset(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsDataset], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsCriblTCP], pydantic.Field(alias="pqControls") ] = None - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""A 'Log Write Access' API key for the DataSet account""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_failed_request_logging_mode: Annotated[ - Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") - ] = None - r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_custom_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_customUrl") - ] = None - r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -15342,29 +15528,11 @@ class OutputResponseOutputDataset(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("default_severity") - def serialize_default_severity(self, value): - if isinstance(value, str): - try: - return models.OutputResponseSeverityDataset(value) - except ValueError: - return value - return value - - @field_serializer("site") - def serialize_site(self, value): - if isinstance(value, str): - try: - return models.OutputResponseDataSetSite(value) - except ValueError: - return value - return value - - @field_serializer("failed_request_logging_mode") - def serialize_failed_request_logging_mode(self, value): + @field_serializer("compression") + def serialize_compression(self, value): if isinstance(value, str): try: - return models.FailedRequestLoggingModeOptions(value) + return models.CompressionOptionsGzipNone(value) except ValueError: return value return value @@ -15378,15 +15546,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAPI(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -15423,31 +15582,25 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "messageField", + "loadBalanced", + "compression", + "logFailedRequests", + "throttleRatePerSec", + "tls", + "connectionTimeout", + "writeTimeout", + "tokenTTLMinutes", + "authTokens", "excludeFields", - "serverHostField", - "timestampField", - "defaultSeverity", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "site", - "concurrency", - "maxPayloadSizeKB", - "maxPayloadEvents", - "compress", - "rejectUnauthorized", - "timeoutSec", - "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", - "failedRequestLoggingMode", - "safeHeaders", "onBackpressure", - "authType", - "totalMemoryLimitKB", "description", - "customUrl", + "host", + "port", + "excludeSelf", + "hosts", + "dnsResolvePeriodSec", + "loadBalanceStatsPeriodSec", + "maxConcurrentSenders", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15460,12 +15613,10 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", - "textSecret", "__template_streamtags", - "__template_failedRequestLoggingMode", "__template_onBackpressure", - "__template_customUrl", + "__template_host", + "__template_port", "notifications", "status", ] @@ -15484,93 +15635,113 @@ def serialize_model(self, handler): return m -class OutputResponseTypeServiceNow(str, Enum): - SERVICE_NOW = "service_now" +class OutputResponseTypeDataset(str, Enum): + DATASET = "dataset" -class OutputResponsePqControlsServiceNowTypedDict(TypedDict): +class OutputResponseSeverityDataset(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" + + # 0 - finest + FINEST = "finest" + # 1 - finer + FINER = "finer" + # 2 - fine + FINE = "fine" + # 3 - info + INFO = "info" + # 4 - warning + WARNING = "warning" + # 5 - error + ERROR = "error" + # 6 - fatal + FATAL = "fatal" + + +class OutputResponseDataSetSite(str, Enum, metaclass=utils.OpenEnumMeta): + r"""DataSet site to which events should be sent""" + + # US + US = "us" + # Europe + EU = "eu" + # Custom + CUSTOM = "custom" + + +class OutputResponsePqControlsDatasetTypedDict(TypedDict): pass -class OutputResponsePqControlsServiceNow(BaseModel): +class OutputResponsePqControlsDataset(BaseModel): pass -class OutputResponseOutputServiceNowTypedDict(TypedDict): - type: OutputResponseTypeServiceNow - endpoint: str - r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - token_secret: str - r"""Select or create a stored text secret""" - otlp_version: OtlpVersionOptions131 - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - protocol: ProtocolOptions - r"""Select a transport option for OpenTelemetry""" +class OutputResponseOutputDatasetTypedDict(TypedDict): + type: OutputResponseTypeDataset id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - auth_token_name: NotRequired[str] - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" - compress: NotRequired[CompressionOptionsDeflateGzip] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_compress: NotRequired[CompressionOptionsMessages] - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - http_traces_endpoint_override: NotRequired[str] - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_metrics_endpoint_override: NotRequired[str] - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - http_logs_endpoint_override: NotRequired[str] - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" - dynamic_headers_enabled: NotRequired[bool] - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: NotRequired[str] - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + message_field: NotRequired[str] + r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" + exclude_fields: NotRequired[List[str]] + r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" + server_host_field: NotRequired[str] + r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" + timestamp_field: NotRequired[str] + r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" + default_severity: NotRequired[OutputResponseSeverityDataset] + r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + site: NotRequired[OutputResponseDataSetSite] + r"""DataSet site to which events should be sent""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - keep_alive_time: NotRequired[float] - r"""How often the sender should ping the peer to keep the connection open""" - keep_alive: NotRequired[bool] - r"""Disable to close the connection immediately after sending the outgoing request""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - use_round_robin_dns: NotRequired[bool] - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" - response_retry_settings: NotRequired[ - List[ResponseRetrySettingConfOutputWebhookTypedDict] - ] - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] - response_honor_retry_after_header: NotRequired[bool] - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -15593,33 +15764,27 @@ class OutputResponseOutputServiceNowTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsServiceNowTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsDatasetTypedDict] + api_key: NotRequired[str] + r"""A 'Log Write Access' API key for the DataSet account""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_custom_url: NotRequired[str] + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputServiceNow(BaseModel): - type: OutputResponseTypeServiceNow - - endpoint: str - r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" - - token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] - r"""Select or create a stored text secret""" - - otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - - protocol: ProtocolOptions - r"""Select a transport option for OpenTelemetry""" +class OutputResponseOutputDataset(BaseModel): + type: OutputResponseTypeDataset id: Optional[str] = None r"""Unique ID for this output""" @@ -15638,87 +15803,62 @@ class OutputResponseOutputServiceNow(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( - None - ) + message_field: Annotated[Optional[str], pydantic.Field(alias="messageField")] = None + r"""Name of the event field that contains the message or attributes to send. If not specified, all of the event's non-internal fields will be sent as attributes.""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + exclude_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="excludeFields") ] = None - r"""Maximum size, in KB, of the request body""" - - compress: Optional[CompressionOptionsDeflateGzip] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + r"""Fields to exclude from the event if the Message field is either unspecified or refers to an object. Ignored if the Message field is a string. If empty, we send all non-internal fields.""" - http_compress: Annotated[ - Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + server_host_field: Annotated[ + Optional[str], pydantic.Field(alias="serverHostField") ] = None - r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + r"""Name of the event field that contains the `serverHost` identifier. If not specified, defaults to `cribl_`.""" - http_traces_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + timestamp_field: Annotated[ + Optional[str], pydantic.Field(alias="timestampField") ] = None - r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order.""" - http_metrics_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") + default_severity: Annotated[ + Optional[OutputResponseSeverityDataset], pydantic.Field(alias="defaultSeverity") ] = None - r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value.""" - http_logs_endpoint_override: Annotated[ - Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" - - metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None - r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - dynamic_headers_enabled: Annotated[ - Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Batch event data upon dynamic metadata (whether presented or not)""" - dynamic_headers_field: Annotated[ - Optional[str], pydantic.Field(alias="dynamicHeadersField") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + + site: Optional[OutputResponseDataSetSite] = None + r"""DataSet site to which events should be sent""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") - ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") - ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - - keep_alive_time: Annotated[ - Optional[float], pydantic.Field(alias="keepAliveTime") + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""How often the sender should ping the peer to keep the connection open""" - - keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None - r"""Disable to close the connection immediately after sending the outgoing request""" + r"""Maximum size, in KB, of the request body""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""How to handle events when all receivers are exerting backpressure""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - description: Optional[str] = None + compress: Optional[bool] = None + r"""Compress the payload body before sending""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -15728,10 +15868,13 @@ class OutputResponseOutputServiceNow(BaseModel): that value will take precedence. """ - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -15739,27 +15882,41 @@ class OutputResponseOutputServiceNow(BaseModel): ] = None r"""Headers to add to all events""" + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") + ] = None + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None r"""List of headers that are safe to log in plain text""" - response_retry_settings: Annotated[ - Optional[List[ResponseRetrySettingConfOutputWebhook]], - pydantic.Field(alias="responseRetrySettings"), + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + r"""How to handle events when all receivers are exerting backpressure""" - timeout_retry_settings: Annotated[ - Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") ] = None + r"""Enter API key directly, or select a stored secret""" - response_honor_retry_after_header: Annotated[ - Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None - r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - tls: Optional[TLSSettingsClientSideTypeExtended] = None + description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -15811,9 +15968,15 @@ class OutputResponseOutputServiceNow(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsServiceNow], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsDataset], pydantic.Field(alias="pqControls") ] = None + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""A 'Log Write Access' API key for the DataSet account""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None @@ -15829,44 +15992,31 @@ class OutputResponseOutputServiceNow(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" - - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): - if isinstance(value, str): - try: - return models.OtlpVersionOptions131(value) - except ValueError: - return value - return value + template_custom_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_customUrl") + ] = None + r"""Binds 'customUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'customUrl' at runtime.""" - @field_serializer("protocol") - def serialize_protocol(self, value): - if isinstance(value, str): - try: - return models.ProtocolOptions(value) - except ValueError: - return value - return value + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" - @field_serializer("compress") - def serialize_compress(self, value): + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + @field_serializer("default_severity") + def serialize_default_severity(self, value): if isinstance(value, str): try: - return models.CompressionOptionsDeflateGzip(value) + return models.OutputResponseSeverityDataset(value) except ValueError: return value return value - @field_serializer("http_compress") - def serialize_http_compress(self, value): + @field_serializer("site") + def serialize_site(self, value): if isinstance(value, str): try: - return models.CompressionOptionsMessages(value) + return models.OutputResponseDataSetSite(value) except ValueError: return value return value @@ -15889,6 +16039,15 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAPI(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -15925,33 +16084,31 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "authTokenName", + "messageField", + "excludeFields", + "serverHostField", + "timestampField", + "defaultSeverity", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "site", + "concurrency", "maxPayloadSizeKB", + "maxPayloadEvents", "compress", - "httpCompress", - "httpTracesEndpointOverride", - "httpMetricsEndpointOverride", - "httpLogsEndpointOverride", - "metadata", - "dynamicHeadersEnabled", - "dynamicHeadersField", - "concurrency", + "rejectUnauthorized", "timeoutSec", "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", + "safeHeaders", "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", - "rejectUnauthorized", - "useRoundRobinDns", - "extraHttpHeaders", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "tls", + "customUrl", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -15964,9 +16121,12 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "apiKey", + "textSecret", "__template_streamtags", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_customUrl", "notifications", "status", ] @@ -15985,48 +16145,28 @@ def serialize_model(self, handler): return m -class OutputResponseTypeOpenTelemetry(str, Enum): - OPEN_TELEMETRY = "open_telemetry" - - -class OutputResponseOTLPVersionOpenTelemetry(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" - - # 0.10.0 - ZERO_DOT_10_DOT_0 = "0.10.0" - # 1.3.1 - ONE_DOT_3_DOT_1 = "1.3.1" - - -class OutputResponseAuthenticationTypeOpenTelemetry( - str, Enum, metaclass=utils.OpenEnumMeta -): - # None - NONE = "none" - # Basic - BASIC = "basic" - # Basic (credentials secret) - CREDENTIALS_SECRET = "credentialsSecret" - # Token - TOKEN = "token" - # Token (text secret) - TEXT_SECRET = "textSecret" - # OAuth (text secret) - OAUTH_SECRET = "oauthSecret" +class OutputResponseTypeServiceNow(str, Enum): + SERVICE_NOW = "service_now" -class OutputResponsePqControlsOpenTelemetryTypedDict(TypedDict): +class OutputResponsePqControlsServiceNowTypedDict(TypedDict): pass -class OutputResponsePqControlsOpenTelemetry(BaseModel): +class OutputResponsePqControlsServiceNow(BaseModel): pass -class OutputResponseOutputOpenTelemetryTypedDict(TypedDict): - type: OutputResponseTypeOpenTelemetry +class OutputResponseOutputServiceNowTypedDict(TypedDict): + type: OutputResponseTypeServiceNow endpoint: str - r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" + r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" + token_secret: str + r"""Select or create a stored text secret""" + otlp_version: OtlpVersionOptions131 + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + protocol: ProtocolOptions + r"""Select a transport option for OpenTelemetry""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -16037,15 +16177,13 @@ class OutputResponseOutputOpenTelemetryTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - protocol: NotRequired[ProtocolOptions] - r"""Select a transport option for OpenTelemetry""" - otlp_version: NotRequired[OutputResponseOTLPVersionOpenTelemetry] - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + auth_token_name: NotRequired[str] + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" compress: NotRequired[CompressionOptionsDeflateGzip] r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" http_compress: NotRequired[CompressionOptionsMessages] r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - auth_type: NotRequired[OutputResponseAuthenticationTypeOpenTelemetry] http_traces_endpoint_override: NotRequired[str] r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" http_metrics_endpoint_override: NotRequired[str] @@ -16060,8 +16198,6 @@ class OutputResponseOutputOpenTelemetryTypedDict(TypedDict): r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] @@ -16077,30 +16213,7 @@ class OutputResponseOutputOpenTelemetryTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - login_url: NotRequired[str] - r"""URL for OAuth""" - secret_param_name: NotRequired[str] - r"""Secret parameter name to pass in request body""" - oauth_text_secret: NotRequired[str] - r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" - token_attribute_name: NotRequired[str] - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - auth_header_expr: NotRequired[str] - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - token_timeout_secs: NotRequired[float] - r"""How often the OAuth token should be refreshed.""" - oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" - oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] - 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.""" + r"""Optional description for this configuration.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -16142,26 +16255,33 @@ class OutputResponseOutputOpenTelemetryTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsOpenTelemetryTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsServiceNowTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_login_url: NotRequired[str] - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputOpenTelemetry(BaseModel): - type: OutputResponseTypeOpenTelemetry +class OutputResponseOutputServiceNow(BaseModel): + type: OutputResponseTypeServiceNow endpoint: str - r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" + r"""The endpoint where ServiceNow events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)""" + + token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")] + r"""Select or create a stored text secret""" + + otlp_version: Annotated[OtlpVersionOptions131, pydantic.Field(alias="otlpVersion")] + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + protocol: ProtocolOptions + r"""Select a transport option for OpenTelemetry""" id: Optional[str] = None r"""Unique ID for this output""" @@ -16180,14 +16300,14 @@ class OutputResponseOutputOpenTelemetry(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - protocol: Optional[ProtocolOptions] = None - r"""Select a transport option for OpenTelemetry""" + auth_token_name: Annotated[Optional[str], pydantic.Field(alias="authTokenName")] = ( + None + ) - otlp_version: Annotated[ - Optional[OutputResponseOTLPVersionOpenTelemetry], - pydantic.Field(alias="otlpVersion"), + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + r"""Maximum size, in KB, of the request body""" compress: Optional[CompressionOptionsDeflateGzip] = None r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" @@ -16197,11 +16317,6 @@ class OutputResponseOutputOpenTelemetry(BaseModel): ] = None r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" - auth_type: Annotated[ - Optional[OutputResponseAuthenticationTypeOpenTelemetry], - pydantic.Field(alias="authType"), - ] = None - http_traces_endpoint_override: Annotated[ Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") ] = None @@ -16233,11 +16348,6 @@ class OutputResponseOutputOpenTelemetry(BaseModel): concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") - ] = None - r"""Maximum size, in KB, of the request body""" - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" @@ -16265,67 +16375,13 @@ class OutputResponseOutputOpenTelemetry(BaseModel): keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None r"""Disable to close the connection immediately after sending the outgoing request""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None - - username: Optional[str] = None - - password: Optional[str] = None - - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") - ] = None - r"""Select or create a secret that references your credentials""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None - r"""URL for OAuth""" - - secret_param_name: Annotated[ - Optional[str], pydantic.Field(alias="secretParamName") - ] = None - r"""Secret parameter name to pass in request body""" - - oauth_text_secret: Annotated[ - Optional[str], pydantic.Field(alias="oauthTextSecret") - ] = None - r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" - - token_attribute_name: Annotated[ - Optional[str], pydantic.Field(alias="tokenAttributeName") - ] = None - r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" - - auth_header_expr: Annotated[ - Optional[str], pydantic.Field(alias="authHeaderExpr") - ] = None - r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" - - token_timeout_secs: Annotated[ - Optional[float], pydantic.Field(alias="tokenTimeoutSecs") - ] = None - r"""How often the OAuth token should be refreshed.""" - - oauth_params: Annotated[ - Optional[List[OauthParamConfInputServicenowTable]], - pydantic.Field(alias="oauthParams"), - ] = None - r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" - - oauth_headers: Annotated[ - Optional[List[OauthHeaderConfInputServicenowTable]], - pydantic.Field(alias="oauthHeaders"), + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - 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.""" + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -16418,8 +16474,7 @@ class OutputResponseOutputOpenTelemetry(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsOpenTelemetry], - pydantic.Field(alias="pqControls"), + Optional[OutputResponsePqControlsServiceNow], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -16437,31 +16492,26 @@ class OutputResponseOutputOpenTelemetry(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_login_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_loginUrl") - ] = None - r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("protocol") - def serialize_protocol(self, value): + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): if isinstance(value, str): try: - return models.ProtocolOptions(value) + return models.OtlpVersionOptions131(value) except ValueError: return value return value - @field_serializer("otlp_version") - def serialize_otlp_version(self, value): + @field_serializer("protocol") + def serialize_protocol(self, value): if isinstance(value, str): try: - return models.OutputResponseOTLPVersionOpenTelemetry(value) + return models.ProtocolOptions(value) except ValueError: return value return value @@ -16484,15 +16534,6 @@ def serialize_http_compress(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.OutputResponseAuthenticationTypeOpenTelemetry(value) - except ValueError: - return value - return value - @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -16547,11 +16588,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "protocol", - "otlpVersion", + "authTokenName", + "maxPayloadSizeKB", "compress", "httpCompress", - "authType", "httpTracesEndpointOverride", "httpMetricsEndpointOverride", "httpLogsEndpointOverride", @@ -16559,227 +16599,36 @@ def serialize_model(self, handler): "dynamicHeadersEnabled", "dynamicHeadersField", "concurrency", - "maxPayloadSizeKB", "timeoutSec", "flushPeriodSec", - "failedRequestLoggingMode", - "connectionTimeout", - "keepAliveTime", - "keepAlive", - "onBackpressure", - "description", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "loginUrl", - "secretParamName", - "oauthTextSecret", - "tokenAttributeName", - "authHeaderExpr", - "tokenTimeoutSecs", - "oauthParams", - "oauthHeaders", - "rejectUnauthorized", - "useRoundRobinDns", - "extraHttpHeaders", - "safeHeaders", - "responseRetrySettings", - "timeoutRetrySettings", - "responseHonorRetryAfterHeader", - "tls", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "__template_loginUrl", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseTypeRing(str, Enum): - RING = "ring" - - -class OutputResponseDataFormatRing(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Format of the output data.""" - - JSON = "json" - RAW = "raw" - - -class OutputResponseOutputRingTypedDict(TypedDict): - type: OutputResponseTypeRing - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - format_: NotRequired[OutputResponseDataFormatRing] - r"""Format of the output data.""" - partition_expr: NotRequired[str] - r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" - max_data_size: NotRequired[str] - r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" - max_data_time: NotRequired[str] - r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" - compress: NotRequired[DataCompressionFormatOptionsPersistence] - dest_path: NotRequired[str] - r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" - on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] - r"""How to handle events when all receivers are exerting backpressure""" - description: NotRequired[str] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_on_backpressure: NotRequired[str] - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - -class OutputResponseOutputRing(BaseModel): - type: OutputResponseTypeRing - - id: Optional[str] = None - r"""Unique ID for this output""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - format_: Annotated[ - Optional[OutputResponseDataFormatRing], pydantic.Field(alias="format") - ] = None - r"""Format of the output data.""" - - partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( - None - ) - r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" - - max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None - r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" - - max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None - r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" - - compress: Optional[DataCompressionFormatOptionsPersistence] = None - - dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None - r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" - - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptionsBlockDrop], - pydantic.Field(alias="onBackpressure"), - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - description: Optional[str] = None - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" - - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - @field_serializer("format_") - def serialize_format_(self, value): - if isinstance(value, str): - try: - return models.OutputResponseDataFormatRing(value) - except ValueError: - return value - return value - - @field_serializer("compress") - def serialize_compress(self, value): - if isinstance(value, str): - try: - return models.DataCompressionFormatOptionsPersistence(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptionsBlockDrop(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "format", - "partitionExpr", - "maxDataSize", - "maxDataTime", - "compress", - "destPath", + "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", "onBackpressure", "description", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "tls", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", + "__template_failedRequestLoggingMode", "__template_onBackpressure", "notifications", "status", @@ -16799,15 +16648,22 @@ def serialize_model(self, handler): return m -class OutputResponseTypePrometheus(str, Enum): - PROMETHEUS = "prometheus" +class OutputResponseTypeOpenTelemetry(str, Enum): + OPEN_TELEMETRY = "open_telemetry" -class OutputResponseAuthenticationTypePrometheus( +class OutputResponseOTLPVersionOpenTelemetry(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + # 0.10.0 + ZERO_DOT_10_DOT_0 = "0.10.0" + # 1.3.1 + ONE_DOT_3_DOT_1 = "1.3.1" + + +class OutputResponseAuthenticationTypeOpenTelemetry( str, Enum, metaclass=utils.OpenEnumMeta ): - r"""Remote Write authentication type""" - # None NONE = "none" # Basic @@ -16818,59 +16674,106 @@ class OutputResponseAuthenticationTypePrometheus( TOKEN = "token" # Token (text secret) TEXT_SECRET = "textSecret" - # AWS Signature v4 - AWS_SIGV4 = "aws_sigv4" + # OAuth (text secret) + OAUTH_SECRET = "oauthSecret" -class OutputResponsePqControlsPrometheusTypedDict(TypedDict): +class OutputResponsePqControlsOpenTelemetryTypedDict(TypedDict): pass -class OutputResponsePqControlsPrometheus(BaseModel): +class OutputResponsePqControlsOpenTelemetry(BaseModel): pass -class OutputResponseOutputPrometheusTypedDict(TypedDict): - type: OutputResponseTypePrometheus - url: str - r"""The endpoint to send metrics to""" +class OutputResponseOutputOpenTelemetryTypedDict(TypedDict): + type: OutputResponseTypeOpenTelemetry + endpoint: str + r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - metric_rename_expr: NotRequired[str] - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - send_metadata: NotRequired[bool] - r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" - use_prometheus_histogram_bucket_suffix: NotRequired[bool] - r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" + protocol: NotRequired[ProtocolOptions] + r"""Select a transport option for OpenTelemetry""" + otlp_version: NotRequired[OutputResponseOTLPVersionOpenTelemetry] + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + compress: NotRequired[CompressionOptionsDeflateGzip] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + http_compress: NotRequired[CompressionOptionsMessages] + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + auth_type: NotRequired[OutputResponseAuthenticationTypeOpenTelemetry] + http_traces_endpoint_override: NotRequired[str] + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_metrics_endpoint_override: NotRequired[str] + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + http_logs_endpoint_override: NotRequired[str] + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + metadata: NotRequired[List[KeyValueMetadataConfOutputFilesystemTypedDict]] + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + dynamic_headers_enabled: NotRequired[bool] + r"""Batch event data upon dynamic metadata (whether presented or not)""" + dynamic_headers_field: NotRequired[str] + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] r"""Maximum size, in KB, of the request body""" - max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + connection_timeout: NotRequired[float] + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + keep_alive_time: NotRequired[float] + r"""How often the sender should ping the peer to keep the connection open""" + keep_alive: NotRequired[bool] + r"""Disable to close the connection immediately after sending the outgoing request""" + on_backpressure: NotRequired[BackpressureBehaviorOptions] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + login_url: NotRequired[str] + r"""URL for OAuth""" + secret_param_name: NotRequired[str] + r"""Secret parameter name to pass in request body""" + oauth_text_secret: NotRequired[str] + r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" + token_attribute_name: NotRequired[str] + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + auth_header_expr: NotRequired[str] + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + token_timeout_secs: NotRequired[float] + r"""How often the OAuth token should be refreshed.""" + oauth_params: NotRequired[List[OauthParamConfInputServicenowTableTypedDict]] + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + oauth_headers: NotRequired[List[OauthHeaderConfInputServicenowTableTypedDict]] + 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.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), that value will take precedence. """ - timeout_sec: NotRequired[float] - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] - r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" safe_headers: NotRequired[List[str]] r"""List of headers that are safe to log in plain text""" response_retry_settings: NotRequired[ @@ -16880,13 +16783,7 @@ class OutputResponseOutputPrometheusTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: NotRequired[BackpressureBehaviorOptions] - r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[OutputResponseAuthenticationTypePrometheus] - r"""Remote Write authentication type""" - description: NotRequired[str] - metrics_flush_period_sec: NotRequired[float] - r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" + tls: NotRequired[TLSSettingsClientSideTypeExtendedTypedDict] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -16909,103 +16806,191 @@ class OutputResponseOutputPrometheusTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsPrometheusTypedDict] - username: NotRequired[str] - password: NotRequired[str] - token: NotRequired[str] - r"""Bearer token to include in the authorization header""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" - region: NotRequired[str] - r"""AWS region used to sign Remote Write requests""" - aws_service: NotRequired[str] - r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access Prometheus""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" + pq_controls: NotRequired[OutputResponsePqControlsOpenTelemetryTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_aws_service: NotRequired[str] - r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_login_url: NotRequired[str] + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputPrometheus(BaseModel): - type: OutputResponseTypePrometheus +class OutputResponseOutputOpenTelemetry(BaseModel): + type: OutputResponseTypeOpenTelemetry + + endpoint: str + r"""The endpoint where OTel events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets). Unspecified ports will default to 4317, unless the endpoint is an HTTPS-based URL or TLS is enabled, in which case 443 will be used.""" + + id: Optional[str] = None + r"""Unique ID for this output""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + protocol: Optional[ProtocolOptions] = None + r"""Select a transport option for OpenTelemetry""" + + otlp_version: Annotated[ + Optional[OutputResponseOTLPVersionOpenTelemetry], + pydantic.Field(alias="otlpVersion"), + ] = None + r"""The version of OTLP Protobuf definitions to use when structuring data to send""" + + compress: Optional[CompressionOptionsDeflateGzip] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + + http_compress: Annotated[ + Optional[CompressionOptionsMessages], pydantic.Field(alias="httpCompress") + ] = None + r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint""" + + auth_type: Annotated[ + Optional[OutputResponseAuthenticationTypeOpenTelemetry], + pydantic.Field(alias="authType"), + ] = None + + http_traces_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpTracesEndpointOverride") + ] = None + r"""If you want to send traces to the default `{endpoint}/v1/traces` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + + http_metrics_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpMetricsEndpointOverride") + ] = None + r"""If you want to send metrics to the default `{endpoint}/v1/metrics` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + + http_logs_endpoint_override: Annotated[ + Optional[str], pydantic.Field(alias="httpLogsEndpointOverride") + ] = None + r"""If you want to send logs to the default `{endpoint}/v1/logs` endpoint, leave this field empty; otherwise, specify the desired endpoint""" + + metadata: Optional[List[KeyValueMetadataConfOutputFilesystem]] = None + r"""List of key-value pairs to send with each gRPC request. Value supports JavaScript expressions that are evaluated just once, when the destination gets started. To pass credentials as metadata, use 'C.Secret'.""" + + dynamic_headers_enabled: Annotated[ + Optional[bool], pydantic.Field(alias="dynamicHeadersEnabled") + ] = None + r"""Batch event data upon dynamic metadata (whether presented or not)""" + + dynamic_headers_field: Annotated[ + Optional[str], pydantic.Field(alias="dynamicHeadersField") + ] = None + r"""When presented, this field which contains metadata, will be injected into the Destination metadata and used to batch events.""" + + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" + + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body""" - url: str - r"""The endpoint to send metrics to""" + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - id: Optional[str] = None - r"""Unique ID for this output""" + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") + ] = None + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), + ] = None + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + connection_timeout: Annotated[ + Optional[float], pydantic.Field(alias="connectionTimeout") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" + r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + keep_alive_time: Annotated[ + Optional[float], pydantic.Field(alias="keepAliveTime") + ] = None + r"""How often the sender should ping the peer to keep the connection open""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = None + r"""Disable to close the connection immediately after sending the outgoing request""" - metric_rename_expr: Annotated[ - Optional[str], pydantic.Field(alias="metricRenameExpr") + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" + r"""How to handle events when all receivers are exerting backpressure""" - send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( - None - ) - r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - use_prometheus_histogram_bucket_suffix: Annotated[ - Optional[bool], pydantic.Field(alias="usePrometheusHistogramBucketSuffix") + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") ] = None - r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" + r"""Select or create a secret that references your credentials""" - concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" - max_payload_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + login_url: Annotated[Optional[str], pydantic.Field(alias="loginUrl")] = None + r"""URL for OAuth""" + + secret_param_name: Annotated[ + Optional[str], pydantic.Field(alias="secretParamName") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Secret parameter name to pass in request body""" - max_payload_events: Annotated[ - Optional[float], pydantic.Field(alias="maxPayloadEvents") + oauth_text_secret: Annotated[ + Optional[str], pydantic.Field(alias="oauthTextSecret") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + r"""Select or create a stored text secret for the OAuth secret parameter value to pass in request body""" + + token_attribute_name: Annotated[ + Optional[str], pydantic.Field(alias="tokenAttributeName") + ] = None + r"""Name of the auth token attribute in the OAuth response. Can be top-level (e.g., 'token'); or nested, using a period (e.g., 'data.token').""" + + auth_header_expr: Annotated[ + Optional[str], pydantic.Field(alias="authHeaderExpr") + ] = None + r"""JavaScript expression to compute the Authorization header value to pass in requests. The value `${token}` is used to reference the token obtained from authentication, e.g.: `Bearer ${token}`.""" + + token_timeout_secs: Annotated[ + Optional[float], pydantic.Field(alias="tokenTimeoutSecs") + ] = None + r"""How often the OAuth token should be refreshed.""" + + oauth_params: Annotated[ + Optional[List[OauthParamConfInputServicenowTable]], + pydantic.Field(alias="oauthParams"), + ] = None + r"""Additional parameters to send in the OAuth login request. @{product} will combine the secret with these parameters, and will send the URL-encoded result in a POST request to the endpoint specified in the 'Login URL'. We'll automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request.""" + + oauth_headers: Annotated[ + Optional[List[OauthHeaderConfInputServicenowTable]], + pydantic.Field(alias="oauthHeaders"), + ] = None + 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.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -17015,13 +17000,10 @@ class OutputResponseOutputPrometheus(BaseModel): that value will take precedence. """ - timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None - r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" - - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -17029,17 +17011,6 @@ class OutputResponseOutputPrometheus(BaseModel): ] = None r"""Headers to add to all events""" - use_round_robin_dns: Annotated[ - Optional[bool], pydantic.Field(alias="useRoundRobinDns") - ] = None - r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - - failed_request_logging_mode: Annotated[ - Optional[FailedRequestLoggingModeOptions], - pydantic.Field(alias="failedRequestLoggingMode"), - ] = None - r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - safe_headers: Annotated[ Optional[List[str]], pydantic.Field(alias="safeHeaders") ] = None @@ -17060,23 +17031,7 @@ class OutputResponseOutputPrometheus(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - on_backpressure: Annotated[ - Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") - ] = None - r"""How to handle events when all receivers are exerting backpressure""" - - auth_type: Annotated[ - Optional[OutputResponseAuthenticationTypePrometheus], - pydantic.Field(alias="authType"), - ] = None - r"""Remote Write authentication type""" - - description: Optional[str] = None - - metrics_flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="metricsFlushPeriodSec") - ] = None - r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" + tls: Optional[TLSSettingsClientSideTypeExtended] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17128,69 +17083,15 @@ class OutputResponseOutputPrometheus(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsPrometheus], pydantic.Field(alias="pqControls") - ] = None - - username: Optional[str] = None - - password: Optional[str] = None - - token: Optional[str] = None - r"""Bearer token to include in the authorization header""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") - ] = None - r"""Select or create a secret that references your credentials""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsAutoSecret], - pydantic.Field(alias="awsAuthenticationMethod"), - ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" - - region: Optional[str] = None - r"""AWS region used to sign Remote Write requests""" - - aws_service: Annotated[Optional[str], pydantic.Field(alias="awsService")] = None - r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" - - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") - ] = None - r"""Use Assume Role credentials to access Prometheus""" - - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" - - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") - ] = None - r"""External ID to use when assuming role""" - - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + Optional[OutputResponsePqControlsOpenTelemetry], + pydantic.Field(alias="pqControls"), ] = None - 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).""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( - None - ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -17201,31 +17102,61 @@ class OutputResponseOutputPrometheus(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") + template_login_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_loginUrl") ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + r"""Binds 'loginUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'loginUrl' at runtime.""" - template_aws_service: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsService") - ] = None - r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") - ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + @field_serializer("protocol") + def serialize_protocol(self, value): + if isinstance(value, str): + try: + return models.ProtocolOptions(value) + except ValueError: + return value + return value + + @field_serializer("otlp_version") + def serialize_otlp_version(self, value): + if isinstance(value, str): + try: + return models.OutputResponseOTLPVersionOpenTelemetry(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsDeflateGzip(value) + except ValueError: + return value + return value - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" + @field_serializer("http_compress") + def serialize_http_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsMessages(value) + except ValueError: + return value + return value - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.OutputResponseAuthenticationTypeOpenTelemetry(value) + except ValueError: + return value + return value @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): @@ -17245,15 +17176,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.OutputResponseAuthenticationTypePrometheus(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -17281,15 +17203,6 @@ def serialize_pq_on_backpressure(self, value): return value return value - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAutoSecret(value) - except ValueError: - return value - return value - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -17299,26 +17212,48 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "metricRenameExpr", - "sendMetadata", - "usePrometheusHistogramBucketSuffix", + "protocol", + "otlpVersion", + "compress", + "httpCompress", + "authType", + "httpTracesEndpointOverride", + "httpMetricsEndpointOverride", + "httpLogsEndpointOverride", + "metadata", + "dynamicHeadersEnabled", + "dynamicHeadersField", "concurrency", "maxPayloadSizeKB", - "maxPayloadEvents", - "rejectUnauthorized", "timeoutSec", "flushPeriodSec", - "extraHttpHeaders", - "useRoundRobinDns", "failedRequestLoggingMode", + "connectionTimeout", + "keepAliveTime", + "keepAlive", + "onBackpressure", + "description", + "username", + "password", + "token", + "credentialsSecret", + "textSecret", + "loginUrl", + "secretParamName", + "oauthTextSecret", + "tokenAttributeName", + "authHeaderExpr", + "tokenTimeoutSecs", + "oauthParams", + "oauthHeaders", + "rejectUnauthorized", + "useRoundRobinDns", + "extraHttpHeaders", "safeHeaders", "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "onBackpressure", - "authType", - "description", - "metricsFlushPeriodSec", + "tls", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17331,27 +17266,188 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "username", - "password", - "token", - "credentialsSecret", - "textSecret", - "awsAuthenticationMethod", - "awsSecret", - "region", - "awsService", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "__template_loginUrl", + "notifications", + "status", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseTypeRing(str, Enum): + RING = "ring" + + +class OutputResponseDataFormatRing(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Format of the output data.""" + + JSON = "json" + RAW = "raw" + + +class OutputResponseOutputRingTypedDict(TypedDict): + type: OutputResponseTypeRing + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + format_: NotRequired[OutputResponseDataFormatRing] + r"""Format of the output data.""" + partition_expr: NotRequired[str] + r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" + max_data_size: NotRequired[str] + r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" + max_data_time: NotRequired[str] + r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" + compress: NotRequired[DataCompressionFormatOptionsPersistence] + dest_path: NotRequired[str] + r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" + on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] + r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_on_backpressure: NotRequired[str] + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + +class OutputResponseOutputRing(BaseModel): + type: OutputResponseTypeRing + + id: Optional[str] = None + r"""Unique ID for this output""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + format_: Annotated[ + Optional[OutputResponseDataFormatRing], pydantic.Field(alias="format") + ] = None + r"""Format of the output data.""" + + partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = ( + None + ) + r"""JS expression to define how files are partitioned and organized. If left blank, Cribl Stream will fallback on event.__partition.""" + + max_data_size: Annotated[Optional[str], pydantic.Field(alias="maxDataSize")] = None + r"""Maximum disk space allowed to be consumed (examples: 420MB, 4GB). When limit is reached, older data will be deleted.""" + + max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = None + r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted.""" + + compress: Optional[DataCompressionFormatOptionsPersistence] = None + + dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None + r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/""" + + on_backpressure: Annotated[ + Optional[BackpressureBehaviorOptionsBlockDrop], + pydantic.Field(alias="onBackpressure"), + ] = None + r"""How to handle events when all receivers are exerting backpressure""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" + + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.OutputResponseDataFormatRing(value) + except ValueError: + return value + return value + + @field_serializer("compress") + def serialize_compress(self, value): + if isinstance(value, str): + try: + return models.DataCompressionFormatOptionsPersistence(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptionsBlockDrop(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "format", + "partitionExpr", + "maxDataSize", + "maxDataTime", + "compress", + "destPath", + "onBackpressure", + "description", + "__template_streamtags", "__template_onBackpressure", - "__template_region", - "__template_awsService", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", "notifications", "status", ] @@ -17370,47 +17466,63 @@ def serialize_model(self, handler): return m -class OutputResponseTypeLoki(str, Enum): - LOKI = "loki" +class OutputResponseTypePrometheus(str, Enum): + PROMETHEUS = "prometheus" -class OutputResponsePqControlsLokiTypedDict(TypedDict): +class OutputResponseAuthenticationTypePrometheus( + str, Enum, metaclass=utils.OpenEnumMeta +): + r"""Remote Write authentication type""" + + # None + NONE = "none" + # Basic + BASIC = "basic" + # Basic (credentials secret) + CREDENTIALS_SECRET = "credentialsSecret" + # Token + TOKEN = "token" + # Token (text secret) + TEXT_SECRET = "textSecret" + # AWS Signature v4 + AWS_SIGV4 = "aws_sigv4" + + +class OutputResponsePqControlsPrometheusTypedDict(TypedDict): pass -class OutputResponsePqControlsLoki(BaseModel): +class OutputResponsePqControlsPrometheus(BaseModel): pass -class OutputResponseOutputLokiTypedDict(TypedDict): - type: OutputResponseTypeLoki +class OutputResponseOutputPrometheusTypedDict(TypedDict): + type: OutputResponseTypePrometheus url: str - r"""The endpoint to send logs to""" + r"""The endpoint to send metrics to""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - message: NotRequired[str] - r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - message_format: NotRequired[MessageFormatOptions] - r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - labels: NotRequired[List[HTTPDiscoveryHeaderConfInputPrometheusTypedDict]] - r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - auth_type: NotRequired[ - AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret - ] + metric_rename_expr: NotRequired[str] + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" + send_metadata: NotRequired[bool] + r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" + use_prometheus_histogram_bucket_suffix: NotRequired[bool] + r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -17419,7 +17531,7 @@ class OutputResponseOutputLokiTypedDict(TypedDict): timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] @@ -17435,25 +17547,14 @@ class OutputResponseOutputLokiTypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - enable_dynamic_headers: NotRequired[bool] - r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + auth_type: NotRequired[OutputResponseAuthenticationTypePrometheus] + r"""Remote Write authentication type""" description: NotRequired[str] - compress: NotRequired[bool] - r"""Compress the payload body before sending""" - token: NotRequired[str] - r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" - username: NotRequired[str] - r"""Username for authentication""" - password: NotRequired[str] - r"""Password (API key in Grafana Cloud domain) for authentication""" - credentials_secret: NotRequired[str] - r"""Select or create a secret that references your credentials""" + r"""Optional description for this configuration.""" + metrics_flush_period_sec: NotRequired[float] + r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -17476,24 +17577,58 @@ class OutputResponseOutputLokiTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsLokiTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsPrometheusTypedDict] + username: NotRequired[str] + password: NotRequired[str] + token: NotRequired[str] + r"""Bearer token to include in the authorization header""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsAutoSecret] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" + region: NotRequired[str] + r"""AWS region used to sign Remote Write requests""" + aws_service: NotRequired[str] + r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access Prometheus""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_aws_service: NotRequired[str] + r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputLoki(BaseModel): - type: OutputResponseTypeLoki +class OutputResponseOutputPrometheus(BaseModel): + type: OutputResponseTypePrometheus url: str - r"""The endpoint to send logs to""" + r"""The endpoint to send metrics to""" id: Optional[str] = None r"""Unique ID for this output""" @@ -17504,7 +17639,7 @@ class OutputResponseOutputLoki(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions to generated metrics.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -17512,34 +17647,33 @@ class OutputResponseOutputLoki(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - message: Optional[str] = None - r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - - message_format: Annotated[ - Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + metric_rename_expr: Annotated[ + Optional[str], pydantic.Field(alias="metricRenameExpr") ] = None - r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - labels: Optional[List[HTTPDiscoveryHeaderConfInputPrometheus]] = None - r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" + send_metadata: Annotated[Optional[bool], pydantic.Field(alias="sendMetadata")] = ( + None + ) + r"""Generate and send metadata (`type` and `metricFamilyName`) requests""" - auth_type: Annotated[ - Optional[AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret], - pydantic.Field(alias="authType"), + use_prometheus_histogram_bucket_suffix: Annotated[ + Optional[bool], pydantic.Field(alias="usePrometheusHistogramBucketSuffix") ] = None + r"""Serialize histogram bucket series as `_bucket` to match Prometheus histogram naming convention""" concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -17555,7 +17689,7 @@ class OutputResponseOutputLoki(BaseModel): flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -17594,42 +17728,24 @@ class OutputResponseOutputLoki(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" - enable_dynamic_headers: Annotated[ - Optional[bool], pydantic.Field(alias="enableDynamicHeaders") - ] = None - r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" - on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + auth_type: Annotated[ + Optional[OutputResponseAuthenticationTypePrometheus], + pydantic.Field(alias="authType"), ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + r"""Remote Write authentication type""" description: Optional[str] = None + r"""Optional description for this configuration.""" - compress: Optional[bool] = None - r"""Compress the payload body before sending""" - - token: Optional[str] = None - r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - - username: Optional[str] = None - r"""Username for authentication""" - - password: Optional[str] = None - r"""Password (API key in Grafana Cloud domain) for authentication""" - - credentials_secret: Annotated[ - Optional[str], pydantic.Field(alias="credentialsSecret") + metrics_flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="metricsFlushPeriodSec") ] = None - r"""Select or create a secret that references your credentials""" + r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -17678,17 +17794,72 @@ class OutputResponseOutputLoki(BaseModel): pq_max_buffer_size_bytes: Annotated[ Optional[str], pydantic.Field(alias="pqMaxBufferSizeBytes") ] = None - r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" + + pq_controls: Annotated[ + Optional[OutputResponsePqControlsPrometheus], pydantic.Field(alias="pqControls") + ] = None + + username: Optional[str] = None + + password: Optional[str] = None + + token: Optional[str] = None + r"""Bearer token to include in the authorization header""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsAutoSecret], + pydantic.Field(alias="awsAuthenticationMethod"), + ] = None + r"""AWS authentication method. Choose Auto to use IAM roles.""" + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + + region: Optional[str] = None + r"""AWS region used to sign Remote Write requests""" + + aws_service: Annotated[Optional[str], pydantic.Field(alias="awsService")] = None + r"""ID used to sign Remote Write requests (for example, `aps` for Amazon Managed Service for Prometheus)""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access Prometheus""" + + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( + None + ) + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" - pq_controls: Annotated[ - Optional[OutputResponsePqControlsLoki], pydantic.Field(alias="pqControls") + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") ] = None + 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).""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -17699,32 +17870,32 @@ class OutputResponseOutputLoki(BaseModel): ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_aws_service: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsService") + ] = None + r"""Binds 'awsService' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsService' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("message_format") - def serialize_message_format(self, value): - if isinstance(value, str): - try: - return models.MessageFormatOptions(value) - except ValueError: - return value - return value - - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret( - value - ) - except ValueError: - return value - return value - @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -17743,6 +17914,15 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.OutputResponseAuthenticationTypePrometheus(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -17770,6 +17950,15 @@ def serialize_pq_on_backpressure(self, value): return value return value + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAutoSecret(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -17779,10 +17968,9 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "message", - "messageFormat", - "labels", - "authType", + "metricRenameExpr", + "sendMetadata", + "usePrometheusHistogramBucketSuffix", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -17796,16 +17984,10 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "enableDynamicHeaders", "onBackpressure", - "totalMemoryLimitKB", + "authType", "description", - "compress", - "token", - "textSecret", - "username", - "password", - "credentialsSecret", + "metricsFlushPeriodSec", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -17818,9 +18000,27 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", + "username", + "password", + "token", + "credentialsSecret", + "textSecret", + "awsAuthenticationMethod", + "awsSecret", + "region", + "awsService", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", "__template_streamtags", + "__template_url", "__template_failedRequestLoggingMode", "__template_onBackpressure", + "__template_region", + "__template_awsService", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "notifications", "status", ] @@ -17839,50 +18039,47 @@ def serialize_model(self, handler): return m -class OutputResponseOutputGrafanaCloudType2(str, Enum): - GRAFANA_CLOUD = "grafana_cloud" +class OutputResponseTypeLoki(str, Enum): + LOKI = "loki" -class OutputResponseOutputGrafanaCloudPqControls2TypedDict(TypedDict): +class OutputResponsePqControlsLokiTypedDict(TypedDict): pass -class OutputResponseOutputGrafanaCloudPqControls2(BaseModel): +class OutputResponsePqControlsLoki(BaseModel): pass -class OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): - type: OutputResponseOutputGrafanaCloudType2 - prometheus_url: str - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" +class OutputResponseOutputLokiTypedDict(TypedDict): + type: OutputResponseTypeLoki + url: str + r"""The endpoint to send logs to""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - loki_url: NotRequired[str] - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" message: NotRequired[str] r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" message_format: NotRequired[MessageFormatOptions] r"""Format to use when sending logs to Loki (Protobuf or JSON)""" labels: NotRequired[List[HTTPDiscoveryHeaderConfInputPrometheusTypedDict]] r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - metric_rename_expr: NotRequired[str] - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - prometheus_auth: NotRequired[PrometheusAuthTypeTypedDict] - loki_auth: NotRequired[PrometheusAuthTypeTypedDict] + auth_type: NotRequired[ + AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret + ] concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -17891,7 +18088,7 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] @@ -17907,11 +18104,26 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] response_honor_retry_after_header: NotRequired[bool] r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + enable_dynamic_headers: NotRequired[bool] + r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[bool] - r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" + r"""Compress the payload body before sending""" + token: NotRequired[str] + r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" + username: NotRequired[str] + r"""Username for authentication""" + password: NotRequired[str] + r"""Password (API key in Grafana Cloud domain) for authentication""" + credentials_secret: NotRequired[str] + r"""Select or create a secret that references your credentials""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -17934,13 +18146,9 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponseOutputGrafanaCloudPqControls2TypedDict] + pq_controls: NotRequired[OutputResponsePqControlsLokiTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_loki_url: NotRequired[str] - r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" - template_prometheus_url: NotRequired[str] - r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] @@ -17951,11 +18159,11 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputGrafanaCloudGrafanaCloud2(BaseModel): - type: OutputResponseOutputGrafanaCloudType2 +class OutputResponseOutputLoki(BaseModel): + type: OutputResponseTypeLoki - prometheus_url: Annotated[str, pydantic.Field(alias="prometheusUrl")] - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + url: str + r"""The endpoint to send logs to""" id: Optional[str] = None r"""Unique ID for this output""" @@ -17966,7 +18174,7 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as labels to generated logs.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -17974,9 +18182,6 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - loki_url: Annotated[Optional[str], pydantic.Field(alias="lokiUrl")] = None - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" - message: Optional[str] = None r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" @@ -17988,31 +18193,23 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2(BaseModel): labels: Optional[List[HTTPDiscoveryHeaderConfInputPrometheus]] = None r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - metric_rename_expr: Annotated[ - Optional[str], pydantic.Field(alias="metricRenameExpr") - ] = None - r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - - prometheus_auth: Annotated[ - Optional[PrometheusAuthType], pydantic.Field(alias="prometheusAuth") - ] = None - - loki_auth: Annotated[ - Optional[PrometheusAuthType], pydantic.Field(alias="lokiAuth") + auth_type: Annotated[ + Optional[AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret], + pydantic.Field(alias="authType"), ] = None concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki to complain about entries being delivered out of order.""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum number of events to include in the request body. Defaults to 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -18028,7 +18225,7 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2(BaseModel): flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki to complain about entries being delivered out of order.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -18067,15 +18264,43 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2(BaseModel): ] = None r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" + enable_dynamic_headers: Annotated[ + Optional[bool], pydantic.Field(alias="enableDynamicHeaders") + ] = None + r"""Add per-event HTTP headers from the __headers field to outgoing requests. Events with different headers are batched and sent separately.""" + on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[bool] = None - r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" + r"""Compress the payload body before sending""" + + token: Optional[str] = None + r"""Bearer token to include in the authorization header. In Grafana Cloud, this is generally built by concatenating the username and the API key, separated by a colon. Example: :""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + + username: Optional[str] = None + r"""Username for authentication""" + + password: Optional[str] = None + r"""Password (API key in Grafana Cloud domain) for authentication""" + + credentials_secret: Annotated[ + Optional[str], pydantic.Field(alias="credentialsSecret") + ] = None + r"""Select or create a secret that references your credentials""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -18127,8 +18352,7 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponseOutputGrafanaCloudPqControls2], - pydantic.Field(alias="pqControls"), + Optional[OutputResponsePqControlsLoki], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -18136,16 +18360,6 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud2(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_loki_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_lokiUrl") - ] = None - r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" - - template_prometheus_url: Annotated[ - Optional[str], pydantic.Field(alias="__template_prometheusUrl") - ] = None - r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" - template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None @@ -18171,6 +18385,17 @@ def serialize_message_format(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationTypeOptionsPrometheusAuthBasicCredentialsSecret( + value + ) + except ValueError: + return value + return value + @field_serializer("failed_request_logging_mode") def serialize_failed_request_logging_mode(self, value): if isinstance(value, str): @@ -18225,13 +18450,10 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "lokiUrl", "message", "messageFormat", - "labels", - "metricRenameExpr", - "prometheusAuth", - "lokiAuth", + "labels", + "authType", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -18245,9 +18467,16 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", + "enableDynamicHeaders", "onBackpressure", + "totalMemoryLimitKB", "description", "compress", + "token", + "textSecret", + "username", + "password", + "credentialsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -18261,8 +18490,6 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", - "__template_lokiUrl", - "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", "notifications", @@ -18283,22 +18510,22 @@ def serialize_model(self, handler): return m -class OutputResponseOutputGrafanaCloudType1(str, Enum): +class OutputResponseOutputGrafanaCloudType2(str, Enum): GRAFANA_CLOUD = "grafana_cloud" -class OutputResponseOutputGrafanaCloudPqControls1TypedDict(TypedDict): +class OutputResponseOutputGrafanaCloudPqControls2TypedDict(TypedDict): pass -class OutputResponseOutputGrafanaCloudPqControls1(BaseModel): +class OutputResponseOutputGrafanaCloudPqControls2(BaseModel): pass -class OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): - type: OutputResponseOutputGrafanaCloudType1 - loki_url: str - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" +class OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict): + type: OutputResponseOutputGrafanaCloudType2 + prometheus_url: str + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -18309,8 +18536,8 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - prometheus_url: NotRequired[str] - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + loki_url: NotRequired[str] + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" message: NotRequired[str] r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" message_format: NotRequired[MessageFormatOptions] @@ -18354,6 +18581,7 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" compress: NotRequired[bool] r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: NotRequired[bool] @@ -18378,7 +18606,7 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponseOutputGrafanaCloudPqControls1TypedDict] + pq_controls: NotRequired[OutputResponseOutputGrafanaCloudPqControls2TypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_loki_url: NotRequired[str] @@ -18395,11 +18623,11 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputGrafanaCloudGrafanaCloud1(BaseModel): - type: OutputResponseOutputGrafanaCloudType1 +class OutputResponseOutputGrafanaCloudGrafanaCloud2(BaseModel): + type: OutputResponseOutputGrafanaCloudType2 - loki_url: Annotated[str, pydantic.Field(alias="lokiUrl")] - r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" + prometheus_url: Annotated[str, pydantic.Field(alias="prometheusUrl")] + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" id: Optional[str] = None r"""Unique ID for this output""" @@ -18418,10 +18646,8 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - prometheus_url: Annotated[Optional[str], pydantic.Field(alias="prometheusUrl")] = ( - None - ) - r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" + loki_url: Annotated[Optional[str], pydantic.Field(alias="lokiUrl")] = None + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" message: Optional[str] = None r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" @@ -18519,6 +18745,7 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" compress: Optional[bool] = None r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" @@ -18573,7 +18800,7 @@ class OutputResponseOutputGrafanaCloudGrafanaCloud1(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponseOutputGrafanaCloudPqControls1], + Optional[OutputResponseOutputGrafanaCloudPqControls2], pydantic.Field(alias="pqControls"), ] = None @@ -18671,7 +18898,7 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "prometheusUrl", + "lokiUrl", "message", "messageFormat", "labels", @@ -18729,127 +18956,50 @@ def serialize_model(self, handler): return m -OutputResponseOutputGrafanaCloudUnionTypedDict = TypeAliasType( - "OutputResponseOutputGrafanaCloudUnionTypedDict", - Union[ - OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict, - OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict, - ], -) - - -OutputResponseOutputGrafanaCloudUnion = TypeAliasType( - "OutputResponseOutputGrafanaCloudUnion", - Union[ - OutputResponseOutputGrafanaCloudGrafanaCloud1, - OutputResponseOutputGrafanaCloudGrafanaCloud2, - ], -) - - -class OutputResponseTypeDatadog(str, Enum): - DATADOG = "datadog" - - -class OutputResponseSendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The content type to use when sending logs""" - - # text/plain - TEXT = "text" - # application/json - JSON = "json" - - -class OutputResponseSeverityDatadog(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" - - # emergency - EMERGENCY = "emergency" - # alert - ALERT = "alert" - # critical - CRITICAL = "critical" - # error - ERROR = "error" - # warning - WARNING = "warning" - # notice - NOTICE = "notice" - # info - INFO = "info" - # debug - DEBUG = "debug" - - -class OutputResponseDatadogSite(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Datadog site to which events should be sent""" - - # US - US = "us" - # US3 - US3 = "us3" - # US5 - US5 = "us5" - # Europe - EU = "eu" - # US1-FED - FED1 = "fed1" - # AP1 - AP1 = "ap1" - # Custom - CUSTOM = "custom" +class OutputResponseOutputGrafanaCloudType1(str, Enum): + GRAFANA_CLOUD = "grafana_cloud" -class OutputResponsePqControlsDatadogTypedDict(TypedDict): +class OutputResponseOutputGrafanaCloudPqControls1TypedDict(TypedDict): pass -class OutputResponsePqControlsDatadog(BaseModel): +class OutputResponseOutputGrafanaCloudPqControls1(BaseModel): pass -class OutputResponseOutputDatadogTypedDict(TypedDict): - type: OutputResponseTypeDatadog +class OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict): + type: OutputResponseOutputGrafanaCloudType1 + loki_url: str + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] r"""Pipeline to process data before sending out to this output""" system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: NotRequired[str] r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - content_type: NotRequired[OutputResponseSendLogsAs] - r"""The content type to use when sending logs""" + prometheus_url: NotRequired[str] + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" message: NotRequired[str] r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - source: NotRequired[str] - r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" - host: NotRequired[str] - r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" - service: NotRequired[str] - r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" - tags: NotRequired[List[str]] - r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" - batch_by_tags: NotRequired[bool] - r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" - allow_api_key_from_events: NotRequired[bool] - r"""Allow API key to be set from the event's '__agent_api_key' field""" - severity: NotRequired[OutputResponseSeverityDatadog] - r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" - site: NotRequired[OutputResponseDatadogSite] - r"""Datadog site to which events should be sent""" - send_counters_as_count: NotRequired[bool] - r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" + message_format: NotRequired[MessageFormatOptions] + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" + labels: NotRequired[List[HTTPDiscoveryHeaderConfInputPrometheusTypedDict]] + r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" + metric_rename_expr: NotRequired[str] + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" + prometheus_auth: NotRequired[PrometheusAuthTypeTypedDict] + loki_auth: NotRequired[PrometheusAuthTypeTypedDict] concurrency: NotRequired[float] - r"""Maximum number of ongoing requests before blocking""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_size_kb: NotRequired[float] - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_events: NotRequired[float] - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - compress: NotRequired[bool] - r"""Compress the payload body before sending""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -18858,7 +19008,7 @@ class OutputResponseOutputDatadogTypedDict(TypedDict): timeout_sec: NotRequired[float] r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] r"""Headers to add to all events""" use_round_robin_dns: NotRequired[bool] @@ -18876,12 +19026,10 @@ class OutputResponseOutputDatadogTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" - auth_type: NotRequired[AuthenticationMethodOptionsAPI] - r"""Enter API key directly, or select a stored secret""" - total_memory_limit_kb: NotRequired[float] - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - custom_url: NotRequired[str] + r"""Optional description for this configuration.""" + compress: NotRequired[bool] + r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -18904,15 +19052,13 @@ class OutputResponseOutputDatadogTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsDatadogTypedDict] - api_key: NotRequired[str] - r"""Organization's API key in Datadog""" - text_secret: NotRequired[str] - r"""Select or create a stored text secret""" + pq_controls: NotRequired[OutputResponseOutputGrafanaCloudPqControls1TypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_tags: NotRequired[str] - r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" + template_loki_url: NotRequired[str] + r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" + template_prometheus_url: NotRequired[str] + r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] @@ -18923,8 +19069,11 @@ class OutputResponseOutputDatadogTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputDatadog(BaseModel): - type: OutputResponseTypeDatadog +class OutputResponseOutputGrafanaCloudGrafanaCloud1(BaseModel): + type: OutputResponseOutputGrafanaCloudType1 + + loki_url: Annotated[str, pydantic.Field(alias="lokiUrl")] + r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net""" id: Optional[str] = None r"""Unique ID for this output""" @@ -18935,7 +19084,7 @@ class OutputResponseOutputDatadog(BaseModel): system_fields: Annotated[ Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards. These fields are added as dimensions and labels to generated metrics and logs, respectively.""" environment: Optional[str] = None r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" @@ -18943,60 +19092,47 @@ class OutputResponseOutputDatadog(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - content_type: Annotated[ - Optional[OutputResponseSendLogsAs], pydantic.Field(alias="contentType") - ] = None - r"""The content type to use when sending logs""" + prometheus_url: Annotated[Optional[str], pydantic.Field(alias="prometheusUrl")] = ( + None + ) + r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push""" message: Optional[str] = None r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" - source: Optional[str] = None - r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" - - host: Optional[str] = None - r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" - - service: Optional[str] = None - r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" - - tags: Optional[List[str]] = None - r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" + message_format: Annotated[ + Optional[MessageFormatOptions], pydantic.Field(alias="messageFormat") + ] = None + r"""Format to use when sending logs to Loki (Protobuf or JSON)""" - batch_by_tags: Annotated[Optional[bool], pydantic.Field(alias="batchByTags")] = None - r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" + labels: Optional[List[HTTPDiscoveryHeaderConfInputPrometheus]] = None + r"""List of labels to send with logs. Labels define Loki streams, so use static labels to avoid proliferating label value combinations and streams. Can be merged and/or overridden by the event's __labels field. Example: '__labels: {host: \"cribl.io\", level: \"error\"}'""" - allow_api_key_from_events: Annotated[ - Optional[bool], pydantic.Field(alias="allowApiKeyFromEvents") + metric_rename_expr: Annotated[ + Optional[str], pydantic.Field(alias="metricRenameExpr") ] = None - r"""Allow API key to be set from the event's '__agent_api_key' field""" - - severity: Optional[OutputResponseSeverityDatadog] = None - r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + r"""JavaScript expression that can be used to rename metrics. For example, name.replace(/\./g, '_') will replace all '.' characters in a metric's name with the supported '_' character. Use the 'name' global variable to access the metric's name. You can access event fields' values via __e..""" - site: Optional[OutputResponseDatadogSite] = None - r"""Datadog site to which events should be sent""" + prometheus_auth: Annotated[ + Optional[PrometheusAuthType], pydantic.Field(alias="prometheusAuth") + ] = None - send_counters_as_count: Annotated[ - Optional[bool], pydantic.Field(alias="sendCountersAsCount") + loki_auth: Annotated[ + Optional[PrometheusAuthType], pydantic.Field(alias="lokiAuth") ] = None - r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" concurrency: Optional[float] = None - r"""Maximum number of ongoing requests before blocking""" + r"""Maximum number of ongoing requests before blocking. Warning: Setting this value > 1 can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_size_kb: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadSizeKB") ] = None - r"""Maximum size, in KB, of the request body""" + r"""Maximum size, in KB, of the request body. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" max_payload_events: Annotated[ Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" - - compress: Optional[bool] = None - r"""Compress the payload body before sending""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited). Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") @@ -19012,7 +19148,7 @@ class OutputResponseOutputDatadog(BaseModel): flush_period_sec: Annotated[ Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Maximum time between requests. Small values can reduce the payload size below the configured 'Max record size' and 'Max events per request'. Warning: Setting this too low can increase the number of ongoing requests (depending on the value of 'Request concurrency'); this can cause Loki and Prometheus to complain about entries being delivered out of order.""" extra_http_headers: Annotated[ Optional[List[ExtraHTTPHeaderConfInputElastic]], @@ -19056,19 +19192,11 @@ class OutputResponseOutputDatadog(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" - auth_type: Annotated[ - Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") - ] = None - r"""Enter API key directly, or select a stored secret""" - - total_memory_limit_kb: Annotated[ - Optional[float], pydantic.Field(alias="totalMemoryLimitKB") - ] = None - r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - description: Optional[str] = None + r"""Optional description for this configuration.""" - custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None + compress: Optional[bool] = None + r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -19120,24 +19248,24 @@ class OutputResponseOutputDatadog(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsDatadog], pydantic.Field(alias="pqControls") + Optional[OutputResponseOutputGrafanaCloudPqControls1], + pydantic.Field(alias="pqControls"), ] = None - api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None - r"""Organization's API key in Datadog""" - - text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None - r"""Select or create a stored text secret""" - template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_tags: Annotated[Optional[str], pydantic.Field(alias="__template_tags")] = ( - None - ) - r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" + template_loki_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_lokiUrl") + ] = None + r"""Binds 'lokiUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'lokiUrl' at runtime.""" + + template_prometheus_url: Annotated[ + Optional[str], pydantic.Field(alias="__template_prometheusUrl") + ] = None + r"""Binds 'prometheusUrl' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'prometheusUrl' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -19155,29 +19283,11 @@ class OutputResponseOutputDatadog(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("content_type") - def serialize_content_type(self, value): - if isinstance(value, str): - try: - return models.OutputResponseSendLogsAs(value) - except ValueError: - return value - return value - - @field_serializer("severity") - def serialize_severity(self, value): - if isinstance(value, str): - try: - return models.OutputResponseSeverityDatadog(value) - except ValueError: - return value - return value - - @field_serializer("site") - def serialize_site(self, value): + @field_serializer("message_format") + def serialize_message_format(self, value): if isinstance(value, str): try: - return models.OutputResponseDatadogSite(value) + return models.MessageFormatOptions(value) except ValueError: return value return value @@ -19200,15 +19310,6 @@ def serialize_on_backpressure(self, value): return value return value - @field_serializer("auth_type") - def serialize_auth_type(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsAPI(value) - except ValueError: - return value - return value - @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -19245,21 +19346,16 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "contentType", + "prometheusUrl", "message", - "source", - "host", - "service", - "tags", - "batchByTags", - "allowApiKeyFromEvents", - "severity", - "site", - "sendCountersAsCount", + "messageFormat", + "labels", + "metricRenameExpr", + "prometheusAuth", + "lokiAuth", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", - "compress", "rejectUnauthorized", "timeoutSec", "flushPeriodSec", @@ -19271,10 +19367,8 @@ def serialize_model(self, handler): "timeoutRetrySettings", "responseHonorRetryAfterHeader", "onBackpressure", - "authType", - "totalMemoryLimitKB", "description", - "customUrl", + "compress", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -19287,10 +19381,9 @@ def serialize_model(self, handler): "pqOnBackpressure", "pqMaxBufferSizeBytes", "pqControls", - "apiKey", - "textSecret", "__template_streamtags", - "__template_tags", + "__template_lokiUrl", + "__template_prometheusUrl", "__template_failedRequestLoggingMode", "__template_onBackpressure", "notifications", @@ -19311,31 +19404,87 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSumoLogic(str, Enum): - SUMO_LOGIC = "sumo_logic" +OutputResponseOutputGrafanaCloudUnionTypedDict = TypeAliasType( + "OutputResponseOutputGrafanaCloudUnionTypedDict", + Union[ + OutputResponseOutputGrafanaCloudGrafanaCloud1TypedDict, + OutputResponseOutputGrafanaCloudGrafanaCloud2TypedDict, + ], +) -class OutputResponseDataFormatSumoLogic(str, Enum, metaclass=utils.OpenEnumMeta): - r"""Preserve the raw event format instead of JSONifying it""" +OutputResponseOutputGrafanaCloudUnion = TypeAliasType( + "OutputResponseOutputGrafanaCloudUnion", + Union[ + OutputResponseOutputGrafanaCloudGrafanaCloud1, + OutputResponseOutputGrafanaCloudGrafanaCloud2, + ], +) - # JSON + +class OutputResponseTypeDatadog(str, Enum): + DATADOG = "datadog" + + +class OutputResponseSendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The content type to use when sending logs""" + + # text/plain + TEXT = "text" + # application/json JSON = "json" - # Raw - RAW = "raw" -class OutputResponsePqControlsSumoLogicTypedDict(TypedDict): +class OutputResponseSeverityDatadog(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + + # emergency + EMERGENCY = "emergency" + # alert + ALERT = "alert" + # critical + CRITICAL = "critical" + # error + ERROR = "error" + # warning + WARNING = "warning" + # notice + NOTICE = "notice" + # info + INFO = "info" + # debug + DEBUG = "debug" + + +class OutputResponseDatadogSite(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Datadog site to which events should be sent""" + + # US + US = "us" + # US3 + US3 = "us3" + # US5 + US5 = "us5" + # Europe + EU = "eu" + # US1-FED + FED1 = "fed1" + # AP1 + AP1 = "ap1" + # Custom + CUSTOM = "custom" + + +class OutputResponsePqControlsDatadogTypedDict(TypedDict): pass -class OutputResponsePqControlsSumoLogic(BaseModel): +class OutputResponsePqControlsDatadog(BaseModel): pass -class OutputResponseOutputSumoLogicTypedDict(TypedDict): - type: OutputResponseTypeSumoLogic - url: str - r"""Sumo Logic HTTP collector URL to which events should be sent""" +class OutputResponseOutputDatadogTypedDict(TypedDict): + type: OutputResponseTypeDatadog id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -19346,12 +19495,28 @@ class OutputResponseOutputSumoLogicTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - custom_source: NotRequired[str] - r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" - custom_category: NotRequired[str] - r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" - format_: NotRequired[OutputResponseDataFormatSumoLogic] - r"""Preserve the raw event format instead of JSONifying it""" + content_type: NotRequired[OutputResponseSendLogsAs] + r"""The content type to use when sending logs""" + message: NotRequired[str] + r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" + source: NotRequired[str] + r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" + host: NotRequired[str] + r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" + service: NotRequired[str] + r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" + tags: NotRequired[List[str]] + r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" + batch_by_tags: NotRequired[bool] + r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" + allow_api_key_from_events: NotRequired[bool] + r"""Allow API key to be set from the event's '__agent_api_key' field""" + severity: NotRequired[OutputResponseSeverityDatadog] + r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" + site: NotRequired[OutputResponseDatadogSite] + r"""Datadog site to which events should be sent""" + send_counters_as_count: NotRequired[bool] + r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" concurrency: NotRequired[float] r"""Maximum number of ongoing requests before blocking""" max_payload_size_kb: NotRequired[float] @@ -19386,9 +19551,13 @@ class OutputResponseOutputSumoLogicTypedDict(TypedDict): r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + auth_type: NotRequired[AuthenticationMethodOptionsAPI] + r"""Enter API key directly, or select a stored secret""" total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" + custom_url: NotRequired[str] pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -19411,11 +19580,15 @@ class OutputResponseOutputSumoLogicTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSumoLogicTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsDatadogTypedDict] + api_key: NotRequired[str] + r"""Organization's API key in Datadog""" + text_secret: NotRequired[str] + r"""Select or create a stored text secret""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: NotRequired[str] - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_tags: NotRequired[str] + r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" template_failed_request_logging_mode: NotRequired[str] r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] @@ -19426,11 +19599,8 @@ class OutputResponseOutputSumoLogicTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSumoLogic(BaseModel): - type: OutputResponseTypeSumoLogic - - url: str - r"""Sumo Logic HTTP collector URL to which events should be sent""" +class OutputResponseOutputDatadog(BaseModel): + type: OutputResponseTypeDatadog id: Optional[str] = None r"""Unique ID for this output""" @@ -19449,18 +19619,44 @@ class OutputResponseOutputSumoLogic(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - custom_source: Annotated[Optional[str], pydantic.Field(alias="customSource")] = None - r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" + content_type: Annotated[ + Optional[OutputResponseSendLogsAs], pydantic.Field(alias="contentType") + ] = None + r"""The content type to use when sending logs""" + + message: Optional[str] = None + r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event.""" + + source: Optional[str] = None + r"""Name of the source to send with logs. When you send logs as JSON objects, the event's 'source' field (if set) will override this value.""" + + host: Optional[str] = None + r"""Name of the host to send with logs. When you send logs as JSON objects, the event's 'host' field (if set) will override this value.""" + + service: Optional[str] = None + r"""Name of the service to send with logs. When you send logs as JSON objects, the event's '__service' field (if set) will override this value.""" + + tags: Optional[List[str]] = None + r"""List of tags to send with logs, such as 'env:prod' and 'env_staging:east'""" + + batch_by_tags: Annotated[Optional[bool], pydantic.Field(alias="batchByTags")] = None + r"""Batch events by API key and the ddtags field on the event. When disabled, batches events only by API key. If incoming events have high cardinality in the ddtags field, disabling this setting may improve Destination performance.""" + + allow_api_key_from_events: Annotated[ + Optional[bool], pydantic.Field(alias="allowApiKeyFromEvents") + ] = None + r"""Allow API key to be set from the event's '__agent_api_key' field""" + + severity: Optional[OutputResponseSeverityDatadog] = None + r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value.""" - custom_category: Annotated[ - Optional[str], pydantic.Field(alias="customCategory") - ] = None - r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" + site: Optional[OutputResponseDatadogSite] = None + r"""Datadog site to which events should be sent""" - format_: Annotated[ - Optional[OutputResponseDataFormatSumoLogic], pydantic.Field(alias="format") + send_counters_as_count: Annotated[ + Optional[bool], pydantic.Field(alias="sendCountersAsCount") ] = None - r"""Preserve the raw event format instead of JSONifying it""" + r"""If not enabled, Datadog will transform 'counter' metrics to 'gauge'. [Learn more about Datadog metrics types.](https://docs.datadoghq.com/metrics/types/?tab=count)""" concurrency: Optional[float] = None r"""Maximum number of ongoing requests before blocking""" @@ -19536,12 +19732,20 @@ class OutputResponseOutputSumoLogic(BaseModel): ] = None r"""How to handle events when all receivers are exerting backpressure""" + auth_type: Annotated[ + Optional[AuthenticationMethodOptionsAPI], pydantic.Field(alias="authType") + ] = None + r"""Enter API key directly, or select a stored secret""" + total_memory_limit_kb: Annotated[ Optional[float], pydantic.Field(alias="totalMemoryLimitKB") ] = None r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" + + custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -19593,18 +19797,24 @@ class OutputResponseOutputSumoLogic(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsSumoLogic], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsDatadog], pydantic.Field(alias="pqControls") ] = None + api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None + r"""Organization's API key in Datadog""" + + text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None + r"""Select or create a stored text secret""" + template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + template_tags: Annotated[Optional[str], pydantic.Field(alias="__template_tags")] = ( None ) - r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + r"""Binds 'tags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'tags' at runtime.""" template_failed_request_logging_mode: Annotated[ Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") @@ -19622,11 +19832,29 @@ class OutputResponseOutputSumoLogic(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("format_") - def serialize_format_(self, value): + @field_serializer("content_type") + def serialize_content_type(self, value): if isinstance(value, str): try: - return models.OutputResponseDataFormatSumoLogic(value) + return models.OutputResponseSendLogsAs(value) + except ValueError: + return value + return value + + @field_serializer("severity") + def serialize_severity(self, value): + if isinstance(value, str): + try: + return models.OutputResponseSeverityDatadog(value) + except ValueError: + return value + return value + + @field_serializer("site") + def serialize_site(self, value): + if isinstance(value, str): + try: + return models.OutputResponseDatadogSite(value) except ValueError: return value return value @@ -19649,6 +19877,15 @@ def serialize_on_backpressure(self, value): return value return value + @field_serializer("auth_type") + def serialize_auth_type(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsAPI(value) + except ValueError: + return value + return value + @field_serializer("pq_mode") def serialize_pq_mode(self, value): if isinstance(value, str): @@ -19685,9 +19922,17 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "customSource", - "customCategory", - "format", + "contentType", + "message", + "source", + "host", + "service", + "tags", + "batchByTags", + "allowApiKeyFromEvents", + "severity", + "site", + "sendCountersAsCount", "concurrency", "maxPayloadSizeKB", "maxPayloadEvents", @@ -19702,186 +19947,29 @@ def serialize_model(self, handler): "responseRetrySettings", "timeoutRetrySettings", "responseHonorRetryAfterHeader", - "onBackpressure", - "totalMemoryLimitKB", - "description", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_url", - "__template_failedRequestLoggingMode", - "__template_onBackpressure", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseTypeSnmp(str, Enum): - SNMP = "snmp" - - -class OutputResponseHostSnmpTypedDict(TypedDict): - host: str - r"""Destination host""" - port: float - r"""Destination port, default is 162""" - template_host: NotRequired[str] - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - template_port: NotRequired[str] - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - - -class OutputResponseHostSnmp(BaseModel): - host: str - r"""Destination host""" - - port: float - r"""Destination port, default is 162""" - - template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( - None - ) - r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" - - template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( - None - ) - r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["__template_host", "__template_port"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseOutputSnmpTypedDict(TypedDict): - type: OutputResponseTypeSnmp - hosts: List[OutputResponseHostSnmpTypedDict] - r"""One or more SNMP destinations to forward traps to""" - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" - enable_ip_spoofing: NotRequired[bool] - r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - description: NotRequired[str] - max_record_size: NotRequired[float] - r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - -class OutputResponseOutputSnmp(BaseModel): - type: OutputResponseTypeSnmp - - hosts: List[OutputResponseHostSnmp] - r"""One or more SNMP destinations to forward traps to""" - - id: Optional[str] = None - r"""Unique ID for this output""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") - ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" - - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" - - enable_ip_spoofing: Annotated[ - Optional[bool], pydantic.Field(alias="enableIpSpoofing") - ] = None - r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - - description: Optional[str] = None - - max_record_size: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSize") - ] = None - r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" - - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") - ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" - - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "dnsResolvePeriodSec", - "enableIpSpoofing", + "onBackpressure", + "authType", + "totalMemoryLimitKB", "description", - "maxRecordSize", + "customUrl", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "apiKey", + "textSecret", "__template_streamtags", + "__template_tags", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", "notifications", "status", ] @@ -19900,33 +19988,31 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSqs(str, Enum): - SQS = "sqs" +class OutputResponseTypeSumoLogic(str, Enum): + SUMO_LOGIC = "sumo_logic" -class OutputResponseQueueType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The queue type used (or created). Defaults to Standard.""" +class OutputResponseDataFormatSumoLogic(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Preserve the raw event format instead of JSONifying it""" - # Standard - STANDARD = "standard" - # FIFO - FIFO = "fifo" + # JSON + JSON = "json" + # Raw + RAW = "raw" -class OutputResponsePqControlsSqsTypedDict(TypedDict): +class OutputResponsePqControlsSumoLogicTypedDict(TypedDict): pass -class OutputResponsePqControlsSqs(BaseModel): +class OutputResponsePqControlsSumoLogic(BaseModel): pass -class OutputResponseOutputSqsTypedDict(TypedDict): - type: OutputResponseTypeSqs - queue_name: str - r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" - queue_type: OutputResponseQueueType - r"""The queue type used (or created). Defaults to Standard.""" +class OutputResponseOutputSumoLogicTypedDict(TypedDict): + type: OutputResponseTypeSumoLogic + url: str + r"""Sumo Logic HTTP collector URL to which events should be sent""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -19937,45 +20023,50 @@ class OutputResponseOutputSqsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - aws_account_id: NotRequired[str] - r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" - message_group_id: NotRequired[str] - r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" - create_queue: NotRequired[bool] - r"""Create queue if it does not exist.""" - aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] - r"""AWS authentication method. Choose Auto to use IAM roles.""" - aws_secret_key: NotRequired[str] - region: NotRequired[str] - r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" - endpoint: NotRequired[str] - r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" - reuse_connections: NotRequired[bool] - r"""Reuse connections between requests, which can improve performance""" + custom_source: NotRequired[str] + r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" + custom_category: NotRequired[str] + r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" + format_: NotRequired[OutputResponseDataFormatSumoLogic] + r"""Preserve the raw event format instead of JSONifying it""" + concurrency: NotRequired[float] + r"""Maximum number of ongoing requests before blocking""" + max_payload_size_kb: NotRequired[float] + r"""Maximum size, in KB, of the request body""" + max_payload_events: NotRequired[float] + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + compress: NotRequired[bool] + r"""Compress the payload body before sending""" reject_unauthorized: NotRequired[bool] - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" - enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access SQS""" - assume_role_arn: NotRequired[str] - r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: NotRequired[str] - r"""External ID to use when assuming role""" - duration_seconds: NotRequired[float] - 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).""" - max_queue_size: NotRequired[float] - r"""Maximum number of queued batches before blocking.""" - max_record_size_kb: NotRequired[float] - r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ + timeout_sec: NotRequired[float] + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" flush_period_sec: NotRequired[float] - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - max_in_progress: NotRequired[float] - r"""The maximum number of in-progress API requests before backpressure is applied.""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" + extra_http_headers: NotRequired[List[ExtraHTTPHeaderConfInputElasticTypedDict]] + r"""Headers to add to all events""" + use_round_robin_dns: NotRequired[bool] + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" + failed_request_logging_mode: NotRequired[FailedRequestLoggingModeOptions] + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" + safe_headers: NotRequired[List[str]] + r"""List of headers that are safe to log in plain text""" + response_retry_settings: NotRequired[ + List[ResponseRetrySettingConfOutputWebhookTypedDict] + ] + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" + timeout_retry_settings: NotRequired[TimeoutRetrySettingsTypeTypedDict] + response_honor_retry_after_header: NotRequired[bool] + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + total_memory_limit_kb: NotRequired[float] + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] - aws_api_key: NotRequired[str] - aws_secret: NotRequired[str] - r"""Select or create a stored secret that references your access key and secret key""" + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -19998,45 +20089,26 @@ class OutputResponseOutputSqsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSqsTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsSumoLogicTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_queue_name: NotRequired[str] - r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" - template_queue_type: NotRequired[str] - r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" - template_aws_account_id: NotRequired[str] - r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" - template_message_group_id: NotRequired[str] - r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" - template_aws_secret_key: NotRequired[str] - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" - template_region: NotRequired[str] - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" - template_endpoint: NotRequired[str] - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - template_assume_role_arn: NotRequired[str] - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - template_assume_role_external_id: NotRequired[str] - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_url: NotRequired[str] + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" + template_failed_request_logging_mode: NotRequired[str] + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_aws_api_key: NotRequired[str] - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSqs(BaseModel): - type: OutputResponseTypeSqs - - queue_name: Annotated[str, pydantic.Field(alias="queueName")] - r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" +class OutputResponseOutputSumoLogic(BaseModel): + type: OutputResponseTypeSumoLogic - queue_type: Annotated[OutputResponseQueueType, pydantic.Field(alias="queueType")] - r"""The queue type used (or created). Defaults to Standard.""" + url: str + r"""Sumo Logic HTTP collector URL to which events should be sent""" id: Optional[str] = None r"""Unique ID for this output""" @@ -20055,96 +20127,100 @@ class OutputResponseOutputSqs(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - aws_account_id: Annotated[Optional[str], pydantic.Field(alias="awsAccountId")] = ( - None - ) - r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" + custom_source: Annotated[Optional[str], pydantic.Field(alias="customSource")] = None + r"""Override the source name configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceName field.""" - message_group_id: Annotated[ - Optional[str], pydantic.Field(alias="messageGroupId") + custom_category: Annotated[ + Optional[str], pydantic.Field(alias="customCategory") ] = None - r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" - - create_queue: Annotated[Optional[bool], pydantic.Field(alias="createQueue")] = None - r"""Create queue if it does not exist.""" + r"""Override the source category configured on the Sumo Logic HTTP collector. This can also be overridden at the event level with the __sourceCategory field.""" - aws_authentication_method: Annotated[ - Optional[AuthenticationMethodOptionsS3CollectorConf], - pydantic.Field(alias="awsAuthenticationMethod"), + format_: Annotated[ + Optional[OutputResponseDataFormatSumoLogic], pydantic.Field(alias="format") ] = None - r"""AWS authentication method. Choose Auto to use IAM roles.""" - - aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( - None - ) + r"""Preserve the raw event format instead of JSONifying it""" - region: Optional[str] = None - r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" + concurrency: Optional[float] = None + r"""Maximum number of ongoing requests before blocking""" - endpoint: Optional[str] = None - r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" + max_payload_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadSizeKB") + ] = None + r"""Maximum size, in KB, of the request body""" - reuse_connections: Annotated[ - Optional[bool], pydantic.Field(alias="reuseConnections") + max_payload_events: Annotated[ + Optional[float], pydantic.Field(alias="maxPayloadEvents") ] = None - r"""Reuse connections between requests, which can improve performance""" + r"""Maximum number of events to include in the request body. Default is 0 (unlimited).""" + + compress: Optional[bool] = None + r"""Compress the payload body before sending""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). + Enabled by default. When this setting is also present in TLS Settings (Client Side), + that value will take precedence. + """ - enable_assume_role: Annotated[ - Optional[bool], pydantic.Field(alias="enableAssumeRole") + timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = None + r"""Amount of time, in seconds, to wait for a request to complete before canceling it""" + + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - r"""Use Assume Role credentials to access SQS""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit.""" - assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( - None - ) - r"""Amazon Resource Name (ARN) of the role to assume""" + extra_http_headers: Annotated[ + Optional[List[ExtraHTTPHeaderConfInputElastic]], + pydantic.Field(alias="extraHttpHeaders"), + ] = None + r"""Headers to add to all events""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") + use_round_robin_dns: Annotated[ + Optional[bool], pydantic.Field(alias="useRoundRobinDns") ] = None - r"""External ID to use when assuming role""" + r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations.""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + failed_request_logging_mode: Annotated[ + Optional[FailedRequestLoggingModeOptions], + pydantic.Field(alias="failedRequestLoggingMode"), ] = None - 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).""" + r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below.""" - max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( - None - ) - r"""Maximum number of queued batches before blocking.""" + safe_headers: Annotated[ + Optional[List[str]], pydantic.Field(alias="safeHeaders") + ] = None + r"""List of headers that are safe to log in plain text""" - max_record_size_kb: Annotated[ - Optional[float], pydantic.Field(alias="maxRecordSizeKB") + response_retry_settings: Annotated[ + Optional[List[ResponseRetrySettingConfOutputWebhook]], + pydantic.Field(alias="responseRetrySettings"), ] = None - r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + r"""Automatically retry after unsuccessful response status codes, such as 429 (Too Many Requests) or 503 (Service Unavailable)""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + timeout_retry_settings: Annotated[ + Optional[TimeoutRetrySettingsType], pydantic.Field(alias="timeoutRetrySettings") ] = None - r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" - max_in_progress: Annotated[ - Optional[float], pydantic.Field(alias="maxInProgress") + response_honor_retry_after_header: Annotated[ + Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader") ] = None - r"""The maximum number of in-progress API requests before backpressure is applied.""" + r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" - description: Optional[str] = None - - aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + total_memory_limit_kb: Annotated[ + Optional[float], pydantic.Field(alias="totalMemoryLimitKB") + ] = None + r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" - aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None - r"""Select or create a stored secret that references your access key and secret key""" + description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") @@ -20196,7 +20272,7 @@ class OutputResponseOutputSqs(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsSqs], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsSumoLogic], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -20204,60 +20280,268 @@ class OutputResponseOutputSqs(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_queue_name: Annotated[ - Optional[str], pydantic.Field(alias="__template_queueName") - ] = None - r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" + template_url: Annotated[Optional[str], pydantic.Field(alias="__template_url")] = ( + None + ) + r"""Binds 'url' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'url' at runtime.""" - template_queue_type: Annotated[ - Optional[str], pydantic.Field(alias="__template_queueType") + template_failed_request_logging_mode: Annotated[ + Optional[str], pydantic.Field(alias="__template_failedRequestLoggingMode") ] = None - r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" + r"""Binds 'failedRequestLoggingMode' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'failedRequestLoggingMode' at runtime.""" - template_aws_account_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsAccountId") + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None - r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" + + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + @field_serializer("format_") + def serialize_format_(self, value): + if isinstance(value, str): + try: + return models.OutputResponseDataFormatSumoLogic(value) + except ValueError: + return value + return value + + @field_serializer("failed_request_logging_mode") + def serialize_failed_request_logging_mode(self, value): + if isinstance(value, str): + try: + return models.FailedRequestLoggingModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "customSource", + "customCategory", + "format", + "concurrency", + "maxPayloadSizeKB", + "maxPayloadEvents", + "compress", + "rejectUnauthorized", + "timeoutSec", + "flushPeriodSec", + "extraHttpHeaders", + "useRoundRobinDns", + "failedRequestLoggingMode", + "safeHeaders", + "responseRetrySettings", + "timeoutRetrySettings", + "responseHonorRetryAfterHeader", + "onBackpressure", + "totalMemoryLimitKB", + "description", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", + "__template_streamtags", + "__template_url", + "__template_failedRequestLoggingMode", + "__template_onBackpressure", + "notifications", + "status", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseTypeSnmp(str, Enum): + SNMP = "snmp" + + +class OutputResponseHostSnmpTypedDict(TypedDict): + host: str + r"""Destination host""" + port: float + r"""Destination port, default is 162""" + template_host: NotRequired[str] + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + template_port: NotRequired[str] + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + + +class OutputResponseHostSnmp(BaseModel): + host: str + r"""Destination host""" + + port: float + r"""Destination port, default is 162""" + + template_host: Annotated[Optional[str], pydantic.Field(alias="__template_host")] = ( + None + ) + r"""Binds 'host' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'host' at runtime.""" + + template_port: Annotated[Optional[str], pydantic.Field(alias="__template_port")] = ( + None + ) + r"""Binds 'port' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'port' at runtime.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["__template_host", "__template_port"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseOutputSnmpTypedDict(TypedDict): + type: OutputResponseTypeSnmp + hosts: List[OutputResponseHostSnmpTypedDict] + r"""One or more SNMP destinations to forward traps to""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + dns_resolve_period_sec: NotRequired[float] + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" + enable_ip_spoofing: NotRequired[bool] + r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + max_record_size: NotRequired[float] + r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + +class OutputResponseOutputSnmp(BaseModel): + type: OutputResponseTypeSnmp + + hosts: List[OutputResponseHostSnmp] + r"""One or more SNMP destinations to forward traps to""" + + id: Optional[str] = None + r"""Unique ID for this output""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" - template_message_group_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_messageGroupId") + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") ] = None - r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - template_aws_secret_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsSecretKey") - ] = None - r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - template_region: Annotated[ - Optional[str], pydantic.Field(alias="__template_region") - ] = None - r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" - template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") + dns_resolve_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every trap sent will incur a DNS lookup.""" - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + enable_ip_spoofing: Annotated[ + Optional[bool], pydantic.Field(alias="enableIpSpoofing") ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + description: Optional[str] = None + r"""Optional description for this configuration.""" - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") + max_record_size: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSize") ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -20265,60 +20549,6 @@ class OutputResponseOutputSqs(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("queue_type") - def serialize_queue_type(self, value): - if isinstance(value, str): - try: - return models.OutputResponseQueueType(value) - except ValueError: - return value - return value - - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -20328,51 +20558,11 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "awsAccountId", - "messageGroupId", - "createQueue", - "awsAuthenticationMethod", - "awsSecretKey", - "region", - "endpoint", - "reuseConnections", - "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "maxQueueSize", - "maxRecordSizeKB", - "flushPeriodSec", - "maxInProgress", - "onBackpressure", + "dnsResolvePeriodSec", + "enableIpSpoofing", "description", - "awsApiKey", - "awsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", + "maxRecordSize", "__template_streamtags", - "__template_queueName", - "__template_queueType", - "__template_awsAccountId", - "__template_messageGroupId", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_onBackpressure", - "__template_awsApiKey", "notifications", "status", ] @@ -20391,24 +20581,33 @@ def serialize_model(self, handler): return m -class OutputResponseTypeSns(str, Enum): - SNS = "sns" +class OutputResponseTypeSqs(str, Enum): + SQS = "sqs" -class OutputResponsePqControlsSnsTypedDict(TypedDict): +class OutputResponseQueueType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The queue type used (or created). Defaults to Standard.""" + + # Standard + STANDARD = "standard" + # FIFO + FIFO = "fifo" + + +class OutputResponsePqControlsSqsTypedDict(TypedDict): pass -class OutputResponsePqControlsSns(BaseModel): +class OutputResponsePqControlsSqs(BaseModel): pass -class OutputResponseOutputSnsTypedDict(TypedDict): - type: OutputResponseTypeSns - topic_arn: str - r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" - message_group_id: str - r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" +class OutputResponseOutputSqsTypedDict(TypedDict): + type: OutputResponseTypeSqs + queue_name: str + r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" + queue_type: OutputResponseQueueType + r"""The queue type used (or created). Defaults to Standard.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -20419,30 +20618,43 @@ class OutputResponseOutputSnsTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - max_retries: NotRequired[float] - r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" + aws_account_id: NotRequired[str] + r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" + message_group_id: NotRequired[str] + r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" + create_queue: NotRequired[bool] + r"""Create queue if it does not exist.""" aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] r"""AWS authentication method. Choose Auto to use IAM roles.""" aws_secret_key: NotRequired[str] region: NotRequired[str] - r"""Region where the SNS is located""" + r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" endpoint: NotRequired[str] - r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" reuse_connections: NotRequired[bool] r"""Reuse connections between requests, which can improve performance""" reject_unauthorized: NotRequired[bool] r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" enable_assume_role: NotRequired[bool] - r"""Use Assume Role credentials to access SNS""" + r"""Use Assume Role credentials to access SQS""" assume_role_arn: NotRequired[str] r"""Amazon Resource Name (ARN) of the role to assume""" assume_role_external_id: NotRequired[str] r"""External ID to use when assuming role""" duration_seconds: NotRequired[float] 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).""" + max_queue_size: NotRequired[float] + r"""Maximum number of queued batches before blocking.""" + max_record_size_kb: NotRequired[float] + r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" + flush_period_sec: NotRequired[float] + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + max_in_progress: NotRequired[float] + r"""The maximum number of in-progress API requests before backpressure is applied.""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -20468,11 +20680,15 @@ class OutputResponseOutputSnsTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsSnsTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsSqsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_arn: NotRequired[str] - r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + template_queue_name: NotRequired[str] + r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" + template_queue_type: NotRequired[str] + r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" + template_aws_account_id: NotRequired[str] + r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" template_message_group_id: NotRequired[str] r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" template_aws_secret_key: NotRequired[str] @@ -20495,14 +20711,14 @@ class OutputResponseOutputSnsTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputSns(BaseModel): - type: OutputResponseTypeSns +class OutputResponseOutputSqs(BaseModel): + type: OutputResponseTypeSqs - topic_arn: Annotated[str, pydantic.Field(alias="topicArn")] - r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" + queue_name: Annotated[str, pydantic.Field(alias="queueName")] + r"""The name, URL, or ARN of the SQS queue to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. Example: 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" - message_group_id: Annotated[str, pydantic.Field(alias="messageGroupId")] - r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" + queue_type: Annotated[OutputResponseQueueType, pydantic.Field(alias="queueType")] + r"""The queue type used (or created). Defaults to Standard.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -20521,8 +20737,18 @@ class OutputResponseOutputSns(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None - r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" + aws_account_id: Annotated[Optional[str], pydantic.Field(alias="awsAccountId")] = ( + None + ) + r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account.""" + + message_group_id: Annotated[ + Optional[str], pydantic.Field(alias="messageGroupId") + ] = None + r"""This parameter applies only to FIFO queues. The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner. Use event field __messageGroupId to override this value.""" + + create_queue: Annotated[Optional[bool], pydantic.Field(alias="createQueue")] = None + r"""Create queue if it does not exist.""" aws_authentication_method: Annotated[ Optional[AuthenticationMethodOptionsS3CollectorConf], @@ -20535,10 +20761,10 @@ class OutputResponseOutputSns(BaseModel): ) region: Optional[str] = None - r"""Region where the SNS is located""" + r"""AWS Region where the SQS queue is located. Required, unless the Queue entry is a URL or ARN that includes a Region.""" endpoint: Optional[str] = None - r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint.""" reuse_connections: Annotated[ Optional[bool], pydantic.Field(alias="reuseConnections") @@ -20553,22 +20779,42 @@ class OutputResponseOutputSns(BaseModel): enable_assume_role: Annotated[ Optional[bool], pydantic.Field(alias="enableAssumeRole") ] = None - r"""Use Assume Role credentials to access SNS""" + r"""Use Assume Role credentials to access SQS""" assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( None ) r"""Amazon Resource Name (ARN) of the role to assume""" - assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="assumeRoleExternalId") + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" + + max_queue_size: Annotated[Optional[float], pydantic.Field(alias="maxQueueSize")] = ( + None + ) + r"""Maximum number of queued batches before blocking.""" + + max_record_size_kb: Annotated[ + Optional[float], pydantic.Field(alias="maxRecordSizeKB") ] = None - r"""External ID to use when assuming role""" + r"""Maximum size (KB) of batches to send. Per the SQS spec, the max allowed value is 256 KB.""" - duration_seconds: Annotated[ - Optional[float], pydantic.Field(alias="durationSeconds") + flush_period_sec: Annotated[ + Optional[float], pydantic.Field(alias="flushPeriodSec") ] = None - 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).""" + r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size.""" + + max_in_progress: Annotated[ + Optional[float], pydantic.Field(alias="maxInProgress") + ] = None + r"""The maximum number of in-progress API requests before backpressure is applied.""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") @@ -20576,6 +20822,7 @@ class OutputResponseOutputSns(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None @@ -20632,7 +20879,7 @@ class OutputResponseOutputSns(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsSns], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsSqs], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -20640,10 +20887,20 @@ class OutputResponseOutputSns(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - template_topic_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_topicArn") + template_queue_name: Annotated[ + Optional[str], pydantic.Field(alias="__template_queueName") ] = None - r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + r"""Binds 'queueName' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueName' at runtime.""" + + template_queue_type: Annotated[ + Optional[str], pydantic.Field(alias="__template_queueType") + ] = None + r"""Binds 'queueType' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'queueType' at runtime.""" + + template_aws_account_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsAccountId") + ] = None + r"""Binds 'awsAccountId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsAccountId' at runtime.""" template_message_group_id: Annotated[ Optional[str], pydantic.Field(alias="__template_messageGroupId") @@ -20661,242 +20918,29 @@ class OutputResponseOutputSns(BaseModel): r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" template_endpoint: Annotated[ - Optional[str], pydantic.Field(alias="__template_endpoint") - ] = None - r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - - template_assume_role_arn: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleArn") - ] = None - r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - - template_assume_role_external_id: Annotated[ - Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") - ] = None - r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - - template_on_backpressure: Annotated[ - Optional[str], pydantic.Field(alias="__template_onBackpressure") - ] = None - r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - - template_aws_api_key: Annotated[ - Optional[str], pydantic.Field(alias="__template_awsApiKey") - ] = None - r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" - - notifications: Optional[List[NotificationUnion]] = None - r"""Notifications attached to the Destination.""" - - status: Optional[StatusType] = None - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - @field_serializer("aws_authentication_method") - def serialize_aws_authentication_method(self, value): - if isinstance(value, str): - try: - return models.AuthenticationMethodOptionsS3CollectorConf(value) - except ValueError: - return value - return value - - @field_serializer("on_backpressure") - def serialize_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.BackpressureBehaviorOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_mode") - def serialize_pq_mode(self, value): - if isinstance(value, str): - try: - return models.ModeOptions(value) - except ValueError: - return value - return value - - @field_serializer("pq_compress") - def serialize_pq_compress(self, value): - if isinstance(value, str): - try: - return models.CompressionOptionsPq(value) - except ValueError: - return value - return value - - @field_serializer("pq_on_backpressure") - def serialize_pq_on_backpressure(self, value): - if isinstance(value, str): - try: - return models.QueueFullBehaviorOptions(value) - except ValueError: - return value - return value - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set( - [ - "id", - "pipeline", - "systemFields", - "environment", - "streamtags", - "maxRetries", - "awsAuthenticationMethod", - "awsSecretKey", - "region", - "endpoint", - "reuseConnections", - "rejectUnauthorized", - "enableAssumeRole", - "assumeRoleArn", - "assumeRoleExternalId", - "durationSeconds", - "onBackpressure", - "description", - "awsApiKey", - "awsSecret", - "pqStrictOrdering", - "pqRatePerSec", - "pqMode", - "pqMaxBufferSize", - "pqMaxBackpressureSec", - "pqMaxFileSize", - "pqMaxSize", - "pqPath", - "pqCompress", - "pqOnBackpressure", - "pqMaxBufferSizeBytes", - "pqControls", - "__template_streamtags", - "__template_topicArn", - "__template_messageGroupId", - "__template_awsSecretKey", - "__template_region", - "__template_endpoint", - "__template_assumeRoleArn", - "__template_assumeRoleExternalId", - "__template_onBackpressure", - "__template_awsApiKey", - "notifications", - "status", - ] - ) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseTypeRouter(str, Enum): - ROUTER = "router" - - -class OutputResponseRuleTypedDict(TypedDict): - filter_: str - r"""JavaScript expression to select events to send to output""" - output: str - r"""Output to send matching events to""" - description: NotRequired[str] - r"""Description of this rule's purpose""" - final: NotRequired[bool] - r"""Flag to control whether to stop the event from being checked against other rules""" - - -class OutputResponseRule(BaseModel): - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""JavaScript expression to select events to send to output""" - - output: str - r"""Output to send matching events to""" - - description: Optional[str] = None - r"""Description of this rule's purpose""" - - final: Optional[bool] = None - r"""Flag to control whether to stop the event from being checked against other rules""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["description", "final"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class OutputResponseOutputRouterTypedDict(TypedDict): - type: OutputResponseTypeRouter - rules: List[OutputResponseRuleTypedDict] - r"""Event routing rules""" - id: NotRequired[str] - r"""Unique ID for this output""" - pipeline: NotRequired[str] - r"""Pipeline to process data before sending out to this output""" - system_fields: NotRequired[List[str]] - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" - environment: NotRequired[str] - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" - streamtags: NotRequired[List[str]] - r"""Tags for filtering and grouping in @{product}""" - description: NotRequired[str] - template_streamtags: NotRequired[str] - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" - notifications: NotRequired[List[NotificationUnionTypedDict]] - r"""Notifications attached to the Destination.""" - status: NotRequired[StatusTypeTypedDict] - r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - - -class OutputResponseOutputRouter(BaseModel): - type: OutputResponseTypeRouter - - rules: List[OutputResponseRule] - r"""Event routing rules""" - - id: Optional[str] = None - r"""Unique ID for this output""" - - pipeline: Optional[str] = None - r"""Pipeline to process data before sending out to this output""" - - system_fields: Annotated[ - Optional[List[str]], pydantic.Field(alias="systemFields") + Optional[str], pydantic.Field(alias="__template_endpoint") ] = None - r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" - environment: Optional[str] = None - r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" - streamtags: Optional[List[str]] = None - r"""Tags for filtering and grouping in @{product}""" + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" - description: Optional[str] = None + template_on_backpressure: Annotated[ + Optional[str], pydantic.Field(alias="__template_onBackpressure") + ] = None + r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" - template_streamtags: Annotated[ - Optional[str], pydantic.Field(alias="__template_streamtags") + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") ] = None - r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" @@ -20904,6 +20948,60 @@ class OutputResponseOutputRouter(BaseModel): status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + @field_serializer("queue_type") + def serialize_queue_type(self, value): + if isinstance(value, str): + try: + return models.OutputResponseQueueType(value) + except ValueError: + return value + return value + + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): + if isinstance(value, str): + try: + return models.AuthenticationMethodOptionsS3CollectorConf(value) + except ValueError: + return value + return value + + @field_serializer("on_backpressure") + def serialize_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.BackpressureBehaviorOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_mode") + def serialize_pq_mode(self, value): + if isinstance(value, str): + try: + return models.ModeOptions(value) + except ValueError: + return value + return value + + @field_serializer("pq_compress") + def serialize_pq_compress(self, value): + if isinstance(value, str): + try: + return models.CompressionOptionsPq(value) + except ValueError: + return value + return value + + @field_serializer("pq_on_backpressure") + def serialize_pq_on_backpressure(self, value): + if isinstance(value, str): + try: + return models.QueueFullBehaviorOptions(value) + except ValueError: + return value + return value + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -20913,8 +21011,51 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", + "awsAccountId", + "messageGroupId", + "createQueue", + "awsAuthenticationMethod", + "awsSecretKey", + "region", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", + "maxQueueSize", + "maxRecordSizeKB", + "flushPeriodSec", + "maxInProgress", + "onBackpressure", "description", + "awsApiKey", + "awsSecret", + "pqStrictOrdering", + "pqRatePerSec", + "pqMode", + "pqMaxBufferSize", + "pqMaxBackpressureSec", + "pqMaxFileSize", + "pqMaxSize", + "pqPath", + "pqCompress", + "pqOnBackpressure", + "pqMaxBufferSizeBytes", + "pqControls", "__template_streamtags", + "__template_queueName", + "__template_queueType", + "__template_awsAccountId", + "__template_messageGroupId", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", + "__template_onBackpressure", + "__template_awsApiKey", "notifications", "status", ] @@ -20933,26 +21074,24 @@ def serialize_model(self, handler): return m -class OutputResponseTypeGraphite(str, Enum): - GRAPHITE = "graphite" +class OutputResponseTypeSns(str, Enum): + SNS = "sns" -class OutputResponsePqControlsGraphiteTypedDict(TypedDict): +class OutputResponsePqControlsSnsTypedDict(TypedDict): pass -class OutputResponsePqControlsGraphite(BaseModel): +class OutputResponsePqControlsSns(BaseModel): pass -class OutputResponseOutputGraphiteTypedDict(TypedDict): - type: OutputResponseTypeGraphite - protocol: DestinationProtocolOptions - r"""Protocol to use when communicating with the destination.""" - host: str - r"""The hostname of the destination.""" - port: float - r"""Destination port.""" +class OutputResponseOutputSnsTypedDict(TypedDict): + type: OutputResponseTypeSns + topic_arn: str + r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" + message_group_id: str + r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" id: NotRequired[str] r"""Unique ID for this output""" pipeline: NotRequired[str] @@ -20963,21 +21102,34 @@ class OutputResponseOutputGraphiteTypedDict(TypedDict): r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" - mtu: NotRequired[float] - r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" - flush_period_sec: NotRequired[float] - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" - dns_resolve_period_sec: NotRequired[float] - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" - description: NotRequired[str] - throttle_rate_per_sec: NotRequired[str] - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" - connection_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" - write_timeout: NotRequired[float] - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + max_retries: NotRequired[float] + r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" + aws_authentication_method: NotRequired[AuthenticationMethodOptionsS3CollectorConf] + r"""AWS authentication method. Choose Auto to use IAM roles.""" + aws_secret_key: NotRequired[str] + region: NotRequired[str] + r"""Region where the SNS is located""" + endpoint: NotRequired[str] + r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + reuse_connections: NotRequired[bool] + r"""Reuse connections between requests, which can improve performance""" + reject_unauthorized: NotRequired[bool] + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + enable_assume_role: NotRequired[bool] + r"""Use Assume Role credentials to access SNS""" + assume_role_arn: NotRequired[str] + r"""Amazon Resource Name (ARN) of the role to assume""" + assume_role_external_id: NotRequired[str] + r"""External ID to use when assuming role""" + duration_seconds: NotRequired[float] + 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).""" on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + aws_api_key: NotRequired[str] + aws_secret: NotRequired[str] + r"""Select or create a stored secret that references your access key and secret key""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -21000,28 +21152,41 @@ class OutputResponseOutputGraphiteTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsGraphiteTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsSnsTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_topic_arn: NotRequired[str] + r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + template_message_group_id: NotRequired[str] + r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" + template_aws_secret_key: NotRequired[str] + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + template_region: NotRequired[str] + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + template_endpoint: NotRequired[str] + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + template_assume_role_arn: NotRequired[str] + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + template_assume_role_external_id: NotRequired[str] + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" template_on_backpressure: NotRequired[str] r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_api_key: NotRequired[str] + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" notifications: NotRequired[List[NotificationUnionTypedDict]] r"""Notifications attached to the Destination.""" status: NotRequired[StatusTypeTypedDict] r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputGraphite(BaseModel): - type: OutputResponseTypeGraphite - - protocol: DestinationProtocolOptions - r"""Protocol to use when communicating with the destination.""" +class OutputResponseOutputSns(BaseModel): + type: OutputResponseTypeSns - host: str - r"""The hostname of the destination.""" + topic_arn: Annotated[str, pydantic.Field(alias="topicArn")] + r"""The ARN of the SNS topic to send events to. When a non-AWS URL is specified, format must be: '{url}/myQueueName'. E.g., 'https://host:port/myQueueName'. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`""" - port: float - r"""Destination port.""" + message_group_id: Annotated[str, pydantic.Field(alias="messageGroupId")] + r"""Messages in the same group are processed in a FIFO manner. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `https://host:port/myQueue-${C.vars.myVar}`.""" id: Optional[str] = None r"""Unique ID for this output""" @@ -21040,41 +21205,68 @@ class OutputResponseOutputGraphite(BaseModel): streamtags: Optional[List[str]] = None r"""Tags for filtering and grouping in @{product}""" - mtu: Optional[float] = None - r"""When protocol is UDP, specifies the maximum size of packets sent to the destination. Also known as the MTU for the network path to the destination system.""" + max_retries: Annotated[Optional[float], pydantic.Field(alias="maxRetries")] = None + r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy.""" - flush_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="flushPeriodSec") + aws_authentication_method: Annotated[ + Optional[AuthenticationMethodOptionsS3CollectorConf], + pydantic.Field(alias="awsAuthenticationMethod"), ] = None - r"""When protocol is TCP, specifies how often buffers should be flushed, resulting in records sent to the destination.""" + r"""AWS authentication method. Choose Auto to use IAM roles.""" - dns_resolve_period_sec: Annotated[ - Optional[float], pydantic.Field(alias="dnsResolvePeriodSec") - ] = None - r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" + aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = ( + None + ) - description: Optional[str] = None + region: Optional[str] = None + r"""Region where the SNS is located""" - throttle_rate_per_sec: Annotated[ - Optional[str], pydantic.Field(alias="throttleRatePerSec") + endpoint: Optional[str] = None + r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint.""" + + reuse_connections: Annotated[ + Optional[bool], pydantic.Field(alias="reuseConnections") ] = None - r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" + r"""Reuse connections between requests, which can improve performance""" - connection_timeout: Annotated[ - Optional[float], pydantic.Field(alias="connectionTimeout") + reject_unauthorized: Annotated[ + Optional[bool], pydantic.Field(alias="rejectUnauthorized") ] = None - r"""Amount of time (milliseconds) to wait for the connection to establish before retrying""" + r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates""" + + enable_assume_role: Annotated[ + Optional[bool], pydantic.Field(alias="enableAssumeRole") + ] = None + r"""Use Assume Role credentials to access SNS""" - write_timeout: Annotated[Optional[float], pydantic.Field(alias="writeTimeout")] = ( + assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = ( None ) - r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead""" + r"""Amazon Resource Name (ARN) of the role to assume""" + + assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="assumeRoleExternalId") + ] = None + r"""External ID to use when assuming role""" + + duration_seconds: Annotated[ + Optional[float], pydantic.Field(alias="durationSeconds") + ] = None + 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).""" on_backpressure: Annotated[ Optional[BackpressureBehaviorOptions], pydantic.Field(alias="onBackpressure") ] = None r"""How to handle events when all receivers are exerting backpressure""" + description: Optional[str] = None + r"""Optional description for this configuration.""" + + aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None + + aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None + r"""Select or create a stored secret that references your access key and secret key""" + pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") ] = None @@ -21125,7 +21317,7 @@ class OutputResponseOutputGraphite(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsGraphite], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsSns], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -21133,22 +21325,62 @@ class OutputResponseOutputGraphite(BaseModel): ] = None r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + template_topic_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_topicArn") + ] = None + r"""Binds 'topicArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'topicArn' at runtime.""" + + template_message_group_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_messageGroupId") + ] = None + r"""Binds 'messageGroupId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'messageGroupId' at runtime.""" + + template_aws_secret_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsSecretKey") + ] = None + r"""Binds 'awsSecretKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsSecretKey' at runtime.""" + + template_region: Annotated[ + Optional[str], pydantic.Field(alias="__template_region") + ] = None + r"""Binds 'region' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'region' at runtime.""" + + template_endpoint: Annotated[ + Optional[str], pydantic.Field(alias="__template_endpoint") + ] = None + r"""Binds 'endpoint' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'endpoint' at runtime.""" + + template_assume_role_arn: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleArn") + ] = None + r"""Binds 'assumeRoleArn' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleArn' at runtime.""" + + template_assume_role_external_id: Annotated[ + Optional[str], pydantic.Field(alias="__template_assumeRoleExternalId") + ] = None + r"""Binds 'assumeRoleExternalId' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'assumeRoleExternalId' at runtime.""" + template_on_backpressure: Annotated[ Optional[str], pydantic.Field(alias="__template_onBackpressure") ] = None r"""Binds 'onBackpressure' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'onBackpressure' at runtime.""" + template_aws_api_key: Annotated[ + Optional[str], pydantic.Field(alias="__template_awsApiKey") + ] = None + r"""Binds 'awsApiKey' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'awsApiKey' at runtime.""" + notifications: Optional[List[NotificationUnion]] = None r"""Notifications attached to the Destination.""" status: Optional[StatusType] = None r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" - @field_serializer("protocol") - def serialize_protocol(self, value): + @field_serializer("aws_authentication_method") + def serialize_aws_authentication_method(self, value): if isinstance(value, str): try: - return models.DestinationProtocolOptions(value) + return models.AuthenticationMethodOptionsS3CollectorConf(value) except ValueError: return value return value @@ -21198,14 +21430,21 @@ def serialize_model(self, handler): "systemFields", "environment", "streamtags", - "mtu", - "flushPeriodSec", - "dnsResolvePeriodSec", - "description", - "throttleRatePerSec", - "connectionTimeout", - "writeTimeout", + "maxRetries", + "awsAuthenticationMethod", + "awsSecretKey", + "region", + "endpoint", + "reuseConnections", + "rejectUnauthorized", + "enableAssumeRole", + "assumeRoleArn", + "assumeRoleExternalId", + "durationSeconds", "onBackpressure", + "description", + "awsApiKey", + "awsSecret", "pqStrictOrdering", "pqRatePerSec", "pqMode", @@ -21219,7 +21458,15 @@ def serialize_model(self, handler): "pqMaxBufferSizeBytes", "pqControls", "__template_streamtags", + "__template_topicArn", + "__template_messageGroupId", + "__template_awsSecretKey", + "__template_region", + "__template_endpoint", + "__template_assumeRoleArn", + "__template_assumeRoleExternalId", "__template_onBackpressure", + "__template_awsApiKey", "notifications", "status", ] @@ -21238,20 +21485,155 @@ def serialize_model(self, handler): return m -class OutputResponseTypeStatsdExt(str, Enum): - STATSD_EXT = "statsd_ext" +class OutputResponseTypeRouter(str, Enum): + ROUTER = "router" -class OutputResponsePqControlsStatsdExtTypedDict(TypedDict): +class OutputResponseRuleTypedDict(TypedDict): + filter_: str + r"""JavaScript expression to select events to send to output""" + output: str + r"""Output to send matching events to""" + description: NotRequired[str] + r"""Description of this rule's purpose""" + final: NotRequired[bool] + r"""Flag to control whether to stop the event from being checked against other rules""" + + +class OutputResponseRule(BaseModel): + filter_: Annotated[str, pydantic.Field(alias="filter")] + r"""JavaScript expression to select events to send to output""" + + output: str + r"""Output to send matching events to""" + + description: Optional[str] = None + r"""Description of this rule's purpose""" + + final: Optional[bool] = None + r"""Flag to control whether to stop the event from being checked against other rules""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["description", "final"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseOutputRouterTypedDict(TypedDict): + type: OutputResponseTypeRouter + rules: List[OutputResponseRuleTypedDict] + r"""Event routing rules""" + id: NotRequired[str] + r"""Unique ID for this output""" + pipeline: NotRequired[str] + r"""Pipeline to process data before sending out to this output""" + system_fields: NotRequired[List[str]] + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + environment: NotRequired[str] + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + streamtags: NotRequired[List[str]] + r"""Tags for filtering and grouping in @{product}""" + description: NotRequired[str] + r"""Optional description for this configuration.""" + template_streamtags: NotRequired[str] + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + notifications: NotRequired[List[NotificationUnionTypedDict]] + r"""Notifications attached to the Destination.""" + status: NotRequired[StatusTypeTypedDict] + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + +class OutputResponseOutputRouter(BaseModel): + type: OutputResponseTypeRouter + + rules: List[OutputResponseRule] + r"""Event routing rules""" + + id: Optional[str] = None + r"""Unique ID for this output""" + + pipeline: Optional[str] = None + r"""Pipeline to process data before sending out to this output""" + + system_fields: Annotated[ + Optional[List[str]], pydantic.Field(alias="systemFields") + ] = None + r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards.""" + + environment: Optional[str] = None + r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere.""" + + streamtags: Optional[List[str]] = None + r"""Tags for filtering and grouping in @{product}""" + + description: Optional[str] = None + r"""Optional description for this configuration.""" + + template_streamtags: Annotated[ + Optional[str], pydantic.Field(alias="__template_streamtags") + ] = None + r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" + + notifications: Optional[List[NotificationUnion]] = None + r"""Notifications attached to the Destination.""" + + status: Optional[StatusType] = None + r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "id", + "pipeline", + "systemFields", + "environment", + "streamtags", + "description", + "__template_streamtags", + "notifications", + "status", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class OutputResponseTypeGraphite(str, Enum): + GRAPHITE = "graphite" + + +class OutputResponsePqControlsGraphiteTypedDict(TypedDict): pass -class OutputResponsePqControlsStatsdExt(BaseModel): +class OutputResponsePqControlsGraphite(BaseModel): pass -class OutputResponseOutputStatsdExtTypedDict(TypedDict): - type: OutputResponseTypeStatsdExt +class OutputResponseOutputGraphiteTypedDict(TypedDict): + type: OutputResponseTypeGraphite protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" host: str @@ -21275,6 +21657,7 @@ class OutputResponseOutputStatsdExtTypedDict(TypedDict): dns_resolve_period_sec: NotRequired[float] r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] + r"""Optional description for this configuration.""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" connection_timeout: NotRequired[float] @@ -21305,7 +21688,7 @@ class OutputResponseOutputStatsdExtTypedDict(TypedDict): r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged.""" pq_max_buffer_size_bytes: NotRequired[str] r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" - pq_controls: NotRequired[OutputResponsePqControlsStatsdExtTypedDict] + pq_controls: NotRequired[OutputResponsePqControlsGraphiteTypedDict] template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_on_backpressure: NotRequired[str] @@ -21316,8 +21699,8 @@ class OutputResponseOutputStatsdExtTypedDict(TypedDict): r"""Runtime status: health, metrics, and optional persistent-queue info. Fields may be absent when data is unavailable.""" -class OutputResponseOutputStatsdExt(BaseModel): - type: OutputResponseTypeStatsdExt +class OutputResponseOutputGraphite(BaseModel): + type: OutputResponseTypeGraphite protocol: DestinationProtocolOptions r"""Protocol to use when communicating with the destination.""" @@ -21359,6 +21742,7 @@ class OutputResponseOutputStatsdExt(BaseModel): r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: Optional[str] = None + r"""Optional description for this configuration.""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") @@ -21430,7 +21814,7 @@ class OutputResponseOutputStatsdExt(BaseModel): r"""The maximum size to hold in memory before writing events to disk. Enter a numeral with units of KB, MB, etc. The minimum value is 64KB and the maximum value is 10MB.""" pq_controls: Annotated[ - Optional[OutputResponsePqControlsStatsdExt], pydantic.Field(alias="pqControls") + Optional[OutputResponsePqControlsGraphite], pydantic.Field(alias="pqControls") ] = None template_streamtags: Annotated[ @@ -21543,18 +21927,22 @@ def serialize_model(self, handler): return m -class OutputResponseTypeStatsd(str, Enum): - STATSD = "statsd" +class OutputResponseTypeStatsdExt(str, Enum): + STATSD_EXT = "statsd_ext" -class OutputResponsePqControlsStatsdTypedDict(TypedDict): +class OutputResponsePqControlsStatsdExtTypedDict(TypedDict): pass -class OutputResponsePqControlsStatsd(BaseModel): +class OutputResponsePqControlsStatsdExt(BaseModel): pass +try: + OutputResponseOutputIbmCloudS3.model_rebuild() +except NameError: + pass try: OutputResponseOutputAlibabaCloudS3.model_rebuild() except NameError: @@ -21755,7 +22143,3 @@ class OutputResponsePqControlsStatsd(BaseModel): OutputResponseOutputGraphite.model_rebuild() except NameError: pass -try: - OutputResponseOutputStatsdExt.model_rebuild() -except NameError: - pass diff --git a/src/cribl_control_plane/models/outputring.py b/src/cribl_control_plane/models/outputring.py index 419a1eae4..29ea46ce8 100644 --- a/src/cribl_control_plane/models/outputring.py +++ b/src/cribl_control_plane/models/outputring.py @@ -51,6 +51,7 @@ class OutputRingTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptionsBlockDrop] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" template_on_backpressure: NotRequired[str] @@ -105,6 +106,7 @@ class OutputRing(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") diff --git a/src/cribl_control_plane/models/outputrouter.py b/src/cribl_control_plane/models/outputrouter.py index 22fd87907..9f5d9960d 100644 --- a/src/cribl_control_plane/models/outputrouter.py +++ b/src/cribl_control_plane/models/outputrouter.py @@ -69,6 +69,7 @@ class OutputRouterTypedDict(TypedDict): streamtags: NotRequired[List[str]] r"""Tags for filtering and grouping in @{product}""" description: NotRequired[str] + r"""Optional description for this configuration.""" template_streamtags: NotRequired[str] r"""Binds 'streamtags' to a variable for dynamic value resolution. Set to variable ID (pack-scoped) or 'cribl.'/'edge.' prefixed ID (group-scoped). Variable value overrides 'streamtags' at runtime.""" @@ -97,6 +98,7 @@ class OutputRouter(BaseModel): r"""Tags for filtering and grouping in @{product}""" description: Optional[str] = None + r"""Optional description for this configuration.""" template_streamtags: Annotated[ Optional[str], pydantic.Field(alias="__template_streamtags") diff --git a/src/cribl_control_plane/models/outputs3.py b/src/cribl_control_plane/models/outputs3.py index 31c03f8cf..c94c3e67e 100644 --- a/src/cribl_control_plane/models/outputs3.py +++ b/src/cribl_control_plane/models/outputs3.py @@ -125,6 +125,7 @@ class OutputS3TypedDict(TypedDict): kms_key_id: NotRequired[str] r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" aws_secret: NotRequired[str] @@ -402,6 +403,7 @@ class OutputS3(BaseModel): r"""ID or ARN of the KMS customer-managed key to use for encryption""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" diff --git a/src/cribl_control_plane/models/outputscalitys3.py b/src/cribl_control_plane/models/outputscalitys3.py index bbb9e03cb..236d405e0 100644 --- a/src/cribl_control_plane/models/outputscalitys3.py +++ b/src/cribl_control_plane/models/outputscalitys3.py @@ -100,6 +100,7 @@ class OutputScalityS3TypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -315,6 +316,7 @@ class OutputScalityS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" diff --git a/src/cribl_control_plane/models/outputsecuritylake.py b/src/cribl_control_plane/models/outputsecuritylake.py index ff8591481..25cf33a87 100644 --- a/src/cribl_control_plane/models/outputsecuritylake.py +++ b/src/cribl_control_plane/models/outputsecuritylake.py @@ -137,6 +137,7 @@ class OutputSecurityLakeTypedDict(TypedDict): enable_page_checksum: NotRequired[bool] r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" aws_secret: NotRequired[str] @@ -420,6 +421,7 @@ class OutputSecurityLake(BaseModel): r"""Parquet tools can use the checksum of a Parquet page to verify data integrity""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)""" diff --git a/src/cribl_control_plane/models/outputsentinel.py b/src/cribl_control_plane/models/outputsentinel.py index 02b0eb3b0..44c498e42 100644 --- a/src/cribl_control_plane/models/outputsentinel.py +++ b/src/cribl_control_plane/models/outputsentinel.py @@ -121,6 +121,7 @@ class OutputSentinelTypedDict(TypedDict): total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" format_: NotRequired[OutputSentinelFormat] custom_source_expression: NotRequired[str] r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" @@ -318,6 +319,7 @@ class OutputSentinel(BaseModel): r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" format_: Annotated[ Optional[OutputSentinelFormat], pydantic.Field(alias="format") diff --git a/src/cribl_control_plane/models/outputsentineloneaisiem.py b/src/cribl_control_plane/models/outputsentineloneaisiem.py index 7c5cafcd8..5d8a84be1 100644 --- a/src/cribl_control_plane/models/outputsentineloneaisiem.py +++ b/src/cribl_control_plane/models/outputsentineloneaisiem.py @@ -114,6 +114,7 @@ class OutputSentinelOneAiSiemTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" text_secret: NotRequired[str] @@ -281,6 +282,7 @@ class OutputSentinelOneAiSiem(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None r"""In the SentinelOne Console select Policy & Settings then select the Singularity AI SIEM section, API Keys will be at the bottom. Under Log Access Keys select a Write token and copy it here""" diff --git a/src/cribl_control_plane/models/outputservicenow.py b/src/cribl_control_plane/models/outputservicenow.py index a91271847..5d3d6a3ac 100644 --- a/src/cribl_control_plane/models/outputservicenow.py +++ b/src/cribl_control_plane/models/outputservicenow.py @@ -107,6 +107,7 @@ class OutputServiceNowTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" reject_unauthorized: NotRequired[bool] r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's). Enabled by default. When this setting is also present in TLS Settings (Client Side), @@ -270,6 +271,7 @@ class OutputServiceNow(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" reject_unauthorized: Annotated[ Optional[bool], pydantic.Field(alias="rejectUnauthorized") diff --git a/src/cribl_control_plane/models/outputsignalfx.py b/src/cribl_control_plane/models/outputsignalfx.py index b204140c2..682768bfb 100644 --- a/src/cribl_control_plane/models/outputsignalfx.py +++ b/src/cribl_control_plane/models/outputsignalfx.py @@ -93,6 +93,7 @@ class OutputSignalfxTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" text_secret: NotRequired[str] @@ -232,6 +233,7 @@ class OutputSignalfx(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))""" diff --git a/src/cribl_control_plane/models/outputsnmp.py b/src/cribl_control_plane/models/outputsnmp.py index c193c2ff8..ba0843d1c 100644 --- a/src/cribl_control_plane/models/outputsnmp.py +++ b/src/cribl_control_plane/models/outputsnmp.py @@ -77,6 +77,7 @@ class OutputSnmpTypedDict(TypedDict): enable_ip_spoofing: NotRequired[bool] r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" description: NotRequired[str] + r"""Optional description for this configuration.""" max_record_size: NotRequired[float] r"""MTU in bytes. The actual maximum SNMP Trap payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). Payloads exceeding this limit will be dropped.""" template_streamtags: NotRequired[str] @@ -117,6 +118,7 @@ class OutputSnmp(BaseModel): r"""Send SNMP Trap traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability.""" description: Optional[str] = None + r"""Optional description for this configuration.""" max_record_size: Annotated[ Optional[float], pydantic.Field(alias="maxRecordSize") diff --git a/src/cribl_control_plane/models/outputsns.py b/src/cribl_control_plane/models/outputsns.py index 86b262321..4fe8386c2 100644 --- a/src/cribl_control_plane/models/outputsns.py +++ b/src/cribl_control_plane/models/outputsns.py @@ -69,6 +69,7 @@ class OutputSnsTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -198,6 +199,7 @@ class OutputSns(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/outputsplunk.py b/src/cribl_control_plane/models/outputsplunk.py index 1b8cd7286..e5ad1d966 100644 --- a/src/cribl_control_plane/models/outputsplunk.py +++ b/src/cribl_control_plane/models/outputsplunk.py @@ -74,6 +74,7 @@ class OutputSplunkTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" max_failed_health_checks: NotRequired[float] r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" compress: NotRequired[CompressionOptions] @@ -199,6 +200,7 @@ class OutputSplunk(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" max_failed_health_checks: Annotated[ Optional[float], pydantic.Field(alias="maxFailedHealthChecks") diff --git a/src/cribl_control_plane/models/outputsplunkhec.py b/src/cribl_control_plane/models/outputsplunkhec.py index a754e1803..d0ab77298 100644 --- a/src/cribl_control_plane/models/outputsplunkhec.py +++ b/src/cribl_control_plane/models/outputsplunkhec.py @@ -140,6 +140,7 @@ class OutputSplunkHecTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" url: NotRequired[str] r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" use_round_robin_dns: NotRequired[bool] @@ -302,6 +303,7 @@ class OutputSplunkHec(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" url: Optional[str] = None r"""URL to a Splunk HEC endpoint to send events to, e.g., http://localhost:8088/services/collector/event""" diff --git a/src/cribl_control_plane/models/outputsplunklb.py b/src/cribl_control_plane/models/outputsplunklb.py index 1f53a7036..ee2f38ec1 100644 --- a/src/cribl_control_plane/models/outputsplunklb.py +++ b/src/cribl_control_plane/models/outputsplunklb.py @@ -214,6 +214,7 @@ class OutputSplunkLbTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" max_failed_health_checks: NotRequired[float] r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur.""" compress: NotRequired[CompressionOptions] @@ -363,6 +364,7 @@ class OutputSplunkLb(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" max_failed_health_checks: Annotated[ Optional[float], pydantic.Field(alias="maxFailedHealthChecks") diff --git a/src/cribl_control_plane/models/outputsqs.py b/src/cribl_control_plane/models/outputsqs.py index 8de713532..09e2b8d01 100644 --- a/src/cribl_control_plane/models/outputsqs.py +++ b/src/cribl_control_plane/models/outputsqs.py @@ -90,6 +90,7 @@ class OutputSqsTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" aws_api_key: NotRequired[str] aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" @@ -253,6 +254,7 @@ class OutputSqs(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None diff --git a/src/cribl_control_plane/models/outputstatsd.py b/src/cribl_control_plane/models/outputstatsd.py index 69391eac6..2c4a9f730 100644 --- a/src/cribl_control_plane/models/outputstatsd.py +++ b/src/cribl_control_plane/models/outputstatsd.py @@ -52,6 +52,7 @@ class OutputStatsdTypedDict(TypedDict): dns_resolve_period_sec: NotRequired[float] r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] + r"""Optional description for this configuration.""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" connection_timeout: NotRequired[float] @@ -132,6 +133,7 @@ class OutputStatsd(BaseModel): r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: Optional[str] = None + r"""Optional description for this configuration.""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") diff --git a/src/cribl_control_plane/models/outputstatsdext.py b/src/cribl_control_plane/models/outputstatsdext.py index 7f5ebf356..5a2a26196 100644 --- a/src/cribl_control_plane/models/outputstatsdext.py +++ b/src/cribl_control_plane/models/outputstatsdext.py @@ -52,6 +52,7 @@ class OutputStatsdExtTypedDict(TypedDict): dns_resolve_period_sec: NotRequired[float] r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: NotRequired[str] + r"""Optional description for this configuration.""" throttle_rate_per_sec: NotRequired[str] r"""Rate (in bytes per second) to throttle while writing to an output. Accepts values with multiple-byte units, such as KB, MB, and GB. (Example: 42 MB) Default value of 0 specifies no throttling.""" connection_timeout: NotRequired[float] @@ -132,6 +133,7 @@ class OutputStatsdExt(BaseModel): r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every batch sent will incur a DNS lookup.""" description: Optional[str] = None + r"""Optional description for this configuration.""" throttle_rate_per_sec: Annotated[ Optional[str], pydantic.Field(alias="throttleRatePerSec") diff --git a/src/cribl_control_plane/models/outputstorjs3.py b/src/cribl_control_plane/models/outputstorjs3.py index 5f8c9ec98..e14be24b9 100644 --- a/src/cribl_control_plane/models/outputstorjs3.py +++ b/src/cribl_control_plane/models/outputstorjs3.py @@ -98,6 +98,7 @@ class OutputStorjS3TypedDict(TypedDict): retry_settings: NotRequired[RetrySettingsTypeTypedDict] orphans: NotRequired[OrphanFileRecoveryTypeTypedDict] description: NotRequired[str] + r"""Optional description for this configuration.""" aws_secret: NotRequired[str] r"""Select or create a stored secret that references your access key and secret key""" compress: NotRequired[CompressionOptionsHTTP] @@ -308,6 +309,7 @@ class OutputStorjS3(BaseModel): orphans: Optional[OrphanFileRecoveryType] = None description: Optional[str] = None + r"""Optional description for this configuration.""" aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None r"""Select or create a stored secret that references your access key and secret key""" diff --git a/src/cribl_control_plane/models/outputsumologic.py b/src/cribl_control_plane/models/outputsumologic.py index 4e9d22774..88a4ffd21 100644 --- a/src/cribl_control_plane/models/outputsumologic.py +++ b/src/cribl_control_plane/models/outputsumologic.py @@ -105,6 +105,7 @@ class OutputSumoLogicTypedDict(TypedDict): total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -254,6 +255,7 @@ class OutputSumoLogic(BaseModel): r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") diff --git a/src/cribl_control_plane/models/outputsyslog.py b/src/cribl_control_plane/models/outputsyslog.py index 2d028d5c1..c113bf24c 100644 --- a/src/cribl_control_plane/models/outputsyslog.py +++ b/src/cribl_control_plane/models/outputsyslog.py @@ -159,6 +159,7 @@ class OutputSyslogTypedDict(TypedDict): log_failed_requests: NotRequired[bool] r"""Use to troubleshoot issues with sending data""" description: NotRequired[str] + r"""Optional description for this configuration.""" load_balanced: NotRequired[bool] r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS.""" host: NotRequired[str] @@ -279,6 +280,7 @@ class OutputSyslog(BaseModel): r"""Use to troubleshoot issues with sending data""" description: Optional[str] = None + r"""Optional description for this configuration.""" load_balanced: Annotated[Optional[bool], pydantic.Field(alias="loadBalanced")] = ( None diff --git a/src/cribl_control_plane/models/outputtcpjson.py b/src/cribl_control_plane/models/outputtcpjson.py index 800565b9d..c20da1ee0 100644 --- a/src/cribl_control_plane/models/outputtcpjson.py +++ b/src/cribl_control_plane/models/outputtcpjson.py @@ -69,6 +69,7 @@ class OutputTcpjsonTypedDict(TypedDict): auth_type: NotRequired[AuthenticationMethodOptionsAuthTokensItems] r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: NotRequired[str] + r"""Optional description for this configuration.""" host: NotRequired[str] r"""The hostname of the receiver""" port: NotRequired[float] @@ -190,6 +191,7 @@ class OutputTcpjson(BaseModel): r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate""" description: Optional[str] = None + r"""Optional description for this configuration.""" host: Optional[str] = None r"""The hostname of the receiver""" diff --git a/src/cribl_control_plane/models/outputwavefront.py b/src/cribl_control_plane/models/outputwavefront.py index 3170ed38a..8dfafb8c2 100644 --- a/src/cribl_control_plane/models/outputwavefront.py +++ b/src/cribl_control_plane/models/outputwavefront.py @@ -93,6 +93,7 @@ class OutputWavefrontTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" token: NotRequired[str] r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" text_secret: NotRequired[str] @@ -232,6 +233,7 @@ class OutputWavefront(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" token: Optional[str] = None r"""WaveFront API authentication token (see [here](https://docs.wavefront.com/wavefront_api.html#generating-an-api-token))""" diff --git a/src/cribl_control_plane/models/outputwebhook_union.py b/src/cribl_control_plane/models/outputwebhook_union.py index 0775844da..264413dc8 100644 --- a/src/cribl_control_plane/models/outputwebhook_union.py +++ b/src/cribl_control_plane/models/outputwebhook_union.py @@ -181,6 +181,7 @@ class OutputWebhookWebhook2TypedDict(TypedDict): load_balanced: NotRequired[bool] r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_source_expression: NotRequired[str] r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" custom_drop_when_null: NotRequired[bool] @@ -391,6 +392,7 @@ class OutputWebhookWebhook2(BaseModel): r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: Optional[str] = None + r"""Optional description for this configuration.""" custom_source_expression: Annotated[ Optional[str], pydantic.Field(alias="customSourceExpression") @@ -889,6 +891,7 @@ class OutputWebhookWebhook1TypedDict(TypedDict): load_balanced: NotRequired[bool] r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: NotRequired[str] + r"""Optional description for this configuration.""" custom_source_expression: NotRequired[str] r"""Expression to evaluate on events to generate output. Example: `raw=${_raw}`. See [Cribl Docs](https://docs.cribl.io/stream/destinations-webhook#custom-format) for other examples. If empty, the full event is sent as stringified JSON.""" custom_drop_when_null: NotRequired[bool] @@ -1099,6 +1102,7 @@ class OutputWebhookWebhook1(BaseModel): r"""Enable for optimal performance. Even if you have one hostname, it can expand to multiple IPs. If disabled, consider enabling round-robin DNS.""" description: Optional[str] = None + r"""Optional description for this configuration.""" custom_source_expression: Annotated[ Optional[str], pydantic.Field(alias="customSourceExpression") diff --git a/src/cribl_control_plane/models/outputwizhec.py b/src/cribl_control_plane/models/outputwizhec.py index 44813e3bb..710b17cce 100644 --- a/src/cribl_control_plane/models/outputwizhec.py +++ b/src/cribl_control_plane/models/outputwizhec.py @@ -105,6 +105,7 @@ class OutputWizHecTypedDict(TypedDict): on_backpressure: NotRequired[BackpressureBehaviorOptions] r"""How to handle events when all receivers are exerting backpressure""" description: NotRequired[str] + r"""Optional description for this configuration.""" pq_strict_ordering: NotRequired[bool] r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed.""" pq_rate_per_sec: NotRequired[float] @@ -261,6 +262,7 @@ class OutputWizHec(BaseModel): r"""How to handle events when all receivers are exerting backpressure""" description: Optional[str] = None + r"""Optional description for this configuration.""" pq_strict_ordering: Annotated[ Optional[bool], pydantic.Field(alias="pqStrictOrdering") diff --git a/src/cribl_control_plane/models/outputxsiam.py b/src/cribl_control_plane/models/outputxsiam.py index 4efd3adc6..a06f0c1b7 100644 --- a/src/cribl_control_plane/models/outputxsiam.py +++ b/src/cribl_control_plane/models/outputxsiam.py @@ -125,6 +125,7 @@ class OutputXsiamTypedDict(TypedDict): total_memory_limit_kb: NotRequired[float] r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: NotRequired[str] + r"""Optional description for this configuration.""" url: NotRequired[str] r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" use_round_robin_dns: NotRequired[bool] @@ -283,6 +284,7 @@ class OutputXsiam(BaseModel): r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced.""" description: Optional[str] = None + r"""Optional description for this configuration.""" url: Optional[str] = None r"""XSIAM endpoint URL to send events to, such as https://api-{tenant external URL}/logs/v1/event""" diff --git a/src/cribl_control_plane/models/packinfo.py b/src/cribl_control_plane/models/packinfo.py index df3f20461..8d6d940a4 100644 --- a/src/cribl_control_plane/models/packinfo.py +++ b/src/cribl_control_plane/models/packinfo.py @@ -16,20 +16,35 @@ class PackInfoTypedDict(TypedDict): id: str r"""Unique identifier.""" source: str + r"""Source of the Pack — a file path, URL, or Git URL from which the Pack was installed.""" author: NotRequired[str] + r"""Name or identifier of the Pack author.""" collectors: NotRequired[float] + r"""Number of Collectors (saved jobs) configured within the Pack.""" dependencies: NotRequired[Dict[str, str]] + r"""Map of Pack dependency identifiers to their version constraints.""" description: NotRequired[str] + r"""Brief description of the Pack and its purpose.""" display_name: NotRequired[str] + r"""Human-readable display name for the Pack.""" exports: NotRequired[List[str]] + r"""List of entity IDs exported by this Pack and available for use outside the Pack context.""" inputs: NotRequired[float] + r"""Number of Sources configured within the Pack.""" is_disabled: NotRequired[bool] + r"""If true, the Pack is disabled. Otherwise, false.""" min_log_stream_version: NotRequired[str] + r"""Minimum version of Cribl Stream required to run this Pack.""" outputs: NotRequired[float] + r"""Number of Destinations configured within the Pack.""" settings: NotRequired[Dict[str, Any]] + r"""Pack-specific settings object. Contents vary by Pack.""" spec: NotRequired[str] + r"""Semver range constraint that was applied when the Pack was installed.""" tags: NotRequired[TagsTypePackInstallInfoTypedDict] + r"""Categorization tags for the Pack.""" version: NotRequired[str] + r"""Version of the Pack, following semantic versioning.""" class PackInfo(BaseModel): @@ -37,36 +52,51 @@ class PackInfo(BaseModel): r"""Unique identifier.""" source: str + r"""Source of the Pack — a file path, URL, or Git URL from which the Pack was installed.""" author: Optional[str] = None + r"""Name or identifier of the Pack author.""" collectors: Optional[float] = None + r"""Number of Collectors (saved jobs) configured within the Pack.""" dependencies: Optional[Dict[str, str]] = None + r"""Map of Pack dependency identifiers to their version constraints.""" description: Optional[str] = None + r"""Brief description of the Pack and its purpose.""" display_name: Annotated[Optional[str], pydantic.Field(alias="displayName")] = None + r"""Human-readable display name for the Pack.""" exports: Optional[List[str]] = None + r"""List of entity IDs exported by this Pack and available for use outside the Pack context.""" inputs: Optional[float] = None + r"""Number of Sources configured within the Pack.""" is_disabled: Annotated[Optional[bool], pydantic.Field(alias="isDisabled")] = None + r"""If true, the Pack is disabled. Otherwise, false.""" min_log_stream_version: Annotated[ Optional[str], pydantic.Field(alias="minLogStreamVersion") ] = None + r"""Minimum version of Cribl Stream required to run this Pack.""" outputs: Optional[float] = None + r"""Number of Destinations configured within the Pack.""" settings: Optional[Dict[str, Any]] = None + r"""Pack-specific settings object. Contents vary by Pack.""" spec: Optional[str] = None + r"""Semver range constraint that was applied when the Pack was installed.""" tags: Optional[TagsTypePackInstallInfo] = None + r"""Categorization tags for the Pack.""" version: Optional[str] = None + r"""Version of the Pack, following semantic versioning.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/packinstallinfo.py b/src/cribl_control_plane/models/packinstallinfo.py index 605f8c42c..04f8b6caf 100644 --- a/src/cribl_control_plane/models/packinstallinfo.py +++ b/src/cribl_control_plane/models/packinstallinfo.py @@ -16,20 +16,35 @@ class PackInstallInfoTypedDict(TypedDict): id: str r"""Unique identifier.""" source: str + r"""Source of the Pack — a file path, URL, or Git URL from which the Pack was installed.""" author: NotRequired[str] + r"""Name or identifier of the Pack author.""" collectors: NotRequired[float] + r"""Number of Collectors (saved jobs) configured within the Pack.""" dependencies: NotRequired[Dict[str, str]] + r"""Map of Pack dependency identifiers to their version constraints.""" description: NotRequired[str] + r"""Brief description of the Pack and its purpose.""" display_name: NotRequired[str] + r"""Human-readable display name for the Pack.""" exports: NotRequired[List[str]] + r"""List of entity IDs exported by this Pack and available for use outside the Pack context.""" inputs: NotRequired[float] + r"""Number of Sources configured within the Pack.""" is_disabled: NotRequired[bool] + r"""If true, the Pack is disabled. Otherwise, false.""" min_log_stream_version: NotRequired[str] + r"""Minimum version of Cribl Stream required to run this Pack.""" outputs: NotRequired[float] + r"""Number of Destinations configured within the Pack.""" settings: NotRequired[Dict[str, Any]] + r"""Pack-specific settings object. Contents vary by Pack.""" spec: NotRequired[str] + r"""Semver range constraint that was applied when the Pack was installed.""" tags: NotRequired[TagsTypePackInstallInfoTypedDict] + r"""Categorization tags for the Pack.""" version: NotRequired[str] + r"""Version of the Pack, following semantic versioning.""" warnings: NotRequired[List[str]] @@ -38,36 +53,51 @@ class PackInstallInfo(BaseModel): r"""Unique identifier.""" source: str + r"""Source of the Pack — a file path, URL, or Git URL from which the Pack was installed.""" author: Optional[str] = None + r"""Name or identifier of the Pack author.""" collectors: Optional[float] = None + r"""Number of Collectors (saved jobs) configured within the Pack.""" dependencies: Optional[Dict[str, str]] = None + r"""Map of Pack dependency identifiers to their version constraints.""" description: Optional[str] = None + r"""Brief description of the Pack and its purpose.""" display_name: Annotated[Optional[str], pydantic.Field(alias="displayName")] = None + r"""Human-readable display name for the Pack.""" exports: Optional[List[str]] = None + r"""List of entity IDs exported by this Pack and available for use outside the Pack context.""" inputs: Optional[float] = None + r"""Number of Sources configured within the Pack.""" is_disabled: Annotated[Optional[bool], pydantic.Field(alias="isDisabled")] = None + r"""If true, the Pack is disabled. Otherwise, false.""" min_log_stream_version: Annotated[ Optional[str], pydantic.Field(alias="minLogStreamVersion") ] = None + r"""Minimum version of Cribl Stream required to run this Pack.""" outputs: Optional[float] = None + r"""Number of Destinations configured within the Pack.""" settings: Optional[Dict[str, Any]] = None + r"""Pack-specific settings object. Contents vary by Pack.""" spec: Optional[str] = None + r"""Semver range constraint that was applied when the Pack was installed.""" tags: Optional[TagsTypePackInstallInfo] = None + r"""Categorization tags for the Pack.""" version: Optional[str] = None + r"""Version of the Pack, following semantic versioning.""" warnings: Optional[List[str]] = None diff --git a/src/cribl_control_plane/models/packrequestbody_union.py b/src/cribl_control_plane/models/packrequestbody_union.py index 7438010e1..c6b990037 100644 --- a/src/cribl_control_plane/models/packrequestbody_union.py +++ b/src/cribl_control_plane/models/packrequestbody_union.py @@ -1,59 +1,120 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .tagstypepackinstallinfo import ( - TagsTypePackInstallInfo, - TagsTypePackInstallInfoTypedDict, -) from cribl_control_plane.types import BaseModel, UNSET_SENTINEL import pydantic from pydantic import model_serializer -from typing import Optional, Union +from typing import List, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +class Tags2TypedDict(TypedDict): + r"""Categorization tags for the Pack.""" + + data_type: NotRequired[List[str]] + r"""List of data type tags for the Pack.""" + domain: NotRequired[List[str]] + r"""List of domain tags for the Pack.""" + technology: NotRequired[List[str]] + r"""List of technology tags for the Pack.""" + streamtags: NotRequired[List[str]] + r"""List of stream tags for routing and filtering.""" + + +class Tags2(BaseModel): + r"""Categorization tags for the Pack.""" + + data_type: Annotated[Optional[List[str]], pydantic.Field(alias="dataType")] = None + r"""List of data type tags for the Pack.""" + + domain: Optional[List[str]] = None + r"""List of domain tags for the Pack.""" + + technology: Optional[List[str]] = None + r"""List of technology tags for the Pack.""" + + streamtags: Optional[List[str]] = None + r"""List of stream tags for routing and filtering.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["dataType", "domain", "technology", "streamtags"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + class PackRequestBody2TypedDict(TypedDict): source: str - r"""The source of the pack. If not present, an empty pack will be created""" + r"""Source of the Pack. Provide a staging source ID from PUT /packs, a direct URL to a .crbl file, or a git+<repo-url> Git repository URL. If omitted, an empty Pack is created.""" id: NotRequired[str] + r"""Unique identifier for the Pack.""" spec: NotRequired[str] + r"""Semver range constraint to apply when resolving the Pack version to install.""" version: NotRequired[str] + r"""Version of the Pack, following semantic versioning.""" min_log_stream_version: NotRequired[str] + r"""Minimum version of Cribl Stream required to run this Pack.""" display_name: NotRequired[str] + r"""Human-readable display name for the Pack.""" author: NotRequired[str] + r"""Name or identifier of the Pack author.""" description: NotRequired[str] - tags: NotRequired[TagsTypePackInstallInfoTypedDict] + r"""Brief description of the Pack and its purpose.""" + tags: NotRequired[Tags2TypedDict] + r"""Categorization tags for the Pack.""" allow_custom_functions: NotRequired[bool] + r"""If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions.""" force: NotRequired[bool] + r"""If true, overwrite an existing Pack with the same ID. Otherwise, false.""" class PackRequestBody2(BaseModel): source: str - r"""The source of the pack. If not present, an empty pack will be created""" + r"""Source of the Pack. Provide a staging source ID from PUT /packs, a direct URL to a .crbl file, or a git+<repo-url> Git repository URL. If omitted, an empty Pack is created.""" id: Optional[str] = None + r"""Unique identifier for the Pack.""" spec: Optional[str] = None + r"""Semver range constraint to apply when resolving the Pack version to install.""" version: Optional[str] = None + r"""Version of the Pack, following semantic versioning.""" min_log_stream_version: Annotated[ Optional[str], pydantic.Field(alias="minLogStreamVersion") ] = None + r"""Minimum version of Cribl Stream required to run this Pack.""" display_name: Annotated[Optional[str], pydantic.Field(alias="displayName")] = None + r"""Human-readable display name for the Pack.""" author: Optional[str] = None + r"""Name or identifier of the Pack author.""" description: Optional[str] = None + r"""Brief description of the Pack and its purpose.""" - tags: Optional[TagsTypePackInstallInfo] = None + tags: Optional[Tags2] = None + r"""Categorization tags for the Pack.""" allow_custom_functions: Annotated[ Optional[bool], pydantic.Field(alias="allowCustomFunctions") ] = None + r"""If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions.""" force: Optional[bool] = None + r"""If true, overwrite an existing Pack with the same ID. Otherwise, false.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -85,48 +146,113 @@ def serialize_model(self, handler): return m +class Tags1TypedDict(TypedDict): + r"""Categorization tags for the Pack.""" + + data_type: NotRequired[List[str]] + r"""List of data type tags for the Pack.""" + domain: NotRequired[List[str]] + r"""List of domain tags for the Pack.""" + technology: NotRequired[List[str]] + r"""List of technology tags for the Pack.""" + streamtags: NotRequired[List[str]] + r"""List of stream tags for routing and filtering.""" + + +class Tags1(BaseModel): + r"""Categorization tags for the Pack.""" + + data_type: Annotated[Optional[List[str]], pydantic.Field(alias="dataType")] = None + r"""List of data type tags for the Pack.""" + + domain: Optional[List[str]] = None + r"""List of domain tags for the Pack.""" + + technology: Optional[List[str]] = None + r"""List of technology tags for the Pack.""" + + streamtags: Optional[List[str]] = None + r"""List of stream tags for routing and filtering.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["dataType", "domain", "technology", "streamtags"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + class PackRequestBody1TypedDict(TypedDict): id: str + r"""Unique identifier for the Pack.""" spec: NotRequired[str] + r"""Semver range constraint to apply when resolving the Pack version to install.""" version: NotRequired[str] + r"""Version of the Pack, following semantic versioning.""" min_log_stream_version: NotRequired[str] + r"""Minimum version of Cribl Stream required to run this Pack.""" display_name: NotRequired[str] + r"""Human-readable display name for the Pack.""" author: NotRequired[str] + r"""Name or identifier of the Pack author.""" description: NotRequired[str] + r"""Brief description of the Pack and its purpose.""" source: NotRequired[str] - r"""The source of the pack. If not present, an empty pack will be created""" - tags: NotRequired[TagsTypePackInstallInfoTypedDict] + r"""Source of the Pack. Provide a staging source ID from PUT /packs, a direct URL to a .crbl file, or a git+<repo-url> Git repository URL. If omitted, an empty Pack is created.""" + tags: NotRequired[Tags1TypedDict] + r"""Categorization tags for the Pack.""" allow_custom_functions: NotRequired[bool] + r"""If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions.""" force: NotRequired[bool] + r"""If true, overwrite an existing Pack with the same ID. Otherwise, false.""" class PackRequestBody1(BaseModel): id: str + r"""Unique identifier for the Pack.""" spec: Optional[str] = None + r"""Semver range constraint to apply when resolving the Pack version to install.""" version: Optional[str] = None + r"""Version of the Pack, following semantic versioning.""" min_log_stream_version: Annotated[ Optional[str], pydantic.Field(alias="minLogStreamVersion") ] = None + r"""Minimum version of Cribl Stream required to run this Pack.""" display_name: Annotated[Optional[str], pydantic.Field(alias="displayName")] = None + r"""Human-readable display name for the Pack.""" author: Optional[str] = None + r"""Name or identifier of the Pack author.""" description: Optional[str] = None + r"""Brief description of the Pack and its purpose.""" source: Optional[str] = None - r"""The source of the pack. If not present, an empty pack will be created""" + r"""Source of the Pack. Provide a staging source ID from PUT /packs, a direct URL to a .crbl file, or a git+<repo-url> Git repository URL. If omitted, an empty Pack is created.""" - tags: Optional[TagsTypePackInstallInfo] = None + tags: Optional[Tags1] = None + r"""Categorization tags for the Pack.""" allow_custom_functions: Annotated[ Optional[bool], pydantic.Field(alias="allowCustomFunctions") ] = None + r"""If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions.""" force: Optional[bool] = None + r"""If true, overwrite an existing Pack with the same ID. Otherwise, false.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -169,10 +295,18 @@ def serialize_model(self, handler): ) +try: + Tags2.model_rebuild() +except NameError: + pass try: PackRequestBody2.model_rebuild() except NameError: pass +try: + Tags1.model_rebuild() +except NameError: + pass try: PackRequestBody1.model_rebuild() except NameError: diff --git a/src/cribl_control_plane/models/packuninstallinfo.py b/src/cribl_control_plane/models/packuninstallinfo.py index 0a1808dc2..02bb3815d 100644 --- a/src/cribl_control_plane/models/packuninstallinfo.py +++ b/src/cribl_control_plane/models/packuninstallinfo.py @@ -7,10 +7,14 @@ class PackUninstallInfoTypedDict(TypedDict): id: str + r"""Unique identifier for the Pack.""" source: str + r"""Source from which the Pack was originally installed.""" class PackUninstallInfo(BaseModel): id: str + r"""Unique identifier for the Pack.""" source: str + r"""Source from which the Pack was originally installed.""" diff --git a/src/cribl_control_plane/models/packupgraderequest.py b/src/cribl_control_plane/models/packupgraderequest.py index d05d2953f..1e6e54e62 100644 --- a/src/cribl_control_plane/models/packupgraderequest.py +++ b/src/cribl_control_plane/models/packupgraderequest.py @@ -10,21 +10,29 @@ class PackUpgradeRequestTypedDict(TypedDict): source: str + r"""Source of the upgraded Pack. Use the source value returned by PUT /packs for an uploaded file, or provide a direct URL to a .crbl file or a git+<repo-url> Git repository URL.""" allow_custom_functions: NotRequired[bool] - minor: NotRequired[str] + r"""If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions.""" + minor: NotRequired[bool] + r"""If true, allow the upgrade to install a minor (non-breaking) version. Otherwise, false.""" spec: NotRequired[str] + r"""Semver range constraint to apply when resolving the Pack version to install.""" class PackUpgradeRequest(BaseModel): source: str + r"""Source of the upgraded Pack. Use the source value returned by PUT /packs for an uploaded file, or provide a direct URL to a .crbl file or a git+<repo-url> Git repository URL.""" allow_custom_functions: Annotated[ Optional[bool], pydantic.Field(alias="allowCustomFunctions") ] = None + r"""If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions.""" - minor: Optional[str] = None + minor: Optional[bool] = None + r"""If true, allow the upgrade to install a minor (non-breaking) version. Otherwise, false.""" spec: Optional[str] = None + r"""Semver range constraint to apply when resolving the Pack version to install.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/pipelinefunctionaggregatemetrics.py b/src/cribl_control_plane/models/pipelinefunctionaggregatemetrics.py index 7f27fd331..084891c25 100644 --- a/src/cribl_control_plane/models/pipelinefunctionaggregatemetrics.py +++ b/src/cribl_control_plane/models/pipelinefunctionaggregatemetrics.py @@ -11,7 +11,7 @@ class PipelineFunctionAggregateMetricsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always aggregate_metrics""" AGGREGATE_METRICS = "aggregate_metrics" @@ -213,7 +213,7 @@ def serialize_model(self, handler): class PipelineFunctionAggregateMetricsTypedDict(TypedDict): id: PipelineFunctionAggregateMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always aggregate_metrics""" conf: PipelineFunctionAggregateMetricsConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -229,7 +229,7 @@ class PipelineFunctionAggregateMetricsTypedDict(TypedDict): class PipelineFunctionAggregateMetrics(BaseModel): id: PipelineFunctionAggregateMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always aggregate_metrics""" conf: PipelineFunctionAggregateMetricsConf diff --git a/src/cribl_control_plane/models/pipelinefunctionaggregation.py b/src/cribl_control_plane/models/pipelinefunctionaggregation.py index d15de16b4..cf0741e9e 100644 --- a/src/cribl_control_plane/models/pipelinefunctionaggregation.py +++ b/src/cribl_control_plane/models/pipelinefunctionaggregation.py @@ -14,7 +14,7 @@ class PipelineFunctionAggregationID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always aggregation""" AGGREGATION = "aggregation" @@ -169,7 +169,7 @@ def serialize_model(self, handler): class PipelineFunctionAggregationTypedDict(TypedDict): id: PipelineFunctionAggregationID - r"""Function ID""" + r"""Identifier of the Function. Always aggregation""" conf: PipelineFunctionAggregationConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -185,7 +185,7 @@ class PipelineFunctionAggregationTypedDict(TypedDict): class PipelineFunctionAggregation(BaseModel): id: PipelineFunctionAggregationID - r"""Function ID""" + r"""Identifier of the Function. Always aggregation""" conf: PipelineFunctionAggregationConf diff --git a/src/cribl_control_plane/models/pipelinefunctionautotimestamp.py b/src/cribl_control_plane/models/pipelinefunctionautotimestamp.py index 59ac7161e..6dd3aa14f 100644 --- a/src/cribl_control_plane/models/pipelinefunctionautotimestamp.py +++ b/src/cribl_control_plane/models/pipelinefunctionautotimestamp.py @@ -14,14 +14,14 @@ class PipelineFunctionAutoTimestampID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always auto_timestamp""" AUTO_TIMESTAMP = "auto_timestamp" class PipelineFunctionAutoTimestampTypedDict(TypedDict): id: PipelineFunctionAutoTimestampID - r"""Function ID""" + r"""Identifier of the Function. Always auto_timestamp""" conf: FunctionConfSchemaAutoTimestampTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionAutoTimestampTypedDict(TypedDict): class PipelineFunctionAutoTimestamp(BaseModel): id: PipelineFunctionAutoTimestampID - r"""Function ID""" + r"""Identifier of the Function. Always auto_timestamp""" conf: FunctionConfSchemaAutoTimestamp diff --git a/src/cribl_control_plane/models/pipelinefunctioncef.py b/src/cribl_control_plane/models/pipelinefunctioncef.py index 0e070df33..451623e55 100644 --- a/src/cribl_control_plane/models/pipelinefunctioncef.py +++ b/src/cribl_control_plane/models/pipelinefunctioncef.py @@ -16,14 +16,14 @@ class PipelineFunctionCefID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always cef""" CEF = "cef" class PipelineFunctionCefTypedDict(TypedDict): id: PipelineFunctionCefID - r"""Function ID""" + r"""Identifier of the Function. Always cef""" conf: FunctionConfSchemaCefTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -39,7 +39,7 @@ class PipelineFunctionCefTypedDict(TypedDict): class PipelineFunctionCef(BaseModel): id: PipelineFunctionCefID - r"""Function ID""" + r"""Identifier of the Function. Always cef""" conf: FunctionConfSchemaCef @@ -77,7 +77,7 @@ def serialize_model(self, handler): class PipelineFunctionCefInputTypedDict(TypedDict): id: PipelineFunctionCefID - r"""Function ID""" + r"""Identifier of the Function. Always cef""" conf: FunctionConfSchemaCefInputTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -93,7 +93,7 @@ class PipelineFunctionCefInputTypedDict(TypedDict): class PipelineFunctionCefInput(BaseModel): id: PipelineFunctionCefID - r"""Function ID""" + r"""Identifier of the Function. Always cef""" conf: FunctionConfSchemaCefInput diff --git a/src/cribl_control_plane/models/pipelinefunctionchain.py b/src/cribl_control_plane/models/pipelinefunctionchain.py index affe285ee..986e0b5a5 100644 --- a/src/cribl_control_plane/models/pipelinefunctionchain.py +++ b/src/cribl_control_plane/models/pipelinefunctionchain.py @@ -10,7 +10,7 @@ class PipelineFunctionChainID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always chain""" CHAIN = "chain" @@ -27,7 +27,7 @@ class PipelineFunctionChainConf(BaseModel): class PipelineFunctionChainTypedDict(TypedDict): id: PipelineFunctionChainID - r"""Function ID""" + r"""Identifier of the Function. Always chain""" conf: PipelineFunctionChainConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -43,7 +43,7 @@ class PipelineFunctionChainTypedDict(TypedDict): class PipelineFunctionChain(BaseModel): id: PipelineFunctionChainID - r"""Function ID""" + r"""Identifier of the Function. Always chain""" conf: PipelineFunctionChainConf diff --git a/src/cribl_control_plane/models/pipelinefunctionclone.py b/src/cribl_control_plane/models/pipelinefunctionclone.py index 21a146155..089c22c0c 100644 --- a/src/cribl_control_plane/models/pipelinefunctionclone.py +++ b/src/cribl_control_plane/models/pipelinefunctionclone.py @@ -14,14 +14,14 @@ class PipelineFunctionCloneID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always clone""" CLONE = "clone" class PipelineFunctionCloneTypedDict(TypedDict): id: PipelineFunctionCloneID - r"""Function ID""" + r"""Identifier of the Function. Always clone""" conf: FunctionConfSchemaCloneTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionCloneTypedDict(TypedDict): class PipelineFunctionClone(BaseModel): id: PipelineFunctionCloneID - r"""Function ID""" + r"""Identifier of the Function. Always clone""" conf: FunctionConfSchemaClone diff --git a/src/cribl_control_plane/models/pipelinefunctioncode.py b/src/cribl_control_plane/models/pipelinefunctioncode.py index acbef7bee..4245483e7 100644 --- a/src/cribl_control_plane/models/pipelinefunctioncode.py +++ b/src/cribl_control_plane/models/pipelinefunctioncode.py @@ -14,14 +14,14 @@ class PipelineFunctionCodeID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always code""" CODE = "code" class PipelineFunctionCodeTypedDict(TypedDict): id: PipelineFunctionCodeID - r"""Function ID""" + r"""Identifier of the Function. Always code""" conf: FunctionConfSchemaCodeTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionCodeTypedDict(TypedDict): class PipelineFunctionCode(BaseModel): id: PipelineFunctionCodeID - r"""Function ID""" + r"""Identifier of the Function. Always code""" conf: FunctionConfSchemaCode diff --git a/src/cribl_control_plane/models/pipelinefunctioncomment.py b/src/cribl_control_plane/models/pipelinefunctioncomment.py index 1e869e3e4..678cbef20 100644 --- a/src/cribl_control_plane/models/pipelinefunctioncomment.py +++ b/src/cribl_control_plane/models/pipelinefunctioncomment.py @@ -14,14 +14,14 @@ class PipelineFunctionCommentID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always comment""" COMMENT = "comment" class PipelineFunctionCommentTypedDict(TypedDict): id: PipelineFunctionCommentID - r"""Function ID""" + r"""Identifier of the Function. Always comment""" conf: FunctionConfSchemaCommentTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionCommentTypedDict(TypedDict): class PipelineFunctionComment(BaseModel): id: PipelineFunctionCommentID - r"""Function ID""" + r"""Identifier of the Function. Always comment""" conf: FunctionConfSchemaComment diff --git a/src/cribl_control_plane/models/pipelinefunctiondistinct.py b/src/cribl_control_plane/models/pipelinefunctiondistinct.py index 7f348fd6f..5b288278b 100644 --- a/src/cribl_control_plane/models/pipelinefunctiondistinct.py +++ b/src/cribl_control_plane/models/pipelinefunctiondistinct.py @@ -10,7 +10,7 @@ class PipelineFunctionDistinctID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always distinct""" DISTINCT = "distinct" @@ -69,7 +69,7 @@ def serialize_model(self, handler): class PipelineFunctionDistinctTypedDict(TypedDict): id: PipelineFunctionDistinctID - r"""Function ID""" + r"""Identifier of the Function. Always distinct""" conf: DistinctConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -85,7 +85,7 @@ class PipelineFunctionDistinctTypedDict(TypedDict): class PipelineFunctionDistinct(BaseModel): id: PipelineFunctionDistinctID - r"""Function ID""" + r"""Identifier of the Function. Always distinct""" conf: DistinctConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctiondnslookup.py b/src/cribl_control_plane/models/pipelinefunctiondnslookup.py index 705d3581c..0803d93ac 100644 --- a/src/cribl_control_plane/models/pipelinefunctiondnslookup.py +++ b/src/cribl_control_plane/models/pipelinefunctiondnslookup.py @@ -14,14 +14,14 @@ class PipelineFunctionDNSLookupID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always dns_lookup""" DNS_LOOKUP = "dns_lookup" class PipelineFunctionDNSLookupTypedDict(TypedDict): id: PipelineFunctionDNSLookupID - r"""Function ID""" + r"""Identifier of the Function. Always dns_lookup""" conf: FunctionConfSchemaDNSLookupTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionDNSLookupTypedDict(TypedDict): class PipelineFunctionDNSLookup(BaseModel): id: PipelineFunctionDNSLookupID - r"""Function ID""" + r"""Identifier of the Function. Always dns_lookup""" conf: FunctionConfSchemaDNSLookup diff --git a/src/cribl_control_plane/models/pipelinefunctiondrop.py b/src/cribl_control_plane/models/pipelinefunctiondrop.py index 3300c4f85..26864732f 100644 --- a/src/cribl_control_plane/models/pipelinefunctiondrop.py +++ b/src/cribl_control_plane/models/pipelinefunctiondrop.py @@ -14,14 +14,14 @@ class PipelineFunctionDropID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always drop""" DROP = "drop" class PipelineFunctionDropTypedDict(TypedDict): id: PipelineFunctionDropID - r"""Function ID""" + r"""Identifier of the Function. Always drop""" conf: FunctionConfSchemaDropTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionDropTypedDict(TypedDict): class PipelineFunctionDrop(BaseModel): id: PipelineFunctionDropID - r"""Function ID""" + r"""Identifier of the Function. Always drop""" conf: FunctionConfSchemaDrop diff --git a/src/cribl_control_plane/models/pipelinefunctiondropdimensions.py b/src/cribl_control_plane/models/pipelinefunctiondropdimensions.py index 804a26994..c12635489 100644 --- a/src/cribl_control_plane/models/pipelinefunctiondropdimensions.py +++ b/src/cribl_control_plane/models/pipelinefunctiondropdimensions.py @@ -10,7 +10,7 @@ class PipelineFunctionDropDimensionsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always drop_dimensions""" DROP_DIMENSIONS = "drop_dimensions" @@ -55,7 +55,7 @@ def serialize_model(self, handler): class PipelineFunctionDropDimensionsTypedDict(TypedDict): id: PipelineFunctionDropDimensionsID - r"""Function ID""" + r"""Identifier of the Function. Always drop_dimensions""" conf: PipelineFunctionDropDimensionsConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -71,7 +71,7 @@ class PipelineFunctionDropDimensionsTypedDict(TypedDict): class PipelineFunctionDropDimensions(BaseModel): id: PipelineFunctionDropDimensionsID - r"""Function ID""" + r"""Identifier of the Function. Always drop_dimensions""" conf: PipelineFunctionDropDimensionsConf diff --git a/src/cribl_control_plane/models/pipelinefunctiondynamicsampling.py b/src/cribl_control_plane/models/pipelinefunctiondynamicsampling.py index ca0006e79..9acf316ce 100644 --- a/src/cribl_control_plane/models/pipelinefunctiondynamicsampling.py +++ b/src/cribl_control_plane/models/pipelinefunctiondynamicsampling.py @@ -11,7 +11,7 @@ class PipelineFunctionDynamicSamplingID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always dynamic_sampling""" DYNAMIC_SAMPLING = "dynamic_sampling" @@ -86,7 +86,7 @@ def serialize_model(self, handler): class PipelineFunctionDynamicSamplingTypedDict(TypedDict): id: PipelineFunctionDynamicSamplingID - r"""Function ID""" + r"""Identifier of the Function. Always dynamic_sampling""" conf: PipelineFunctionDynamicSamplingConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -102,7 +102,7 @@ class PipelineFunctionDynamicSamplingTypedDict(TypedDict): class PipelineFunctionDynamicSampling(BaseModel): id: PipelineFunctionDynamicSamplingID - r"""Function ID""" + r"""Identifier of the Function. Always dynamic_sampling""" conf: PipelineFunctionDynamicSamplingConf diff --git a/src/cribl_control_plane/models/pipelinefunctioneval.py b/src/cribl_control_plane/models/pipelinefunctioneval.py index 427975fd8..cd1b9a644 100644 --- a/src/cribl_control_plane/models/pipelinefunctioneval.py +++ b/src/cribl_control_plane/models/pipelinefunctioneval.py @@ -14,14 +14,14 @@ class PipelineFunctionEvalID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always eval""" EVAL = "eval" class PipelineFunctionEvalTypedDict(TypedDict): id: PipelineFunctionEvalID - r"""Function ID""" + r"""Identifier of the Function. Always eval""" conf: FunctionConfSchemaEvalTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionEvalTypedDict(TypedDict): class PipelineFunctionEval(BaseModel): id: PipelineFunctionEvalID - r"""Function ID""" + r"""Identifier of the Function. Always eval""" conf: FunctionConfSchemaEval diff --git a/src/cribl_control_plane/models/pipelinefunctioneventbreaker.py b/src/cribl_control_plane/models/pipelinefunctioneventbreaker.py index 3ad1352ed..a9e03623b 100644 --- a/src/cribl_control_plane/models/pipelinefunctioneventbreaker.py +++ b/src/cribl_control_plane/models/pipelinefunctioneventbreaker.py @@ -21,7 +21,7 @@ class PipelineFunctionEventBreakerID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always event_breaker""" EVENT_BREAKER = "event_breaker" @@ -950,7 +950,7 @@ class UnknownPipelineFunctionEventBreakerConf(BaseModel): class PipelineFunctionEventBreakerTypedDict(TypedDict): id: PipelineFunctionEventBreakerID - r"""Function ID""" + r"""Identifier of the Function. Always event_breaker""" conf: PipelineFunctionEventBreakerConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -966,7 +966,7 @@ class PipelineFunctionEventBreakerTypedDict(TypedDict): class PipelineFunctionEventBreaker(BaseModel): id: PipelineFunctionEventBreakerID - r"""Function ID""" + r"""Identifier of the Function. Always event_breaker""" conf: PipelineFunctionEventBreakerConf diff --git a/src/cribl_control_plane/models/pipelinefunctioneventstats.py b/src/cribl_control_plane/models/pipelinefunctioneventstats.py index 86dd11677..674f7244e 100644 --- a/src/cribl_control_plane/models/pipelinefunctioneventstats.py +++ b/src/cribl_control_plane/models/pipelinefunctioneventstats.py @@ -10,7 +10,7 @@ class PipelineFunctionEventstatsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always eventstats""" EVENTSTATS = "eventstats" @@ -60,7 +60,7 @@ def serialize_model(self, handler): class PipelineFunctionEventstatsTypedDict(TypedDict): id: PipelineFunctionEventstatsID - r"""Function ID""" + r"""Identifier of the Function. Always eventstats""" conf: EventstatsConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -76,7 +76,7 @@ class PipelineFunctionEventstatsTypedDict(TypedDict): class PipelineFunctionEventstats(BaseModel): id: PipelineFunctionEventstatsID - r"""Function ID""" + r"""Identifier of the Function. Always eventstats""" conf: EventstatsConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctionexternaldata.py b/src/cribl_control_plane/models/pipelinefunctionexternaldata.py index 7b90dc586..eb9d1bdca 100644 --- a/src/cribl_control_plane/models/pipelinefunctionexternaldata.py +++ b/src/cribl_control_plane/models/pipelinefunctionexternaldata.py @@ -14,14 +14,14 @@ class PipelineFunctionExternaldataID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always externaldata""" EXTERNALDATA = "externaldata" class PipelineFunctionExternaldataTypedDict(TypedDict): id: PipelineFunctionExternaldataID - r"""Function ID""" + r"""Identifier of the Function. Always externaldata""" conf: FunctionConfSchemaExternaldataTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionExternaldataTypedDict(TypedDict): class PipelineFunctionExternaldata(BaseModel): id: PipelineFunctionExternaldataID - r"""Function ID""" + r"""Identifier of the Function. Always externaldata""" conf: FunctionConfSchemaExternaldata diff --git a/src/cribl_control_plane/models/pipelinefunctionflatten.py b/src/cribl_control_plane/models/pipelinefunctionflatten.py index 0619f11c0..d42b510a0 100644 --- a/src/cribl_control_plane/models/pipelinefunctionflatten.py +++ b/src/cribl_control_plane/models/pipelinefunctionflatten.py @@ -14,14 +14,14 @@ class PipelineFunctionFlattenID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always flatten""" FLATTEN = "flatten" class PipelineFunctionFlattenTypedDict(TypedDict): id: PipelineFunctionFlattenID - r"""Function ID""" + r"""Identifier of the Function. Always flatten""" conf: FunctionConfSchemaFlattenTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionFlattenTypedDict(TypedDict): class PipelineFunctionFlatten(BaseModel): id: PipelineFunctionFlattenID - r"""Function ID""" + r"""Identifier of the Function. Always flatten""" conf: FunctionConfSchemaFlatten diff --git a/src/cribl_control_plane/models/pipelinefunctionfoldkeys.py b/src/cribl_control_plane/models/pipelinefunctionfoldkeys.py index 28e7137a3..840863c81 100644 --- a/src/cribl_control_plane/models/pipelinefunctionfoldkeys.py +++ b/src/cribl_control_plane/models/pipelinefunctionfoldkeys.py @@ -14,14 +14,14 @@ class PipelineFunctionFoldkeysID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always foldkeys""" FOLDKEYS = "foldkeys" class PipelineFunctionFoldkeysTypedDict(TypedDict): id: PipelineFunctionFoldkeysID - r"""Function ID""" + r"""Identifier of the Function. Always foldkeys""" conf: FunctionConfSchemaFoldkeysTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionFoldkeysTypedDict(TypedDict): class PipelineFunctionFoldkeys(BaseModel): id: PipelineFunctionFoldkeysID - r"""Function ID""" + r"""Identifier of the Function. Always foldkeys""" conf: FunctionConfSchemaFoldkeys diff --git a/src/cribl_control_plane/models/pipelinefunctiongenstats.py b/src/cribl_control_plane/models/pipelinefunctiongenstats.py index 14defcd2b..1b7ed65e8 100644 --- a/src/cribl_control_plane/models/pipelinefunctiongenstats.py +++ b/src/cribl_control_plane/models/pipelinefunctiongenstats.py @@ -14,14 +14,14 @@ class PipelineFunctionGenStatsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always gen_stats""" GEN_STATS = "gen_stats" class PipelineFunctionGenStatsTypedDict(TypedDict): id: PipelineFunctionGenStatsID - r"""Function ID""" + r"""Identifier of the Function. Always gen_stats""" conf: FunctionConfSchemaGenStatsTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionGenStatsTypedDict(TypedDict): class PipelineFunctionGenStats(BaseModel): id: PipelineFunctionGenStatsID - r"""Function ID""" + r"""Identifier of the Function. Always gen_stats""" conf: FunctionConfSchemaGenStats diff --git a/src/cribl_control_plane/models/pipelinefunctiongeoip.py b/src/cribl_control_plane/models/pipelinefunctiongeoip.py index ff87d18c7..dcba8d07d 100644 --- a/src/cribl_control_plane/models/pipelinefunctiongeoip.py +++ b/src/cribl_control_plane/models/pipelinefunctiongeoip.py @@ -10,7 +10,7 @@ class PipelineFunctionGeoipID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always geoip""" GEOIP = "geoip" @@ -90,7 +90,7 @@ def serialize_model(self, handler): class PipelineFunctionGeoipTypedDict(TypedDict): id: PipelineFunctionGeoipID - r"""Function ID""" + r"""Identifier of the Function. Always geoip""" conf: PipelineFunctionGeoipConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -106,7 +106,7 @@ class PipelineFunctionGeoipTypedDict(TypedDict): class PipelineFunctionGeoip(BaseModel): id: PipelineFunctionGeoipID - r"""Function ID""" + r"""Identifier of the Function. Always geoip""" conf: PipelineFunctionGeoipConf diff --git a/src/cribl_control_plane/models/pipelinefunctiongrok.py b/src/cribl_control_plane/models/pipelinefunctiongrok.py index 65e692325..f4cf280c8 100644 --- a/src/cribl_control_plane/models/pipelinefunctiongrok.py +++ b/src/cribl_control_plane/models/pipelinefunctiongrok.py @@ -14,7 +14,7 @@ class PipelineFunctionGrokID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always grok""" GROK = "grok" @@ -58,7 +58,7 @@ def serialize_model(self, handler): class PipelineFunctionGrokTypedDict(TypedDict): id: PipelineFunctionGrokID - r"""Function ID""" + r"""Identifier of the Function. Always grok""" conf: PipelineFunctionGrokConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -74,7 +74,7 @@ class PipelineFunctionGrokTypedDict(TypedDict): class PipelineFunctionGrok(BaseModel): id: PipelineFunctionGrokID - r"""Function ID""" + r"""Identifier of the Function. Always grok""" conf: PipelineFunctionGrokConf diff --git a/src/cribl_control_plane/models/pipelinefunctionhandlebars.py b/src/cribl_control_plane/models/pipelinefunctionhandlebars.py index 86cc18975..471c4a191 100644 --- a/src/cribl_control_plane/models/pipelinefunctionhandlebars.py +++ b/src/cribl_control_plane/models/pipelinefunctionhandlebars.py @@ -10,7 +10,7 @@ class PipelineFunctionHandlebarsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always handlebars""" HANDLEBARS = "handlebars" @@ -101,7 +101,7 @@ def serialize_model(self, handler): class PipelineFunctionHandlebarsTypedDict(TypedDict): id: PipelineFunctionHandlebarsID - r"""Function ID""" + r"""Identifier of the Function. Always handlebars""" conf: PipelineFunctionHandlebarsConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -117,7 +117,7 @@ class PipelineFunctionHandlebarsTypedDict(TypedDict): class PipelineFunctionHandlebars(BaseModel): id: PipelineFunctionHandlebarsID - r"""Function ID""" + r"""Identifier of the Function. Always handlebars""" conf: PipelineFunctionHandlebarsConf diff --git a/src/cribl_control_plane/models/pipelinefunctionjoin.py b/src/cribl_control_plane/models/pipelinefunctionjoin.py index 92aa71e0b..da0de459b 100644 --- a/src/cribl_control_plane/models/pipelinefunctionjoin.py +++ b/src/cribl_control_plane/models/pipelinefunctionjoin.py @@ -10,7 +10,7 @@ class PipelineFunctionJoinID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always join""" JOIN = "join" @@ -80,7 +80,7 @@ def serialize_model(self, handler): class PipelineFunctionJoinTypedDict(TypedDict): id: PipelineFunctionJoinID - r"""Function ID""" + r"""Identifier of the Function. Always join""" conf: JoinConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -96,7 +96,7 @@ class PipelineFunctionJoinTypedDict(TypedDict): class PipelineFunctionJoin(BaseModel): id: PipelineFunctionJoinID - r"""Function ID""" + r"""Identifier of the Function. Always join""" conf: JoinConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctionjsonunroll.py b/src/cribl_control_plane/models/pipelinefunctionjsonunroll.py index 54ab0a280..27972bb57 100644 --- a/src/cribl_control_plane/models/pipelinefunctionjsonunroll.py +++ b/src/cribl_control_plane/models/pipelinefunctionjsonunroll.py @@ -10,7 +10,7 @@ class PipelineFunctionJSONUnrollID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always json_unroll""" JSON_UNROLL = "json_unroll" @@ -48,7 +48,7 @@ def serialize_model(self, handler): class PipelineFunctionJSONUnrollTypedDict(TypedDict): id: PipelineFunctionJSONUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always json_unroll""" conf: PipelineFunctionJSONUnrollConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -64,7 +64,7 @@ class PipelineFunctionJSONUnrollTypedDict(TypedDict): class PipelineFunctionJSONUnroll(BaseModel): id: PipelineFunctionJSONUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always json_unroll""" conf: PipelineFunctionJSONUnrollConf diff --git a/src/cribl_control_plane/models/pipelinefunctionlakeexport.py b/src/cribl_control_plane/models/pipelinefunctionlakeexport.py index 9dbf30596..a207cd069 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlakeexport.py +++ b/src/cribl_control_plane/models/pipelinefunctionlakeexport.py @@ -10,7 +10,7 @@ class PipelineFunctionLakeExportID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always lake_export""" LAKE_EXPORT = "lake_export" @@ -70,7 +70,7 @@ def serialize_model(self, handler): class PipelineFunctionLakeExportTypedDict(TypedDict): id: PipelineFunctionLakeExportID - r"""Function ID""" + r"""Identifier of the Function. Always lake_export""" conf: LakeExportConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -86,7 +86,7 @@ class PipelineFunctionLakeExportTypedDict(TypedDict): class PipelineFunctionLakeExport(BaseModel): id: PipelineFunctionLakeExportID - r"""Function ID""" + r"""Identifier of the Function. Always lake_export""" conf: LakeExportConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctionlimit.py b/src/cribl_control_plane/models/pipelinefunctionlimit.py index b2d242a27..ab11801a3 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlimit.py +++ b/src/cribl_control_plane/models/pipelinefunctionlimit.py @@ -14,14 +14,14 @@ class PipelineFunctionLimitID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always limit""" LIMIT = "limit" class PipelineFunctionLimitTypedDict(TypedDict): id: PipelineFunctionLimitID - r"""Function ID""" + r"""Identifier of the Function. Always limit""" conf: FunctionConfSchemaLimitTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionLimitTypedDict(TypedDict): class PipelineFunctionLimit(BaseModel): id: PipelineFunctionLimitID - r"""Function ID""" + r"""Identifier of the Function. Always limit""" conf: FunctionConfSchemaLimit diff --git a/src/cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py b/src/cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py index e3e33aadf..1af2b84f4 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py +++ b/src/cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py @@ -14,14 +14,14 @@ class PipelineFunctionLocalSearchDatatypeParserID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always local_search_datatype_parser""" LOCAL_SEARCH_DATATYPE_PARSER = "local_search_datatype_parser" class PipelineFunctionLocalSearchDatatypeParserTypedDict(TypedDict): id: PipelineFunctionLocalSearchDatatypeParserID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_datatype_parser""" conf: FunctionConfSchemaLocalSearchDatatypeParserTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionLocalSearchDatatypeParserTypedDict(TypedDict): class PipelineFunctionLocalSearchDatatypeParser(BaseModel): id: PipelineFunctionLocalSearchDatatypeParserID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_datatype_parser""" conf: FunctionConfSchemaLocalSearchDatatypeParser diff --git a/src/cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py b/src/cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py index 19b168dbe..4df92cb76 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py +++ b/src/cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py @@ -14,14 +14,14 @@ class PipelineFunctionLocalSearchRulesetRunnerID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always local_search_ruleset_runner""" LOCAL_SEARCH_RULESET_RUNNER = "local_search_ruleset_runner" class PipelineFunctionLocalSearchRulesetRunnerTypedDict(TypedDict): id: PipelineFunctionLocalSearchRulesetRunnerID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_ruleset_runner""" conf: FunctionConfSchemaLocalSearchRulesetRunnerTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionLocalSearchRulesetRunnerTypedDict(TypedDict): class PipelineFunctionLocalSearchRulesetRunner(BaseModel): id: PipelineFunctionLocalSearchRulesetRunnerID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_ruleset_runner""" conf: FunctionConfSchemaLocalSearchRulesetRunner diff --git a/src/cribl_control_plane/models/pipelinefunctionlocalsearchschemamapper.py b/src/cribl_control_plane/models/pipelinefunctionlocalsearchschemamapper.py index 014332224..e5e1ea88c 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlocalsearchschemamapper.py +++ b/src/cribl_control_plane/models/pipelinefunctionlocalsearchschemamapper.py @@ -14,14 +14,14 @@ class PipelineFunctionLocalSearchSchemaMapperID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always local_search_schema_mapper""" LOCAL_SEARCH_SCHEMA_MAPPER = "local_search_schema_mapper" class PipelineFunctionLocalSearchSchemaMapperTypedDict(TypedDict): id: PipelineFunctionLocalSearchSchemaMapperID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_schema_mapper""" conf: FunctionConfSchemaLocalSearchSchemaMapperTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionLocalSearchSchemaMapperTypedDict(TypedDict): class PipelineFunctionLocalSearchSchemaMapper(BaseModel): id: PipelineFunctionLocalSearchSchemaMapperID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_schema_mapper""" conf: FunctionConfSchemaLocalSearchSchemaMapper diff --git a/src/cribl_control_plane/models/pipelinefunctionlocalsearchtimerangenormalizer.py b/src/cribl_control_plane/models/pipelinefunctionlocalsearchtimerangenormalizer.py index d469c0dd1..22d900ba4 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlocalsearchtimerangenormalizer.py +++ b/src/cribl_control_plane/models/pipelinefunctionlocalsearchtimerangenormalizer.py @@ -14,14 +14,14 @@ class PipelineFunctionLocalSearchTimeRangeNormalizerID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always local_search_time_range_normalizer""" LOCAL_SEARCH_TIME_RANGE_NORMALIZER = "local_search_time_range_normalizer" class PipelineFunctionLocalSearchTimeRangeNormalizerTypedDict(TypedDict): id: PipelineFunctionLocalSearchTimeRangeNormalizerID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_time_range_normalizer""" conf: FunctionConfSchemaLocalSearchTimeRangeNormalizerTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionLocalSearchTimeRangeNormalizerTypedDict(TypedDict): class PipelineFunctionLocalSearchTimeRangeNormalizer(BaseModel): id: PipelineFunctionLocalSearchTimeRangeNormalizerID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_time_range_normalizer""" conf: FunctionConfSchemaLocalSearchTimeRangeNormalizer diff --git a/src/cribl_control_plane/models/pipelinefunctionlocalsearchtransformer.py b/src/cribl_control_plane/models/pipelinefunctionlocalsearchtransformer.py index 2ea8f5a93..8a750fef8 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlocalsearchtransformer.py +++ b/src/cribl_control_plane/models/pipelinefunctionlocalsearchtransformer.py @@ -14,14 +14,14 @@ class PipelineFunctionLocalSearchTransformerID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always local_search_transformer""" LOCAL_SEARCH_TRANSFORMER = "local_search_transformer" class PipelineFunctionLocalSearchTransformerTypedDict(TypedDict): id: PipelineFunctionLocalSearchTransformerID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_transformer""" conf: FunctionConfSchemaLocalSearchTransformerTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionLocalSearchTransformerTypedDict(TypedDict): class PipelineFunctionLocalSearchTransformer(BaseModel): id: PipelineFunctionLocalSearchTransformerID - r"""Function ID""" + r"""Identifier of the Function. Always local_search_transformer""" conf: FunctionConfSchemaLocalSearchTransformer diff --git a/src/cribl_control_plane/models/pipelinefunctionlookup.py b/src/cribl_control_plane/models/pipelinefunctionlookup.py index 19d3b2aa3..fe2d6600d 100644 --- a/src/cribl_control_plane/models/pipelinefunctionlookup.py +++ b/src/cribl_control_plane/models/pipelinefunctionlookup.py @@ -11,7 +11,7 @@ class PipelineFunctionLookupID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always lookup""" LOOKUP = "lookup" @@ -205,7 +205,7 @@ def serialize_model(self, handler): class PipelineFunctionLookupTypedDict(TypedDict): id: PipelineFunctionLookupID - r"""Function ID""" + r"""Identifier of the Function. Always lookup""" conf: PipelineFunctionLookupConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -221,7 +221,7 @@ class PipelineFunctionLookupTypedDict(TypedDict): class PipelineFunctionLookup(BaseModel): id: PipelineFunctionLookupID - r"""Function ID""" + r"""Identifier of the Function. Always lookup""" conf: PipelineFunctionLookupConf diff --git a/src/cribl_control_plane/models/pipelinefunctionmask.py b/src/cribl_control_plane/models/pipelinefunctionmask.py index 60fddcb9f..501e7729e 100644 --- a/src/cribl_control_plane/models/pipelinefunctionmask.py +++ b/src/cribl_control_plane/models/pipelinefunctionmask.py @@ -14,7 +14,7 @@ class PipelineFunctionMaskID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always mask""" MASK = "mask" @@ -96,7 +96,7 @@ def serialize_model(self, handler): class PipelineFunctionMaskTypedDict(TypedDict): id: PipelineFunctionMaskID - r"""Function ID""" + r"""Identifier of the Function. Always mask""" conf: PipelineFunctionMaskConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -112,7 +112,7 @@ class PipelineFunctionMaskTypedDict(TypedDict): class PipelineFunctionMask(BaseModel): id: PipelineFunctionMaskID - r"""Function ID""" + r"""Identifier of the Function. Always mask""" conf: PipelineFunctionMaskConf diff --git a/src/cribl_control_plane/models/pipelinefunctionmvexpand.py b/src/cribl_control_plane/models/pipelinefunctionmvexpand.py index 9f9e4dd99..e30aa0733 100644 --- a/src/cribl_control_plane/models/pipelinefunctionmvexpand.py +++ b/src/cribl_control_plane/models/pipelinefunctionmvexpand.py @@ -11,7 +11,7 @@ class PipelineFunctionMvExpandID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always mv_expand""" MV_EXPAND = "mv_expand" @@ -90,7 +90,7 @@ def serialize_model(self, handler): class PipelineFunctionMvExpandTypedDict(TypedDict): id: PipelineFunctionMvExpandID - r"""Function ID""" + r"""Identifier of the Function. Always mv_expand""" conf: PipelineFunctionMvExpandConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -106,7 +106,7 @@ class PipelineFunctionMvExpandTypedDict(TypedDict): class PipelineFunctionMvExpand(BaseModel): id: PipelineFunctionMvExpandID - r"""Function ID""" + r"""Identifier of the Function. Always mv_expand""" conf: PipelineFunctionMvExpandConf diff --git a/src/cribl_control_plane/models/pipelinefunctionmvpull.py b/src/cribl_control_plane/models/pipelinefunctionmvpull.py index 62f33b1ba..47e5b4314 100644 --- a/src/cribl_control_plane/models/pipelinefunctionmvpull.py +++ b/src/cribl_control_plane/models/pipelinefunctionmvpull.py @@ -10,7 +10,7 @@ class PipelineFunctionMvPullID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always mv_pull""" MV_PULL = "mv_pull" @@ -67,7 +67,7 @@ def serialize_model(self, handler): class PipelineFunctionMvPullTypedDict(TypedDict): id: PipelineFunctionMvPullID - r"""Function ID""" + r"""Identifier of the Function. Always mv_pull""" conf: PipelineFunctionMvPullConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -83,7 +83,7 @@ class PipelineFunctionMvPullTypedDict(TypedDict): class PipelineFunctionMvPull(BaseModel): id: PipelineFunctionMvPullID - r"""Function ID""" + r"""Identifier of the Function. Always mv_pull""" conf: PipelineFunctionMvPullConf diff --git a/src/cribl_control_plane/models/pipelinefunctionnotificationpolicies.py b/src/cribl_control_plane/models/pipelinefunctionnotificationpolicies.py index 4d8b556b9..9792728aa 100644 --- a/src/cribl_control_plane/models/pipelinefunctionnotificationpolicies.py +++ b/src/cribl_control_plane/models/pipelinefunctionnotificationpolicies.py @@ -14,14 +14,14 @@ class PipelineFunctionNotificationPoliciesID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always notification_policies""" NOTIFICATION_POLICIES = "notification_policies" class PipelineFunctionNotificationPoliciesTypedDict(TypedDict): id: PipelineFunctionNotificationPoliciesID - r"""Function ID""" + r"""Identifier of the Function. Always notification_policies""" conf: FunctionConfSchemaNotificationPoliciesTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionNotificationPoliciesTypedDict(TypedDict): class PipelineFunctionNotificationPolicies(BaseModel): id: PipelineFunctionNotificationPoliciesID - r"""Function ID""" + r"""Identifier of the Function. Always notification_policies""" conf: FunctionConfSchemaNotificationPolicies diff --git a/src/cribl_control_plane/models/pipelinefunctionnotifications.py b/src/cribl_control_plane/models/pipelinefunctionnotifications.py index 5740fe2a3..0515b268b 100644 --- a/src/cribl_control_plane/models/pipelinefunctionnotifications.py +++ b/src/cribl_control_plane/models/pipelinefunctionnotifications.py @@ -10,7 +10,7 @@ class PipelineFunctionNotificationsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always notifications""" NOTIFICATIONS = "notifications" @@ -37,7 +37,7 @@ class PipelineFunctionNotificationsConf(BaseModel): class PipelineFunctionNotificationsTypedDict(TypedDict): id: PipelineFunctionNotificationsID - r"""Function ID""" + r"""Identifier of the Function. Always notifications""" conf: PipelineFunctionNotificationsConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -53,7 +53,7 @@ class PipelineFunctionNotificationsTypedDict(TypedDict): class PipelineFunctionNotifications(BaseModel): id: PipelineFunctionNotificationsID - r"""Function ID""" + r"""Identifier of the Function. Always notifications""" conf: PipelineFunctionNotificationsConf diff --git a/src/cribl_control_plane/models/pipelinefunctionnotify.py b/src/cribl_control_plane/models/pipelinefunctionnotify.py index ff64c2618..6ca78a482 100644 --- a/src/cribl_control_plane/models/pipelinefunctionnotify.py +++ b/src/cribl_control_plane/models/pipelinefunctionnotify.py @@ -11,7 +11,7 @@ class PipelineFunctionNotifyID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always notify""" NOTIFY = "notify" @@ -171,7 +171,7 @@ def serialize_model(self, handler): class PipelineFunctionNotifyTypedDict(TypedDict): id: PipelineFunctionNotifyID - r"""Function ID""" + r"""Identifier of the Function. Always notify""" conf: NotifyConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -187,7 +187,7 @@ class PipelineFunctionNotifyTypedDict(TypedDict): class PipelineFunctionNotify(BaseModel): id: PipelineFunctionNotifyID - r"""Function ID""" + r"""Identifier of the Function. Always notify""" conf: NotifyConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctionnumerify.py b/src/cribl_control_plane/models/pipelinefunctionnumerify.py index befab00b9..11510a6d7 100644 --- a/src/cribl_control_plane/models/pipelinefunctionnumerify.py +++ b/src/cribl_control_plane/models/pipelinefunctionnumerify.py @@ -14,14 +14,14 @@ class PipelineFunctionNumerifyID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always numerify""" NUMERIFY = "numerify" class PipelineFunctionNumerifyTypedDict(TypedDict): id: PipelineFunctionNumerifyID - r"""Function ID""" + r"""Identifier of the Function. Always numerify""" conf: FunctionConfSchemaNumerifyTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionNumerifyTypedDict(TypedDict): class PipelineFunctionNumerify(BaseModel): id: PipelineFunctionNumerifyID - r"""Function ID""" + r"""Identifier of the Function. Always numerify""" conf: FunctionConfSchemaNumerify diff --git a/src/cribl_control_plane/models/pipelinefunctionotlplogs.py b/src/cribl_control_plane/models/pipelinefunctionotlplogs.py index 5417933df..242e4f770 100644 --- a/src/cribl_control_plane/models/pipelinefunctionotlplogs.py +++ b/src/cribl_control_plane/models/pipelinefunctionotlplogs.py @@ -14,14 +14,14 @@ class PipelineFunctionOtlpLogsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always otlp_logs""" OTLP_LOGS = "otlp_logs" class PipelineFunctionOtlpLogsTypedDict(TypedDict): id: PipelineFunctionOtlpLogsID - r"""Function ID""" + r"""Identifier of the Function. Always otlp_logs""" conf: FunctionConfSchemaOtlpLogsTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionOtlpLogsTypedDict(TypedDict): class PipelineFunctionOtlpLogs(BaseModel): id: PipelineFunctionOtlpLogsID - r"""Function ID""" + r"""Identifier of the Function. Always otlp_logs""" conf: FunctionConfSchemaOtlpLogs diff --git a/src/cribl_control_plane/models/pipelinefunctionotlpmetrics.py b/src/cribl_control_plane/models/pipelinefunctionotlpmetrics.py index 97cfd0cdb..1545fd4d9 100644 --- a/src/cribl_control_plane/models/pipelinefunctionotlpmetrics.py +++ b/src/cribl_control_plane/models/pipelinefunctionotlpmetrics.py @@ -14,14 +14,14 @@ class PipelineFunctionOtlpMetricsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always otlp_metrics""" OTLP_METRICS = "otlp_metrics" class PipelineFunctionOtlpMetricsTypedDict(TypedDict): id: PipelineFunctionOtlpMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always otlp_metrics""" conf: FunctionConfSchemaOtlpMetricsTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionOtlpMetricsTypedDict(TypedDict): class PipelineFunctionOtlpMetrics(BaseModel): id: PipelineFunctionOtlpMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always otlp_metrics""" conf: FunctionConfSchemaOtlpMetrics diff --git a/src/cribl_control_plane/models/pipelinefunctionotlptraces.py b/src/cribl_control_plane/models/pipelinefunctionotlptraces.py index cecd8af4d..f5abf2765 100644 --- a/src/cribl_control_plane/models/pipelinefunctionotlptraces.py +++ b/src/cribl_control_plane/models/pipelinefunctionotlptraces.py @@ -14,14 +14,14 @@ class PipelineFunctionOtlpTracesID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always otlp_traces""" OTLP_TRACES = "otlp_traces" class PipelineFunctionOtlpTracesTypedDict(TypedDict): id: PipelineFunctionOtlpTracesID - r"""Function ID""" + r"""Identifier of the Function. Always otlp_traces""" conf: FunctionConfSchemaOtlpTracesTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionOtlpTracesTypedDict(TypedDict): class PipelineFunctionOtlpTraces(BaseModel): id: PipelineFunctionOtlpTracesID - r"""Function ID""" + r"""Identifier of the Function. Always otlp_traces""" conf: FunctionConfSchemaOtlpTraces diff --git a/src/cribl_control_plane/models/pipelinefunctionpack.py b/src/cribl_control_plane/models/pipelinefunctionpack.py index 4e285ae5a..29f32ef11 100644 --- a/src/cribl_control_plane/models/pipelinefunctionpack.py +++ b/src/cribl_control_plane/models/pipelinefunctionpack.py @@ -10,7 +10,7 @@ class PipelineFunctionPackID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always pack""" PACK = "pack" @@ -48,7 +48,7 @@ def serialize_model(self, handler): class PipelineFunctionPackTypedDict(TypedDict): id: PipelineFunctionPackID - r"""Function ID""" + r"""Identifier of the Function. Always pack""" conf: PipelineFunctionPackConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -64,7 +64,7 @@ class PipelineFunctionPackTypedDict(TypedDict): class PipelineFunctionPack(BaseModel): id: PipelineFunctionPackID - r"""Function ID""" + r"""Identifier of the Function. Always pack""" conf: PipelineFunctionPackConf diff --git a/src/cribl_control_plane/models/pipelinefunctionpivot.py b/src/cribl_control_plane/models/pipelinefunctionpivot.py index 41d4cc716..0fe0f9587 100644 --- a/src/cribl_control_plane/models/pipelinefunctionpivot.py +++ b/src/cribl_control_plane/models/pipelinefunctionpivot.py @@ -10,7 +10,7 @@ class PipelineFunctionPivotID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always pivot""" PIVOT = "pivot" @@ -37,7 +37,7 @@ class SimplePivotConfiguration(BaseModel): class PipelineFunctionPivotTypedDict(TypedDict): id: PipelineFunctionPivotID - r"""Function ID""" + r"""Identifier of the Function. Always pivot""" conf: SimplePivotConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -53,7 +53,7 @@ class PipelineFunctionPivotTypedDict(TypedDict): class PipelineFunctionPivot(BaseModel): id: PipelineFunctionPivotID - r"""Function ID""" + r"""Identifier of the Function. Always pivot""" conf: SimplePivotConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctionpublishmetrics.py b/src/cribl_control_plane/models/pipelinefunctionpublishmetrics.py index e229c9f8b..91c9ee025 100644 --- a/src/cribl_control_plane/models/pipelinefunctionpublishmetrics.py +++ b/src/cribl_control_plane/models/pipelinefunctionpublishmetrics.py @@ -14,14 +14,14 @@ class PipelineFunctionPublishMetricsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always publish_metrics""" PUBLISH_METRICS = "publish_metrics" class PipelineFunctionPublishMetricsTypedDict(TypedDict): id: PipelineFunctionPublishMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always publish_metrics""" conf: FunctionConfSchemaPublishMetricsTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionPublishMetricsTypedDict(TypedDict): class PipelineFunctionPublishMetrics(BaseModel): id: PipelineFunctionPublishMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always publish_metrics""" conf: FunctionConfSchemaPublishMetrics diff --git a/src/cribl_control_plane/models/pipelinefunctionredis.py b/src/cribl_control_plane/models/pipelinefunctionredis.py index 11d36412e..a2ff76d47 100644 --- a/src/cribl_control_plane/models/pipelinefunctionredis.py +++ b/src/cribl_control_plane/models/pipelinefunctionredis.py @@ -25,7 +25,7 @@ class PipelineFunctionRedisID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always redis""" REDIS = "redis" @@ -1745,7 +1745,7 @@ class UnknownPipelineFunctionRedisConf(BaseModel): class PipelineFunctionRedisTypedDict(TypedDict): id: PipelineFunctionRedisID - r"""Function ID""" + r"""Identifier of the Function. Always redis""" conf: PipelineFunctionRedisConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -1761,7 +1761,7 @@ class PipelineFunctionRedisTypedDict(TypedDict): class PipelineFunctionRedis(BaseModel): id: PipelineFunctionRedisID - r"""Function ID""" + r"""Identifier of the Function. Always redis""" conf: PipelineFunctionRedisConf diff --git a/src/cribl_control_plane/models/pipelinefunctionregexextract.py b/src/cribl_control_plane/models/pipelinefunctionregexextract.py index f23577751..9a6c26928 100644 --- a/src/cribl_control_plane/models/pipelinefunctionregexextract.py +++ b/src/cribl_control_plane/models/pipelinefunctionregexextract.py @@ -14,7 +14,7 @@ class PipelineFunctionRegexExtractID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always regex_extract""" REGEX_EXTRACT = "regex_extract" @@ -76,7 +76,7 @@ def serialize_model(self, handler): class PipelineFunctionRegexExtractTypedDict(TypedDict): id: PipelineFunctionRegexExtractID - r"""Function ID""" + r"""Identifier of the Function. Always regex_extract""" conf: PipelineFunctionRegexExtractConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -92,7 +92,7 @@ class PipelineFunctionRegexExtractTypedDict(TypedDict): class PipelineFunctionRegexExtract(BaseModel): id: PipelineFunctionRegexExtractID - r"""Function ID""" + r"""Identifier of the Function. Always regex_extract""" conf: PipelineFunctionRegexExtractConf diff --git a/src/cribl_control_plane/models/pipelinefunctionregexfilter.py b/src/cribl_control_plane/models/pipelinefunctionregexfilter.py index ef89a2d3f..552c2c985 100644 --- a/src/cribl_control_plane/models/pipelinefunctionregexfilter.py +++ b/src/cribl_control_plane/models/pipelinefunctionregexfilter.py @@ -14,14 +14,14 @@ class PipelineFunctionRegexFilterID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always regex_filter""" REGEX_FILTER = "regex_filter" class PipelineFunctionRegexFilterTypedDict(TypedDict): id: PipelineFunctionRegexFilterID - r"""Function ID""" + r"""Identifier of the Function. Always regex_filter""" conf: FunctionConfSchemaRegexFilterTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionRegexFilterTypedDict(TypedDict): class PipelineFunctionRegexFilter(BaseModel): id: PipelineFunctionRegexFilterID - r"""Function ID""" + r"""Identifier of the Function. Always regex_filter""" conf: FunctionConfSchemaRegexFilter diff --git a/src/cribl_control_plane/models/pipelinefunctionrename.py b/src/cribl_control_plane/models/pipelinefunctionrename.py index fdc172494..5933ed46c 100644 --- a/src/cribl_control_plane/models/pipelinefunctionrename.py +++ b/src/cribl_control_plane/models/pipelinefunctionrename.py @@ -14,14 +14,14 @@ class PipelineFunctionRenameID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always rename""" RENAME = "rename" class PipelineFunctionRenameTypedDict(TypedDict): id: PipelineFunctionRenameID - r"""Function ID""" + r"""Identifier of the Function. Always rename""" conf: FunctionConfSchemaRenameTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionRenameTypedDict(TypedDict): class PipelineFunctionRename(BaseModel): id: PipelineFunctionRenameID - r"""Function ID""" + r"""Identifier of the Function. Always rename""" conf: FunctionConfSchemaRename diff --git a/src/cribl_control_plane/models/pipelinefunctionrollupmetrics.py b/src/cribl_control_plane/models/pipelinefunctionrollupmetrics.py index 70fa99146..6cc0ef1f2 100644 --- a/src/cribl_control_plane/models/pipelinefunctionrollupmetrics.py +++ b/src/cribl_control_plane/models/pipelinefunctionrollupmetrics.py @@ -14,14 +14,14 @@ class PipelineFunctionRollupMetricsID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always rollup_metrics""" ROLLUP_METRICS = "rollup_metrics" class PipelineFunctionRollupMetricsTypedDict(TypedDict): id: PipelineFunctionRollupMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always rollup_metrics""" conf: FunctionConfSchemaRollupMetricsTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionRollupMetricsTypedDict(TypedDict): class PipelineFunctionRollupMetrics(BaseModel): id: PipelineFunctionRollupMetricsID - r"""Function ID""" + r"""Identifier of the Function. Always rollup_metrics""" conf: FunctionConfSchemaRollupMetrics diff --git a/src/cribl_control_plane/models/pipelinefunctionsampling.py b/src/cribl_control_plane/models/pipelinefunctionsampling.py index 28603c2b3..7c846d7e4 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsampling.py +++ b/src/cribl_control_plane/models/pipelinefunctionsampling.py @@ -14,14 +14,14 @@ class PipelineFunctionSamplingID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always sampling""" SAMPLING = "sampling" class PipelineFunctionSamplingTypedDict(TypedDict): id: PipelineFunctionSamplingID - r"""Function ID""" + r"""Identifier of the Function. Always sampling""" conf: FunctionConfSchemaSamplingTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionSamplingTypedDict(TypedDict): class PipelineFunctionSampling(BaseModel): id: PipelineFunctionSamplingID - r"""Function ID""" + r"""Identifier of the Function. Always sampling""" conf: FunctionConfSchemaSampling diff --git a/src/cribl_control_plane/models/pipelinefunctionsearchengineexport.py b/src/cribl_control_plane/models/pipelinefunctionsearchengineexport.py index 2820cb443..6556c00ac 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsearchengineexport.py +++ b/src/cribl_control_plane/models/pipelinefunctionsearchengineexport.py @@ -10,7 +10,7 @@ class PipelineFunctionSearchEngineExportID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always search_engine_export""" SEARCH_ENGINE_EXPORT = "search_engine_export" @@ -65,7 +65,7 @@ def serialize_model(self, handler): class PipelineFunctionSearchEngineExportTypedDict(TypedDict): id: PipelineFunctionSearchEngineExportID - r"""Function ID""" + r"""Identifier of the Function. Always search_engine_export""" conf: SearchEngineExportConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -81,7 +81,7 @@ class PipelineFunctionSearchEngineExportTypedDict(TypedDict): class PipelineFunctionSearchEngineExport(BaseModel): id: PipelineFunctionSearchEngineExportID - r"""Function ID""" + r"""Identifier of the Function. Always search_engine_export""" conf: SearchEngineExportConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctionsend.py b/src/cribl_control_plane/models/pipelinefunctionsend.py index f5888db73..c3e0d97c7 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsend.py +++ b/src/cribl_control_plane/models/pipelinefunctionsend.py @@ -11,7 +11,7 @@ class PipelineFunctionSendID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always send""" SEND = "send" @@ -115,7 +115,7 @@ def serialize_model(self, handler): class PipelineFunctionSendTypedDict(TypedDict): id: PipelineFunctionSendID - r"""Function ID""" + r"""Identifier of the Function. Always send""" conf: SendConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -131,7 +131,7 @@ class PipelineFunctionSendTypedDict(TypedDict): class PipelineFunctionSend(BaseModel): id: PipelineFunctionSendID - r"""Function ID""" + r"""Identifier of the Function. Always send""" conf: SendConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py b/src/cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py index 6eadf2336..fdb01f4f9 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py +++ b/src/cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py @@ -10,7 +10,7 @@ class PipelineFunctionSensitiveDataScannerID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always sensitive_data_scanner""" SENSITIVE_DATA_SCANNER = "sensitive_data_scanner" @@ -139,7 +139,7 @@ def serialize_model(self, handler): class PipelineFunctionSensitiveDataScannerTypedDict(TypedDict): id: PipelineFunctionSensitiveDataScannerID - r"""Function ID""" + r"""Identifier of the Function. Always sensitive_data_scanner""" conf: PipelineFunctionSensitiveDataScannerConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -155,7 +155,7 @@ class PipelineFunctionSensitiveDataScannerTypedDict(TypedDict): class PipelineFunctionSensitiveDataScanner(BaseModel): id: PipelineFunctionSensitiveDataScannerID - r"""Function ID""" + r"""Identifier of the Function. Always sensitive_data_scanner""" conf: PipelineFunctionSensitiveDataScannerConf diff --git a/src/cribl_control_plane/models/pipelinefunctionserde.py b/src/cribl_control_plane/models/pipelinefunctionserde.py index 56b2dc7ae..e88557464 100644 --- a/src/cribl_control_plane/models/pipelinefunctionserde.py +++ b/src/cribl_control_plane/models/pipelinefunctionserde.py @@ -23,7 +23,7 @@ class PipelineFunctionSerdeID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always serde""" SERDE = "serde" @@ -1073,7 +1073,7 @@ class UnknownPipelineFunctionSerdeConf(BaseModel): class PipelineFunctionSerdeTypedDict(TypedDict): id: PipelineFunctionSerdeID - r"""Function ID""" + r"""Identifier of the Function. Always serde""" conf: PipelineFunctionSerdeConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -1089,7 +1089,7 @@ class PipelineFunctionSerdeTypedDict(TypedDict): class PipelineFunctionSerde(BaseModel): id: PipelineFunctionSerdeID - r"""Function ID""" + r"""Identifier of the Function. Always serde""" conf: PipelineFunctionSerdeConf diff --git a/src/cribl_control_plane/models/pipelinefunctionserialize.py b/src/cribl_control_plane/models/pipelinefunctionserialize.py index 0db5d95cd..9f4b93ef3 100644 --- a/src/cribl_control_plane/models/pipelinefunctionserialize.py +++ b/src/cribl_control_plane/models/pipelinefunctionserialize.py @@ -14,7 +14,7 @@ class PipelineFunctionSerializeID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always serialize""" SERIALIZE = "serialize" @@ -376,7 +376,7 @@ class UnknownPipelineFunctionSerializeConf(BaseModel): class PipelineFunctionSerializeTypedDict(TypedDict): id: PipelineFunctionSerializeID - r"""Function ID""" + r"""Identifier of the Function. Always serialize""" conf: PipelineFunctionSerializeConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -392,7 +392,7 @@ class PipelineFunctionSerializeTypedDict(TypedDict): class PipelineFunctionSerialize(BaseModel): id: PipelineFunctionSerializeID - r"""Function ID""" + r"""Identifier of the Function. Always serialize""" conf: PipelineFunctionSerializeConf diff --git a/src/cribl_control_plane/models/pipelinefunctionsidlookup.py b/src/cribl_control_plane/models/pipelinefunctionsidlookup.py index 1d8ddf70e..f976c76f8 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsidlookup.py +++ b/src/cribl_control_plane/models/pipelinefunctionsidlookup.py @@ -14,14 +14,14 @@ class PipelineFunctionSidlookupID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always sidlookup""" SIDLOOKUP = "sidlookup" class PipelineFunctionSidlookupTypedDict(TypedDict): id: PipelineFunctionSidlookupID - r"""Function ID""" + r"""Identifier of the Function. Always sidlookup""" conf: FunctionConfSchemaSidlookupTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionSidlookupTypedDict(TypedDict): class PipelineFunctionSidlookup(BaseModel): id: PipelineFunctionSidlookupID - r"""Function ID""" + r"""Identifier of the Function. Always sidlookup""" conf: FunctionConfSchemaSidlookup diff --git a/src/cribl_control_plane/models/pipelinefunctionsignalfilter.py b/src/cribl_control_plane/models/pipelinefunctionsignalfilter.py index 727dd3018..12d8f9cfa 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsignalfilter.py +++ b/src/cribl_control_plane/models/pipelinefunctionsignalfilter.py @@ -14,14 +14,14 @@ class PipelineFunctionSignalFilterID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always signal_filter""" SIGNAL_FILTER = "signal_filter" class PipelineFunctionSignalFilterTypedDict(TypedDict): id: PipelineFunctionSignalFilterID - r"""Function ID""" + r"""Identifier of the Function. Always signal_filter""" conf: FunctionConfSchemaSignalFilterTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionSignalFilterTypedDict(TypedDict): class PipelineFunctionSignalFilter(BaseModel): id: PipelineFunctionSignalFilterID - r"""Function ID""" + r"""Identifier of the Function. Always signal_filter""" conf: FunctionConfSchemaSignalFilter diff --git a/src/cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py b/src/cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py index 19005a162..a076bdad5 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py +++ b/src/cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py @@ -14,14 +14,14 @@ class PipelineFunctionSnmpTrapSerializeID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always snmp_trap_serialize""" SNMP_TRAP_SERIALIZE = "snmp_trap_serialize" class PipelineFunctionSnmpTrapSerializeTypedDict(TypedDict): id: PipelineFunctionSnmpTrapSerializeID - r"""Function ID""" + r"""Identifier of the Function. Always snmp_trap_serialize""" conf: FunctionConfSchemaSnmpTrapSerializeTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionSnmpTrapSerializeTypedDict(TypedDict): class PipelineFunctionSnmpTrapSerialize(BaseModel): id: PipelineFunctionSnmpTrapSerializeID - r"""Function ID""" + r"""Identifier of the Function. Always snmp_trap_serialize""" conf: FunctionConfSchemaSnmpTrapSerialize diff --git a/src/cribl_control_plane/models/pipelinefunctionsort.py b/src/cribl_control_plane/models/pipelinefunctionsort.py index 0eccf8353..875ddce01 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsort.py +++ b/src/cribl_control_plane/models/pipelinefunctionsort.py @@ -10,7 +10,7 @@ class PipelineFunctionSortID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always sort""" SORT = "sort" @@ -65,7 +65,7 @@ def serialize_model(self, handler): class PipelineFunctionSortTypedDict(TypedDict): id: PipelineFunctionSortID - r"""Function ID""" + r"""Identifier of the Function. Always sort""" conf: SortConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -81,7 +81,7 @@ class PipelineFunctionSortTypedDict(TypedDict): class PipelineFunctionSort(BaseModel): id: PipelineFunctionSortID - r"""Function ID""" + r"""Identifier of the Function. Always sort""" conf: SortConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctionstore.py b/src/cribl_control_plane/models/pipelinefunctionstore.py index 5e8ea48de..f93a89384 100644 --- a/src/cribl_control_plane/models/pipelinefunctionstore.py +++ b/src/cribl_control_plane/models/pipelinefunctionstore.py @@ -10,7 +10,7 @@ class PipelineFunctionStoreID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always store""" STORE = "store" @@ -112,7 +112,7 @@ def serialize_model(self, handler): class PipelineFunctionStoreTypedDict(TypedDict): id: PipelineFunctionStoreID - r"""Function ID""" + r"""Identifier of the Function. Always store""" conf: StoreFunctionConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -128,7 +128,7 @@ class PipelineFunctionStoreTypedDict(TypedDict): class PipelineFunctionStore(BaseModel): id: PipelineFunctionStoreID - r"""Function ID""" + r"""Identifier of the Function. Always store""" conf: StoreFunctionConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctionsuppress.py b/src/cribl_control_plane/models/pipelinefunctionsuppress.py index 878668831..3f514ee87 100644 --- a/src/cribl_control_plane/models/pipelinefunctionsuppress.py +++ b/src/cribl_control_plane/models/pipelinefunctionsuppress.py @@ -10,7 +10,7 @@ class PipelineFunctionSuppressID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always suppress""" SUPPRESS = "suppress" @@ -88,7 +88,7 @@ def serialize_model(self, handler): class PipelineFunctionSuppressTypedDict(TypedDict): id: PipelineFunctionSuppressID - r"""Function ID""" + r"""Identifier of the Function. Always suppress""" conf: PipelineFunctionSuppressConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -104,7 +104,7 @@ class PipelineFunctionSuppressTypedDict(TypedDict): class PipelineFunctionSuppress(BaseModel): id: PipelineFunctionSuppressID - r"""Function ID""" + r"""Identifier of the Function. Always suppress""" conf: PipelineFunctionSuppressConf diff --git a/src/cribl_control_plane/models/pipelinefunctiontee.py b/src/cribl_control_plane/models/pipelinefunctiontee.py index 49d1abcdb..dc26578cc 100644 --- a/src/cribl_control_plane/models/pipelinefunctiontee.py +++ b/src/cribl_control_plane/models/pipelinefunctiontee.py @@ -10,7 +10,7 @@ class PipelineFunctionTeeID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always tee""" TEE = "tee" @@ -58,7 +58,7 @@ def serialize_model(self, handler): class PipelineFunctionTeeTypedDict(TypedDict): id: PipelineFunctionTeeID - r"""Function ID""" + r"""Identifier of the Function. Always tee""" conf: PipelineFunctionTeeConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -74,7 +74,7 @@ class PipelineFunctionTeeTypedDict(TypedDict): class PipelineFunctionTee(BaseModel): id: PipelineFunctionTeeID - r"""Function ID""" + r"""Identifier of the Function. Always tee""" conf: PipelineFunctionTeeConf diff --git a/src/cribl_control_plane/models/pipelinefunctiontrimtimestamp.py b/src/cribl_control_plane/models/pipelinefunctiontrimtimestamp.py index d77c0130d..0083bbf6d 100644 --- a/src/cribl_control_plane/models/pipelinefunctiontrimtimestamp.py +++ b/src/cribl_control_plane/models/pipelinefunctiontrimtimestamp.py @@ -14,14 +14,14 @@ class PipelineFunctionTrimTimestampID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always trim_timestamp""" TRIM_TIMESTAMP = "trim_timestamp" class PipelineFunctionTrimTimestampTypedDict(TypedDict): id: PipelineFunctionTrimTimestampID - r"""Function ID""" + r"""Identifier of the Function. Always trim_timestamp""" conf: FunctionConfSchemaTrimTimestampTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -37,7 +37,7 @@ class PipelineFunctionTrimTimestampTypedDict(TypedDict): class PipelineFunctionTrimTimestamp(BaseModel): id: PipelineFunctionTrimTimestampID - r"""Function ID""" + r"""Identifier of the Function. Always trim_timestamp""" conf: FunctionConfSchemaTrimTimestamp diff --git a/src/cribl_control_plane/models/pipelinefunctionunion.py b/src/cribl_control_plane/models/pipelinefunctionunion.py index fcf3bed80..d4b4f6546 100644 --- a/src/cribl_control_plane/models/pipelinefunctionunion.py +++ b/src/cribl_control_plane/models/pipelinefunctionunion.py @@ -10,7 +10,7 @@ class PipelineFunctionUnionID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always union""" UNION = "union" @@ -32,7 +32,7 @@ class UnionConfiguration(BaseModel): class PipelineFunctionUnionTypedDict(TypedDict): id: PipelineFunctionUnionID - r"""Function ID""" + r"""Identifier of the Function. Always union""" conf: UnionConfigurationTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -48,7 +48,7 @@ class PipelineFunctionUnionTypedDict(TypedDict): class PipelineFunctionUnion(BaseModel): id: PipelineFunctionUnionID - r"""Function ID""" + r"""Identifier of the Function. Always union""" conf: UnionConfiguration diff --git a/src/cribl_control_plane/models/pipelinefunctionunroll.py b/src/cribl_control_plane/models/pipelinefunctionunroll.py index d895f83c4..18e211487 100644 --- a/src/cribl_control_plane/models/pipelinefunctionunroll.py +++ b/src/cribl_control_plane/models/pipelinefunctionunroll.py @@ -10,7 +10,7 @@ class PipelineFunctionUnrollID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always unroll""" UNROLL = "unroll" @@ -32,7 +32,7 @@ class PipelineFunctionUnrollConf(BaseModel): class PipelineFunctionUnrollTypedDict(TypedDict): id: PipelineFunctionUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always unroll""" conf: PipelineFunctionUnrollConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -48,7 +48,7 @@ class PipelineFunctionUnrollTypedDict(TypedDict): class PipelineFunctionUnroll(BaseModel): id: PipelineFunctionUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always unroll""" conf: PipelineFunctionUnrollConf diff --git a/src/cribl_control_plane/models/pipelinefunctionwindow.py b/src/cribl_control_plane/models/pipelinefunctionwindow.py index 4108c232a..7b4f9c027 100644 --- a/src/cribl_control_plane/models/pipelinefunctionwindow.py +++ b/src/cribl_control_plane/models/pipelinefunctionwindow.py @@ -10,7 +10,7 @@ class PipelineFunctionWindowID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always window""" WINDOW = "window" @@ -64,7 +64,7 @@ def serialize_model(self, handler): class PipelineFunctionWindowTypedDict(TypedDict): id: PipelineFunctionWindowID - r"""Function ID""" + r"""Identifier of the Function. Always window""" conf: PipelineFunctionWindowConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -80,7 +80,7 @@ class PipelineFunctionWindowTypedDict(TypedDict): class PipelineFunctionWindow(BaseModel): id: PipelineFunctionWindowID - r"""Function ID""" + r"""Identifier of the Function. Always window""" conf: PipelineFunctionWindowConf diff --git a/src/cribl_control_plane/models/pipelinefunctionxmlunroll.py b/src/cribl_control_plane/models/pipelinefunctionxmlunroll.py index 4b23ebce5..6a4a6f193 100644 --- a/src/cribl_control_plane/models/pipelinefunctionxmlunroll.py +++ b/src/cribl_control_plane/models/pipelinefunctionxmlunroll.py @@ -10,7 +10,7 @@ class PipelineFunctionXMLUnrollID(str, Enum): - r"""Function ID""" + r"""Identifier of the Function. Always xml_unroll""" XML_UNROLL = "xml_unroll" @@ -60,7 +60,7 @@ def serialize_model(self, handler): class PipelineFunctionXMLUnrollTypedDict(TypedDict): id: PipelineFunctionXMLUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always xml_unroll""" conf: PipelineFunctionXMLUnrollConfTypedDict filter_: NotRequired[str] r"""Filter that selects data to be fed through this Function""" @@ -76,7 +76,7 @@ class PipelineFunctionXMLUnrollTypedDict(TypedDict): class PipelineFunctionXMLUnroll(BaseModel): id: PipelineFunctionXMLUnrollID - r"""Function ID""" + r"""Identifier of the Function. Always xml_unroll""" conf: PipelineFunctionXMLUnrollConf diff --git a/src/cribl_control_plane/models/pqtype.py b/src/cribl_control_plane/models/pqtype.py index c06acaf8f..4e92cd7d8 100644 --- a/src/cribl_control_plane/models/pqtype.py +++ b/src/cribl_control_plane/models/pqtype.py @@ -12,11 +12,11 @@ class PqTypePqControlsTypedDict(TypedDict): - pass + r"""Management controls for the persistent queue.""" class PqTypePqControls(BaseModel): - pass + r"""Management controls for the persistent queue.""" class PqTypeTypedDict(TypedDict): @@ -37,6 +37,7 @@ class PqTypeTypedDict(TypedDict): compress: NotRequired[CompressionOptionsPq] r"""Codec to use to compress the persisted data""" pq_controls: NotRequired[PqTypePqControlsTypedDict] + r"""Management controls for the persistent queue.""" class PqType(BaseModel): @@ -73,6 +74,7 @@ class PqType(BaseModel): pq_controls: Annotated[ Optional[PqTypePqControls], pydantic.Field(alias="pqControls") ] = None + r"""Management controls for the persistent queue.""" @field_serializer("mode") def serialize_mode(self, value): diff --git a/src/cribl_control_plane/models/tagstypepackinstallinfo.py b/src/cribl_control_plane/models/tagstypepackinstallinfo.py index 940873a31..b64f92afc 100644 --- a/src/cribl_control_plane/models/tagstypepackinstallinfo.py +++ b/src/cribl_control_plane/models/tagstypepackinstallinfo.py @@ -9,20 +9,32 @@ class TagsTypePackInstallInfoTypedDict(TypedDict): + r"""Categorization tags for the Pack.""" + data_type: NotRequired[List[str]] + r"""List of data type tags for the Pack.""" domain: NotRequired[List[str]] + r"""List of domain tags for the Pack.""" streamtags: NotRequired[List[str]] + r"""List of stream tags for routing and filtering.""" technology: NotRequired[List[str]] + r"""List of technology tags for the Pack.""" class TagsTypePackInstallInfo(BaseModel): + r"""Categorization tags for the Pack.""" + data_type: Annotated[Optional[List[str]], pydantic.Field(alias="dataType")] = None + r"""List of data type tags for the Pack.""" domain: Optional[List[str]] = None + r"""List of domain tags for the Pack.""" streamtags: Optional[List[str]] = None + r"""List of stream tags for routing and filtering.""" technology: Optional[List[str]] = None + r"""List of technology tags for the Pack.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/cribl_control_plane/models/tlssettingsserversidetype.py b/src/cribl_control_plane/models/tlssettingsserversidetype.py index 45fb67c99..99f87f94e 100644 --- a/src/cribl_control_plane/models/tlssettingsserversidetype.py +++ b/src/cribl_control_plane/models/tlssettingsserversidetype.py @@ -13,6 +13,7 @@ class TLSSettingsServerSideTypeTypedDict(TypedDict): disabled: NotRequired[bool] + r"""If true, TLS is disabled on this connection.""" request_cert: NotRequired[bool] r"""Require clients to present their certificates. Used to perform client authentication using SSL certs.""" reject_unauthorized: NotRequired[bool] @@ -35,6 +36,7 @@ class TLSSettingsServerSideTypeTypedDict(TypedDict): class TLSSettingsServerSideType(BaseModel): disabled: Optional[bool] = None + r"""If true, TLS is disabled on this connection.""" request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = None r"""Require clients to present their certificates. Used to perform client authentication using SSL certs.""" diff --git a/src/cribl_control_plane/models/updatepacksbyidop.py b/src/cribl_control_plane/models/updatepacksbyidop.py index 1f479860b..5ea9d59b8 100644 --- a/src/cribl_control_plane/models/updatepacksbyidop.py +++ b/src/cribl_control_plane/models/updatepacksbyidop.py @@ -9,7 +9,7 @@ class UpdatePacksByIDRequestTypedDict(TypedDict): id: str - r"""The id of the Pack to upgrade.""" + r"""The id of the Pack to upgrade. Use the id field from the list response.""" pack_upgrade_request: PackUpgradeRequestTypedDict r"""PackUpgradeRequest object.""" @@ -18,7 +18,7 @@ class UpdatePacksByIDRequest(BaseModel): id: Annotated[ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) ] - r"""The id of the Pack to upgrade.""" + r"""The id of the Pack to upgrade. Use the id field from the list response.""" pack_upgrade_request: Annotated[ PackUpgradeRequest, diff --git a/src/cribl_control_plane/models/updateroutesbyidop.py b/src/cribl_control_plane/models/updateroutesbyidop.py index ca8e1e02c..0c9f32985 100644 --- a/src/cribl_control_plane/models/updateroutesbyidop.py +++ b/src/cribl_control_plane/models/updateroutesbyidop.py @@ -10,7 +10,7 @@ class UpdateRoutesByIDRequestTypedDict(TypedDict): id_param: str - r"""The id of the Routing table that contains the Route to update. The supported value is default.""" + r"""The id of the Routing table to update. The supported value is default.""" routes_input: RoutesInputTypedDict r"""RoutesInput object.""" @@ -21,7 +21,7 @@ class UpdateRoutesByIDRequest(BaseModel): pydantic.Field(alias="id"), FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), ] - r"""The id of the Routing table that contains the Route to update. The supported value is default.""" + r"""The id of the Routing table to update. The supported value is default.""" routes_input: Annotated[ RoutesInput, diff --git a/src/cribl_control_plane/models/updateroutesbypackandidop.py b/src/cribl_control_plane/models/updateroutesbypackandidop.py index 39f2bdf9a..23dac400a 100644 --- a/src/cribl_control_plane/models/updateroutesbypackandidop.py +++ b/src/cribl_control_plane/models/updateroutesbypackandidop.py @@ -10,7 +10,7 @@ class UpdateRoutesByPackAndIDRequestTypedDict(TypedDict): id_param: str - r"""The id of the Routing table that contains the Route to update. The supported value is default.""" + r"""The id of the Routing table to update. The supported value is default.""" pack: str r"""The id of the Pack.""" routes_input: RoutesInputTypedDict @@ -23,7 +23,7 @@ class UpdateRoutesByPackAndIDRequest(BaseModel): pydantic.Field(alias="id"), FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), ] - r"""The id of the Routing table that contains the Route to update. The supported value is default.""" + r"""The id of the Routing table to update. The supported value is default.""" pack: Annotated[ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) diff --git a/src/cribl_control_plane/models/uploadpackresponse.py b/src/cribl_control_plane/models/uploadpackresponse.py index 16b3bdc62..0889109ae 100644 --- a/src/cribl_control_plane/models/uploadpackresponse.py +++ b/src/cribl_control_plane/models/uploadpackresponse.py @@ -7,7 +7,9 @@ class UploadPackResponseTypedDict(TypedDict): source: str + r"""Unique staging source identifier for the uploaded Pack file. Pass this value as the source parameter in a subsequent POST /packs request to install the Pack.""" class UploadPackResponse(BaseModel): source: str + r"""Unique staging source identifier for the uploaded Pack file. Pass this value as the source parameter in a subsequent POST /packs request to install the Pack.""" diff --git a/src/cribl_control_plane/packs.py b/src/cribl_control_plane/packs.py index e80547cb6..2997812bb 100644 --- a/src/cribl_control_plane/packs.py +++ b/src/cribl_control_plane/packs.py @@ -53,7 +53,7 @@ def install( ) -> models.CountedPackInstallInfo: r"""Install a Pack - Install a Pack.

To install an uploaded Pack, provide the source value from the PUT /packs response as the source parameter in the request body.

To install a Pack by importing from a URL, provide the direct URL location of the .crbl file for the Pack as the source parameter in the request body.

To install a Pack by importing from a Git repository, provide git+ as the source parameter in the request body.

If you do not include the source parameter in the request body, an empty Pack is created. + Install a Pack.

To install an uploaded Pack, provide the source value from the PUT /packs response as the source parameter in the request body.

To install a Pack by importing from a URL, provide the direct URL location of the .crbl file for the Pack as the source parameter in the request body.

To install a Pack by importing from a Git repository, provide git+<repo-url> as the source parameter in the request body.

If you do not include the source parameter in the request body, an empty Pack is created. :param request: The request object to send. :param retries: Override the default retry configuration for this method @@ -153,7 +153,7 @@ async def install_async( ) -> models.CountedPackInstallInfo: r"""Install a Pack - Install a Pack.

To install an uploaded Pack, provide the source value from the PUT /packs response as the source parameter in the request body.

To install a Pack by importing from a URL, provide the direct URL location of the .crbl file for the Pack as the source parameter in the request body.

To install a Pack by importing from a Git repository, provide git+ as the source parameter in the request body.

If you do not include the source parameter in the request body, an empty Pack is created. + Install a Pack.

To install an uploaded Pack, provide the source value from the PUT /packs response as the source parameter in the request body.

To install a Pack by importing from a URL, provide the direct URL location of the .crbl file for the Pack as the source parameter in the request body.

To install a Pack by importing from a Git repository, provide git+<repo-url> as the source parameter in the request body.

If you do not include the source parameter in the request body, an empty Pack is created. :param request: The request object to send. :param retries: Override the default retry configuration for this method @@ -253,7 +253,7 @@ def list( Get a list of all Packs. - :param with_: Comma-separated list of additional properties to include in the response. When set, the response includes a count of the specified properties in the Pack. Available values are inputs and outputs. + :param with_: Comma-separated list of additional properties to include in the response. When set, the response includes a count of each specified property in each Pack. Supported values: inputs, outputs, collectors. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -348,7 +348,7 @@ async def list_async( Get a list of all Packs. - :param with_: Comma-separated list of additional properties to include in the response. When set, the response includes a count of the specified properties in the Pack. Available values are inputs and outputs. + :param with_: Comma-separated list of additional properties to include in the response. When set, the response includes a count of each specified property in each Pack. Supported values: inputs, outputs, collectors. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -653,7 +653,7 @@ def get( Get the specified Pack. - :param id: The id of the Pack to get. + :param id: The id of the Pack to get. Use the id field from the list response. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -748,7 +748,7 @@ async def get_async( Get the specified Pack. - :param id: The id of the Pack to get. + :param id: The id of the Pack to get. Use the id field from the list response. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -836,7 +836,7 @@ def update( id: str, source: str, allow_custom_functions: Optional[bool] = None, - minor: Optional[str] = None, + minor: Optional[bool] = None, spec: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -847,11 +847,11 @@ def update( Upgrade the specified Pack.

If the Pack includes any user-modified versions of default Cribl Knowledge resources such as lookups, copy the modified files locally for safekeeping before upgrading the Pack. Copy the modified files back to the upgraded Pack after you install it with POST /packs to overwrite the default versions in the Pack.

After you upgrade the Pack, update any Routes, Pipelines, Sources, and Destinations that use the previous Pack version so that they reference the upgraded Pack. - :param id: The id of the Pack to upgrade. - :param source: - :param allow_custom_functions: - :param minor: - :param spec: + :param id: The id of the Pack to upgrade. Use the id field from the list response. + :param source: Source of the upgraded Pack. Use the source value returned by PUT /packs for an uploaded file, or provide a direct URL to a .crbl file or a git+<repo-url> Git repository URL. + :param allow_custom_functions: If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions. + :param minor: If true, allow the upgrade to install a minor (non-breaking) version. Otherwise, false. + :param spec: Semver range constraint to apply when resolving the Pack version to install. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -952,7 +952,7 @@ async def update_async( id: str, source: str, allow_custom_functions: Optional[bool] = None, - minor: Optional[str] = None, + minor: Optional[bool] = None, spec: Optional[str] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -963,11 +963,11 @@ async def update_async( Upgrade the specified Pack.

If the Pack includes any user-modified versions of default Cribl Knowledge resources such as lookups, copy the modified files locally for safekeeping before upgrading the Pack. Copy the modified files back to the upgraded Pack after you install it with POST /packs to overwrite the default versions in the Pack.

After you upgrade the Pack, update any Routes, Pipelines, Sources, and Destinations that use the previous Pack version so that they reference the upgraded Pack. - :param id: The id of the Pack to upgrade. - :param source: - :param allow_custom_functions: - :param minor: - :param spec: + :param id: The id of the Pack to upgrade. Use the id field from the list response. + :param source: Source of the upgraded Pack. Use the source value returned by PUT /packs for an uploaded file, or provide a direct URL to a .crbl file or a git+<repo-url> Git repository URL. + :param allow_custom_functions: If true or omitted, allow the Pack to use custom JavaScript functions. If false, reject Packs that use custom JavaScript functions. + :param minor: If true, allow the upgrade to install a minor (non-breaking) version. Otherwise, false. + :param spec: Semver range constraint to apply when resolving the Pack version to install. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1075,7 +1075,7 @@ def delete( Uninstall the specified Pack. - :param id: The id of the Pack to uninstall. + :param id: The id of the Pack to uninstall. Use the id field from the list response. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1170,7 +1170,7 @@ async def delete_async( Uninstall the specified Pack. - :param id: The id of the Pack to uninstall. + :param id: The id of the Pack to uninstall. Use the id field from the list response. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds diff --git a/src/cribl_control_plane/packs_destinations.py b/src/cribl_control_plane/packs_destinations.py index 962a0cb78..11107caac 100644 --- a/src/cribl_control_plane/packs_destinations.py +++ b/src/cribl_control_plane/packs_destinations.py @@ -331,7 +331,7 @@ def create( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["409", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -441,7 +441,7 @@ async def create_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["409", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -741,7 +741,7 @@ def update( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -845,7 +845,7 @@ async def update_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -943,7 +943,7 @@ def delete( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "409", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -1041,7 +1041,7 @@ async def delete_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "409", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): diff --git a/src/cribl_control_plane/packs_routes.py b/src/cribl_control_plane/packs_routes.py index e1dbbe473..abd684938 100644 --- a/src/cribl_control_plane/packs_routes.py +++ b/src/cribl_control_plane/packs_routes.py @@ -289,7 +289,7 @@ def get( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -387,7 +387,7 @@ async def get_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -419,11 +419,11 @@ def update( timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, ) -> models.CountedRoutes: - r"""Update a Route within a Pack + r"""Update a Routing table within a Pack - Update the specified Route within the specified Pack.

Provide a complete representation of the Routing table, including the Route that you want to update, in the request body.

This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. + Update the specified Routing table within the specified Pack.

Provide a complete representation of the Routing table that you want to update in the request body.

This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. - :param id_param: The id of the Routing table that contains the Route to update. The supported value is default. + :param id_param: The id of the Routing table to update. The supported value is default. :param pack: The id of the Pack. :param id: Unique identifier for the Routing table. The supported value is default. :param routes: Array of Route configurations that define how events are processed and routed. @@ -516,7 +516,7 @@ def update( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, ["400", "4XX"], "*"): + if utils.match_response(http_res, ["400", "404", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -548,11 +548,11 @@ async def update_async( timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, ) -> models.CountedRoutes: - r"""Update a Route within a Pack + r"""Update a Routing table within a Pack - Update the specified Route within the specified Pack.

Provide a complete representation of the Routing table, including the Route that you want to update, in the request body.

This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. + Update the specified Routing table within the specified Pack.

Provide a complete representation of the Routing table that you want to update in the request body.

This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. - :param id_param: The id of the Routing table that contains the Route to update. The supported value is default. + :param id_param: The id of the Routing table to update. The supported value is default. :param pack: The id of the Pack. :param id: Unique identifier for the Routing table. The supported value is default. :param routes: Array of Route configurations that define how events are processed and routed. @@ -645,7 +645,7 @@ async def update_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, ["400", "4XX"], "*"): + if utils.match_response(http_res, ["400", "404", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -753,7 +753,7 @@ def append( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["400", "404", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -861,7 +861,7 @@ async def append_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["400", "404", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): diff --git a/src/cribl_control_plane/routes_sdk.py b/src/cribl_control_plane/routes_sdk.py index 54db9db67..ad5ce7a7d 100644 --- a/src/cribl_control_plane/routes_sdk.py +++ b/src/cribl_control_plane/routes_sdk.py @@ -274,7 +274,7 @@ def get( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -369,7 +369,7 @@ async def get_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["404", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -400,11 +400,11 @@ def update( timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, ) -> models.CountedRoutes: - r"""Update a Route + r"""Update a Routing table - Update a Route in the specified Routing table.

\1 This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. + Update the specified Routing table.

Provide a complete representation of the Routing table that you want to update in the request body.

This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. - :param id_param: The id of the Routing table that contains the Route to update. The supported value is default. + :param id_param: The id of the Routing table to update. The supported value is default. :param id: Unique identifier for the Routing table. The supported value is default. :param routes: Array of Route configurations that define how events are processed and routed. :param comments: Array of user-provided comments that describe or annotate Routes. @@ -495,7 +495,7 @@ def update( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, ["400", "4XX"], "*"): + if utils.match_response(http_res, ["400", "404", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -526,11 +526,11 @@ async def update_async( timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, ) -> models.CountedRoutes: - r"""Update a Route + r"""Update a Routing table - Update a Route in the specified Routing table.

\1 This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. + Update the specified Routing table.

Provide a complete representation of the Routing table that you want to update in the request body.

This endpoint does not support partial updates. Cribl removes any omitted fields when updating the Routing table.

Confirm that the configuration in your request body is correct before sending the request. If the configuration is incorrect, the updated Routing table might not function as expected.

Cribl also removes any omitted Routes when updating the Routing table. - :param id_param: The id of the Routing table that contains the Route to update. The supported value is default. + :param id_param: The id of the Routing table to update. The supported value is default. :param id: Unique identifier for the Routing table. The supported value is default. :param routes: Array of Route configurations that define how events are processed and routed. :param comments: Array of user-provided comments that describe or annotate Routes. @@ -621,7 +621,7 @@ async def update_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, ["400", "4XX"], "*"): + if utils.match_response(http_res, ["400", "404", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -726,7 +726,7 @@ def append( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["400", "404", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): @@ -831,7 +831,7 @@ async def append_async( if utils.match_response(http_res, "500", "application/json"): response_data = unmarshal_json_response(errors.ErrorData, http_res) raise errors.Error(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): + if utils.match_response(http_res, ["400", "404", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.APIError("API error occurred", http_res, http_res_text) if utils.match_response(http_res, "5XX", "*"): diff --git a/src/cribl_control_plane/utils/retries.py b/src/cribl_control_plane/utils/retries.py index af07d4e94..ca7b59efe 100644 --- a/src/cribl_control_plane/utils/retries.py +++ b/src/cribl_control_plane/utils/retries.py @@ -11,10 +11,13 @@ class BackoffStrategy: + """Exponential backoff strategy configuration.""" + initial_interval: int max_interval: int exponent: float max_elapsed_time: int + jitter_ms: Optional[int] def __init__( self, @@ -22,24 +25,63 @@ def __init__( max_interval: int, exponent: float, max_elapsed_time: int, + jitter_ms: Optional[int] = None, ): + """Initialize a backoff strategy. + + Args: + initial_interval: Initial retry interval in milliseconds. + max_interval: Maximum retry interval in milliseconds. + exponent: Base of the exponential backoff; the interval grows as + ``initial_interval * exponent ** retries``. + max_elapsed_time: Maximum total elapsed time in milliseconds. + jitter_ms: Additive jitter bound in milliseconds. When set, adds a random + value in ``[0, jitter_ms]`` to each computed backoff interval (default + ``+[0, 1s]``). + + Note: + When a response carries a ``Retry-After`` or ``retry-after-ms`` header, + that delay is used as-is and the sleep-shaping parameters + (``initial_interval``, ``max_interval``, ``exponent``, ``jitter_ms``) are + ignored for that attempt. + """ + if jitter_ms is not None and jitter_ms < 0: + raise ValueError("jitter_ms must be >= 0") self.initial_interval = initial_interval self.max_interval = max_interval self.exponent = exponent self.max_elapsed_time = max_elapsed_time + self.jitter_ms = jitter_ms class RetryConfig: + """Runtime retry configuration.""" + strategy: str backoff: BackoffStrategy retry_connection_errors: bool + status_codes_override: Optional[List[str]] def __init__( - self, strategy: str, backoff: BackoffStrategy, retry_connection_errors: bool + self, + strategy: str, + backoff: BackoffStrategy, + retry_connection_errors: bool, + status_codes_override: Optional[List[str]] = None, ): + """Initialize a retry configuration. + + Args: + strategy: Retry strategy: ``"none"`` or ``"backoff"``. + backoff: Backoff parameters. + retry_connection_errors: Whether to also retry transport-level connection errors. + status_codes_override: Retryable HTTP status codes that take precedence over the + per-operation defaults when non-empty. + """ self.strategy = strategy self.backoff = backoff self.retry_connection_errors = retry_connection_errors + self.status_codes_override = status_codes_override class Retries: @@ -48,7 +90,7 @@ class Retries: def __init__(self, config: RetryConfig, status_codes: List[str]): self.config = config - self.status_codes = status_codes + self.status_codes = config.status_codes_override or status_codes class TemporaryError(Exception): @@ -93,12 +135,28 @@ def _parse_retry_after_header(response: httpx.Response) -> Optional[int]: return None +def _parse_retry_after_ms_header(response: httpx.Response) -> Optional[int]: + retry_after_ms_header = response.headers.get("retry-after-ms") + if not retry_after_ms_header: + return None + + try: + milliseconds = float(retry_after_ms_header) + if milliseconds >= 0: + return round(milliseconds) + except (OverflowError, ValueError): + pass + + return None + + def _get_sleep_interval( exception: Exception, initial_interval: int, max_interval: int, exponent: float, retries: int, + jitter_ms: Optional[int] = None, ) -> float: """Get sleep interval for retry with exponential backoff. @@ -108,6 +166,7 @@ def _get_sleep_interval( max_interval: Maximum retry interval in milliseconds. exponent: Base for exponential backoff calculation. retries: Current retry attempt count. + jitter_ms: Additive jitter bound in ms; see ``BackoffStrategy.jitter_ms``. Returns: Sleep interval in seconds. @@ -119,7 +178,11 @@ def _get_sleep_interval( ): return exception.retry_after / 1000 - sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1) + sleep = (initial_interval / 1000) * exponent**retries + if jitter_ms is not None: + sleep += random.uniform(0, jitter_ms / 1000) + else: + sleep += random.uniform(0, 1) return min(sleep, max_interval / 1000) @@ -162,6 +225,7 @@ def do_request() -> httpx.Response: retries.config.backoff.max_interval, retries.config.backoff.exponent, retries.config.backoff.max_elapsed_time, + retries.config.backoff.jitter_ms, ) return func() @@ -206,6 +270,7 @@ async def do_request() -> httpx.Response: retries.config.backoff.max_interval, retries.config.backoff.exponent, retries.config.backoff.max_elapsed_time, + retries.config.backoff.jitter_ms, ) return await func() @@ -217,6 +282,7 @@ def retry_with_backoff( max_interval=60000, exponent=1.5, max_elapsed_time=3600000, + jitter_ms=None, ): start = round(time.time() * 1000) retries = 0 @@ -234,8 +300,17 @@ def retry_with_backoff( raise + if isinstance(exception, TemporaryError): + retry_after_ms = _parse_retry_after_ms_header(exception.response) + if retry_after_ms is not None: + exception.retry_after = retry_after_ms sleep = _get_sleep_interval( - exception, initial_interval, max_interval, exponent, retries + exception, + initial_interval, + max_interval, + exponent, + retries, + jitter_ms=jitter_ms, ) time.sleep(sleep) retries += 1 @@ -247,6 +322,7 @@ async def retry_with_backoff_async( max_interval=60000, exponent=1.5, max_elapsed_time=3600000, + jitter_ms=None, ): start = round(time.time() * 1000) retries = 0 @@ -264,8 +340,17 @@ async def retry_with_backoff_async( raise + if isinstance(exception, TemporaryError): + retry_after_ms = _parse_retry_after_ms_header(exception.response) + if retry_after_ms is not None: + exception.retry_after = retry_after_ms sleep = _get_sleep_interval( - exception, initial_interval, max_interval, exponent, retries + exception, + initial_interval, + max_interval, + exponent, + retries, + jitter_ms=jitter_ms, ) await asyncio.sleep(sleep) retries += 1 From 772214751eec340c91b6a7d4ebbd0702fedb4073 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 06:19:58 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow